[CHWARAE CERDDORIAETH] [CERDDORIAETH - Rossini, "RANZ DES VACHES "O WILLIAM TELL] [CERDDORIAETH - THE BEAT SAESNEG, "MAWRTH Y PENAETHIAID troi "] [Cymeradwyaeth ac yn bloeddio] DAVID Malan: Felly mae hyn yn CS50. Fy enw i yw David Malan. A 73% o nad oes gennych unrhyw brofiad blaenorol gyda gwyddoniaeth gyfrifiadurol, yn groes i'r hyn y byddech yn ei feddwl. Felly heddiw rydym yn meddwl y byddem yn sglodion i ffwrdd ar y diffyg cynefindra, ond hefyd rhoi ymdeimlad i chi, ar gyfer y rhai ohonoch gyda mwy o gysur, a chyfarwyddiadau gallwch fynd semester hwn. Felly, gadewch i ni ddechrau gyda'r hyn. Fi 'n sylweddol yn cael unrhyw syniad beth sydd tu mewn cyfrifiadur, hyd yn oed os, fel chi, yr wyf yn ei ddefnyddio bob dydd. Ond mae'n rhyw fath o flwch, ac mae nid yw llawer o fewnbwn i mewn iddo. Cyn lleied â phosibl, mae, beth? Yn ôl pob tebyg yn llinyn y pŵer. Ac yn wir gyda hyn un cynhwysyn, trydan, rydym yn ymddangos i fod yn gallu gwneud cryn dipyn y dyddiau hyn. Ond ar ddiwedd y dydd, rydym yn rhaid i gynrychioli'r pethau ein bod yn gofalu amdanynt. Mae'n rhaid i ni gynrychioli gwybodaeth ar ryw ffurf. Ac rydych yn ôl pob tebyg o leiaf yn fras gyfarwydd â'r syniad drwy deuaidd neu darnau rywsut neu'i gilydd, cyfrifiaduron gostwng i sero a rhai. Ond gallwn gynnwys hynny ac o leiaf roi ychydig o olau i hynny? Felly, yr wyf yn cael hyn yn fach lampau desg yma. Mae gen i siop drydanol yma. Ac yr wyf i'n mynd i gynnig y tu mewn o fy nghyfrifiadur yn o leiaf un o'r pethau hyn, rhywbeth sy'n gallu o gael eu troi ymlaen neu i ffwrdd. Yn yr achos hwn, mae'n wir yn lamp desg, ond ar y lefel is, mae'n rhywbeth a elwir yn transistor. Ond yn ein byd, ei fod yn lamp desg, felly Rydw i'n mynd i fynd yn ei flaen ac yn plwg hwn i mewn i fy drydan yma. Ac yr wyf yn honni bod defnyddio hwn syml, dyfais syml, mae hyn yn newid syml, yr wyf yn gallu cynrychioli gwybodaeth. Er enghraifft, ar hyn o bryd, yr wyf yn cynrychioli dim, dde? Rwy'n cynrychioli yr hyn y byddaf yn galw 0 neu ffug, y gwrthwyneb o rywbeth mewn gwirionedd fod yn bresennol. Ond os wyf yn syml yn troi newid hwn, yn awr yr wyf wedi cynrychioli 1. Felly ddefnyddio'r darn syml iawn o cof, os mynnwch, gallaf gynrychioli gwybodaeth. Nawr yn anffodus, fy nghyfrifiadur ni all wneud popeth a llawer. Gall ond yn cynrychioli dau werth yn y byd i gyd - 0 neu 1. Ond beth yn ateb amlwg, yn awr, os ydym am ehangu ein cyfrifiadur cof ac cynrychioli mwy na dim ond 0 ac 1? Wel, gadewch i ni cydio bit arall o'r fath. Gadewch i chrafangia newid arall, un arall transistor, fodd bynnag, yr hoffech i meddwl am y peth. Gadewch i mi fynd yn ei flaen ac yn plwg hwn i mewn i fy cyfrifiadur yn ogystal. Ac yr wyf i'n mynd i wneud cais, yn awr, erbyn gan ddefnyddio ychydig mwy o drydan a troi mwy o switsys hyn ymlaen ac ffwrdd, gallaf gynrychioli mwy o'r fath gwybodaeth. Felly, ar hyn o bryd, mae hyn yn 1. Os ydw i eisiau i gynrychioli nawr 2, gallwn wneud hyn. Ond fel arfer, confensiwn, fel y gallwn eich gweld yn y pen draw, bydd yn rhaid i mi wneud hyn. Felly, mae hyn yn 0, mae hyn yn 1. Byddai hyn yn 2. Ac nid yw'n syndod, byddai hyn yn 3. Felly, yn y modd hwn, yn dal, gall rydym yn cyfrif fyny hyd yn oed ymhellach? Os byddaf yn cael trydydd ychydig, trydydd newid, beth yw'r nifer uchaf gallaf nawr yn cyfrif hyd at o 0? Felly 7 os ydw i'n dechrau ar 0, dde? Oherwydd os wyf yn troi goleuni hwn a mewn gwirionedd yn plwg y trydydd a therfynol olau i mewn i fy soced trydanol yma, yna yr wyf yn cael y gallu i gynrychioli unrhyw un o ddau werth yma, dau werth yma, dau werth yma - ac felly gall yr wyf yn cynrychioli 2 waith 2 gwaith 2, neu wyth o werthoedd posibl. Ac os byddaf yn dechrau cyfrifyddu ar 0, felly dyna 0, 1, 2, 3, 4, 5, 6, 7. Felly deuaidd hwn. Mae mor syml â hynny. A byddwn yn dadlau bod hyn mewn gwirionedd yn eithaf gyfarwydd i'r rhan fwyaf o pawb yn yr ystafell hon. Gadewch i mi fynd yn ei flaen ac agor ychydig golygydd testun yma. Ac efallai y byddwch yn cofio yr ysgol radd bod gennym pethau fel y cannoedd lle, y lle degau, a lleoliad y rhai. A dwyn i gof, os ydych wedi cael rhywfaint o degol nifer, fel rhywbeth ar hap fel 123, na fyddech yn ei hanfod ysgrifennwch y nodir ar y ffurflen o'r tair colofn. A pham yw 1, 2, 3 beth rydym yn gwybod yn 123? Wel, yn y golofn ar y chwith, rydym wedi un 100 a dau 10au, felly dyna 120, ynghyd â thri 1s, felly dyna 123. Nawr y byd hwn yr ydym newydd ei goleuo yn union yr un fath â'r ydych wedi bod yn gyfarwydd â ers blynyddoedd, ac eithrio hyn, mae ein colofnau nid ydynt yn bwerau o 10. Maent yn unig bwerau 2. Felly, tra bod yn y lle rhai, mae hyn yn yn mynd i fod y lle fesul dau, mae hyn yn mynd i fod yn y lle pedwar. Ac am fy mod yn unig gan ddefnyddio'r symlaf o fecanweithiau i droi pethau ar ac oddi ar - trydan yn llifo neu heb drydan yn llifo - Nid wyf yn hollol yr un mynegiannol amrywiaeth fel 0 drwy naw. Rydym yn mynd i gadw ei super syml yn y byd o gyfrifiaduron. Mai dim ond 0 neu 1 - i ffwrdd neu ar, ffug neu yn wir. Ac felly yr hyn yr wyf i'n cynrychioli ar hyn o bryd yw 1, 1, 1, gan fod pob un o'r rhain goleuadau yn cael ei oleuo. Wel, mae hynny'n rhoi i mi un 4 ac un 2, felly dyna 6, ac un 1, a dyna 7. Ac ergo gwneud dilyniant hwn o dri darnau yn cynrychioli nifer 7. Felly yr holl amser hwn, tu mewn i'ch cyfrifiadurol, wedi bod unrhyw nifer o transistors, unrhyw nifer o ddarnau. Ond ar ddiwedd y dydd, rydym yn gallu cynrychioli gwybodaeth mor syml â hynny. Nawr yn anffodus, rydym wedi unig y cyfrifir hyd at 7 yn CS50 hyd yn hyn, ond gobeithio y gallwn ni wneud ychydig yn well na hynny. Ac yn wir y gallwn. Tybiwch ein bod ni fel bodau dynol yn unig penderfynu fympwyol ein bod yn mynd i gysylltu rhifau fel 1 a 2, 3, 4, 5, 6, 7, gyda llythrennau penodol o yr wyddor. Ac am resymau hanesyddol, yr wyf i'n mynd i cychwyn braidd yn fympwyol, ond rwy'n mynd i ddweud, bodau dynol, rydym yn mynd i penderfynu fel safon, yn fyd-eang, y 65 cynrychioli nifer y llythyr A. 66 yn cynrychioli B. Dot, dot, dot. Bydd 90 cynrychioli'r Z. llythyr A gadewch i ni dybio, os ydym yn wir yn rhoi rhywfaint o meddwl i mewn iddo, gallem ddod i fyny gyda rhifau ar gyfer pwyntiau ebychnod a lythrennau bach, ac yn wir, pobl eraill wedi gwneud hynny i ni. Felly, erbyn hyn rydym wedi cael darnau gyda y gallwn gynrychioli rhifau, rhifau y mae gallwn gynrychioli llythyrau, a chyda llythyrau gallwn yn awr yn dechrau cyfansoddi negeseuon e-bost a chymeriadau argraffu ar y sgrin. Felly, gadewch i mi wahodd, os gallwn, wyth o wirfoddolwyr dewr - nad ydynt yn meddwl ymddangos nid yn unig yn ar gamera ond ar y rhyngrwyd - i ddod i fyny yma ac yn cynrychioli wyth o'r fath darnau, yn hytrach na'r rhain tri. Felly, beth am un, dau? Beth am dri? Beth am bedwar yng ngoleuni glas, pump ar y diwedd? Am rywun dros yma? Chwech o flaen, saith o flaen, ac wyth o flaen, yn ogystal. Felly, Fi jyst digwydd hyd i ddod barod gyda criw cyfan o slipiau o bapur. Ac ar y darnau hyn o bapur niferoedd sy'n cynrychioli pa colofnau rydych guys yn mynd i gynrychioli. Felly, byddwch yn - beth yw eich enw? MYFYRIWR: Anna Leah. DAVID Malan: Anna Leah, yr ydych yn fydd y golofn 128s. Ydych chi? MYFYRWYR: Chris. DAVID Malan: Chris yn yn y golofn 64s. Ydych chi? MYFYRWYR: Dan. DAVID Malan: Dan bydd yn y golofn 32s. MYFYRWYR: Pramit. DAVID Malan: Pramit yn yn y golofn 16 oed. MYFYRWYR: Lillian. DAVID Malan: bydd Lillian yn 8 oed. MYFYRWYR: Jill. DAVID Malan: Jill yn yn y golofn 4s. MYFYRWYR: Mary. DAVID Malan: Bydd Mary yn y 2s, a? MYFYRWYR: David. DAVID Malan: David yn yn y golofn 1s. Felly, pe gallech gamu guys ychydig ymlaen fel y gall pawb weld. Yr hyn nad ydych guys yn gweld yw bod ar y gefn y slipiau hyn o bapur yn ychydig taflen twyllo sydd ar fin cyfarwyddo yr wyth darnau naill ai godi eu llaw neu beidio godi eu llaw. Os yw eu llaw yn mynd i fyny, maent yn cynrychioli 1. Os yw eu llaw yn aros i lawr, eu bod yn cynrychioli 0. Yn y cyfamser, dylem y gynulleidfa yn yn gallu chyfrif i maes, yn seiliedig ar y mapio, pa dri-lythyr gair hyn Folks ar fin i sillafu allan. Felly, mewn dim ond hyn o bryd, rydych yn mynd i darllen y llinell gyntaf oddi ar gefn eich taflen twyllo, ac rydych naill ai mynd i godi neu beidio chodi eich llaw. Os ydych yn 1, yr ydych yn codi, os rydych yn 0, rydych yn sefyll yno lletchwith, yn union fel 'na. Go. Pa rif, yn gyntaf ac yn bennaf, yn cael eu guys hyn gynrychioli? 66. 66, dde? Mae gennym 1 yn y golofn 64s, o 1 yn y golofn 2s. Mae hynny'n rhoi 66 i mi, fel sy'n ymddangos ei fod yn cynrychioli'r B. Felly, rydych guys wedi sillafu - Iawn, mae hynny'n ddigon. B. Felly nawr gadewch i ni symud ymlaen i ein hail lythyr. Go. Pwy sydd gyflymaf yn y cwestiwn yma? Felly 79. Unwaith eto, os byddwn yn ychwanegu at yr holl o'r colofnau lle mae 'na 1, ar hyn o bryd, dim ond fel y gwnaethom o'r blaen gyda'r symlaf o enghreifftiau o 7, rydym yn awr yn gael y rhif 79. Sydd yn ôl ein mapiau yw'r lythyr O. Felly rydym yn bron yno. B, O. Ac yn olaf, ewch. Beth maen nhw'n ei gynrychioli nawr? Llai o gonsensws. Dyna dim ond murmur absoliwt. Ydy, mae'n mewn gwirionedd 87. Da. Felly, os ydym yn awr mapio bod yn ôl i - gadewch i ni dechrau ffonio ein siart ASCII, America Cod Safonol ar gyfer Cyfnewidfa Gwybodaeth. Mae hynny'n rhoi llythyr i ni - Nid yw "bo" ond "bwa." Ac mae hynny'n berffaith ciw i chi guys i gymryd bwa ac ewch ar y cefn. Diolch yn fawr iawn. [Cymeradwyaeth] DAVID Malan: Gallwch eu cadw. Er mewn gwirionedd, byddai unrhyw un fel lamp desg, hefyd? [Hoot O'R GYNULLEIDFA] DAVID Malan: lamp Desg? [Chwerthin] DAVID Malan: Really? Lampau desg ar gyfer pawb? Mae pob hawl. Felly, gan ddechrau gyda'r mwyaf syml iawn egwyddorion, rydym wedi awr nid yn unig y cyfrifir i fyny o 0 yr holl ffordd hyd at 7, rydym wedi cymryd yn ganiataol mai dim ond drwy daflu mwy ddarnau neu fwy o oleuadau neu fwy transistors ar y broblem hon, gallwn cynrychioli rhifau fwy ac yn fwy, a ergo, yn amrywio fwy ac yn fwy o wyddor, fel Saesneg. A dim ond gadewch i ni ar ffydd ar gyfer heddiw sydd yr un modd gallem ddechrau cynrychioli graffeg a fideo ac unrhyw nifer o gyfryngau eraill yr ydym ni'n â hwy cyfarwydd heddiw. Felly, mae hyn yn CS50, ac yn y dosbarth ochr yn ochr ydych chi, unwaith eto, mae llawer iawn o cyd-ddisgyblion sy'n cael cyn lleied profiad â chi. Ac yr wyf yn sôn am hyn yn unig oherwydd yn eithaf yn aml, gan gynnwys mor ddiweddar fel un o y freshman cynghori digwyddiadau ac ar sophomore gwanwyn diwethaf cynghori digwyddiad, rydym yn aml yn clywed fyfyrwyr ymwadu wrth ddod i fyny at y bwrdd CS, yn dda, Rydw i wedi bod yn meddwl am gymryd y dosbarth intro, ond dydw i ddim mewn gwirionedd yn person cyfrifiadur. Neu, ond mae pawb yn sicr yn gwybod mwy na fi. Ac yr wyf yn rhoi hyn yn y ffont mwyaf bosibl, i gyfleu neges hwn y nid yw hynny'n wir yn yr achos. Ac os ydych yn meddwl, dylai Yr wyf fi, mewn gwirionedd, fod yma? Yn sylweddoli nid yn unig bod y cwrs hwn yn Teitl Cyflwyniad i Cyfrifiadur Gwyddoniaeth, mae'n Cyflwyniad i Cyfrifiadur Gwyddoniaeth I. Felly, yn wir, ail gyflwyniad o'r fath. Felly, nad ydych yn, mewn gwirionedd, yn y lle anghywir. Ac ymhlith y nodau yr wyf wedi gyfer heddiw yn i leddfu unrhyw bryderon o'r fath i chi gallai fod, ond hefyd i beintio darlun o'r hyn sydd ar y gweill ar gyfer myfyrwyr llai ac yn fwy cyfforddus fel ei gilydd yn y cwrs hwn. Ond yn gyntaf, gair ar un o'r taflenni gennych heddiw, ymhlith y Mae nifer o gwestiynau cyffredin. Mae wedi bod yn weledigaeth o ni am beth amser awr i gyflwyno graddio newydd dewis i mewn i'r cwrs - sef, SADWRN / UNSAT. Athronyddol i mi, mae'n llawer llawer, llawer mwy pwysig bod y myfyrwyr yn y dosbarth hwn yn ymgysylltu â'r deunydd, yn cael eu herio gan y deunydd, ac yn poeni llawer, llawer llai am mecaneg sgoriau gwirioneddol graddau a llythyr yn semester diwedd, ond wir gofleidio'r cwrs ac ei ddeunydd. Ac yn wir mae hyn yn teimlo, yn fwy cyffredinol, ar gyfer yr hyn sy'n ddiddorol iddyn nhw, i teimlo herio a'i wobrwyo, ond heb ofni methu. Ac yn wir, mae hyn hefyd yn gylchol thema yn hyn ac eraill rhagarweiniol cyrsiau mewn meysydd eraill, eich bod wedi anesmwythder hwn pan ddaw i rhoi bysedd traed un yn dyfroedd anghyfarwydd. Yr wyf fy hun, yn ôl yn 1995, oedd yn freshman. Roeddwn yn canolbwyntio'n fawr iawn ar fod a crynodyddion Gov yma. Ac eto roeddwn bob amser yn tyfu i fyny gydag ychydig o ddiddordeb mewn gwyddoniaeth gyfrifiadurol. Yr wyf yn chwilfrydig bob amser. Ond yn ôl hynny, hyd yn oed, cefais ofn hwn o hyd yn oed gamu droed yn CS50, cymaint fel nad oeddwn hyd yn oed yn siopa ei blwyddyn freshman. A'r unig reswm yr wyf yn rhoi troed yn y flwyddyn sophomore drws oedd fy mod yn yn caniatáu i fynd ag ef pasio / methu. Ond hyd yn oed yn pasio / methu ofynnol fy mod yn cael hyd y nerf i wneud apwyntiad gyda'r Athro Kernehan ar y pryd, dod â'r ddalen fawr o bapur, a gofyn iddo am ei lofnod a'i caniatâd i archwilio dyfroedd anghyfarwydd hyn. Ac nid yw wedi helpu yn ystod y blynyddoedd diwethaf bod wrth wneud hyn yn CS50, pan fyddwn yn arfer bod yn pasio / methu, byddai modd dwsinau neu gannoedd o eich cyd-ddisgyblion rhaid i ddod i fyny, Duw a'n gwaredo, yn y blaen Sanders gyda'r ffurflen hon, y mewn rhai meddyliau cynrychioli anallu, Dare i mi ddweud, i berfformio yn wastad eich cyfoedion '. Pa yn chwerthinllyd, ond yr wyf yn meddwl mae y meddylfryd. Ac mae wedi bod erioed yn y diwylliant hwn y TAS / UNSAT, neu pasio / methu mwy yn gyffredinol, yn y cwrs hwn, neu, mewn gwirionedd ar y campws hwn. Felly, eleni rydym wedi newid hynny. Byddwn yn hanner ecstatig o y dosbarth hwn neu fwy a ddaeth i ben i fyny gymryd CS50 SADWRN / UNSAT. Ymhen blwyddyn, byddai'n wych os bron pawb. Wedi hynny efallai y byddwn yn gweithio ar raddau llythyr yn Harvard Coleg yn fwy cyffredinol. Ond am nawr, byddwn yn gwneud hyn o fewn ein maes eu hunain, a byddwn yn galonnog eich annog i adolygu hynny ac Cwestiynau Cyffredin ofyn cwestiynau fel y gwelwch yn dda, fel y gobeithio i chi, yn wahanol i mi, fydd ddim yn hollol yn cael yr un ffactor ofn pan archwilio beth sydd yn ôl pob tebyg lle anghyfarwydd. Felly, beth yw CS50? Mae'n gyflwyniad i mentrau deallusol o gyfrifiadur gwyddoniaeth a'r gelfyddyd o raglenni. Ond beth mae hynny'n ei olygu mewn gwirionedd? Wel, hyd yn hyn, buom yn siarad yn fyr iawn am gynrychioli gwybodaeth. Ond debyg ei bod yn eisiau mewn gwirionedd i wneud rhywbeth yn ei gylch. Mae angen i gyflwyno'r syniad o yr hyn y byddwn yn galw algorithm. Mae algorithm yn weithdrefn, proses, set o gyfarwyddiadau ar gyfer gwneud rhywbeth. A gall algorithm fod yn rhywbeth syml super. Er enghraifft, yn enghraifft y mae rhai o efallai y byddwch yn gyfarwydd yw hyn beth yma. Felly dyma y llyfr hwn yn dod yn fwyfwy dyddio, ond unwaith ar y tro, mae'n yn cynnwys llawer iawn o enwau a rhifau ffôn. Ac yn wir, os oeddwn i eisiau dod o hyd i rhywun yn y llyfr ffôn - dweud, rhywun a enwir Mike Smith - Gallwn i ddod o hyd i Mike Smith mewn nifer o ffyrdd weddol syml. Gallwn ddechrau ar ddechrau a symud ymlaen i dudalen 1, nid oes. Page 2, nid oes. Page 3. A yw hynny'n algorithm, yw bod broses, yn gywir? Felly, mae'n gywir, dde? Rwy'n fath o idiot i wneud yn y modd hwnnw, ond yn y pen draw byddaf yn ddod o hyd i'r cyfenw S, a, gobeithio, Mike yn yr adran honno, a byddaf yn dod yn wneud gyda fy algorithm. Ond yn sicr nid yw'n 'n athrylithgar. Mae'r rhan fwyaf o pob bod dynol rhesymol yn hyn o Ni fyddai ystafell wedi gwneud hynny. Beth fyddech chi wedi ei wneud? Byddech wedi mynd yn syth at y canol, dde? Yn fras i'r canol. A ydych yn sylweddoli, oh, y rhain yw'r Ms Felly, Mike Smith, enw olaf yn Smith, Nid yw, yn amlwg, yna yn y chwith hanner y llyfr. Rhaid iddo fod tuag at y S sydd yn y dde. Ac ar hyn o bryd, er bod y rhan fwyaf ohonom nid ydynt yn gwneud hyn mewn gwirionedd, gallwn rhwygo llythrennol y broblem hon yn ei hanner. [Bloeddio a chymeradwyaeth] DAVID Malan: Diolch yn fawr. [Bloeddio a chymeradwyaeth] DAVID Malan: Gallwch llythrennol rhwygo hwn problem yn ei hanner, gan adael i mi, llythrennol, hanner problem mor fawr. Felly, os yw hyn yn llyfr ffôn yn - ac mae'n debyg ei fod - tua 1,000 o dudalennau, yn awr dim ond 500. Os byddaf yn gwneud hyn eto ac yr wyf yn sylweddoli, oh, damn, yr wyf yn mynd yn rhy bell, Im 'yn y Telerau adran hon, gallaf yn yr un modd - ffigurol neu'n llythrennol - RIP y llyfr ffôn - yr oedd mewn gwirionedd yn llawer haws y pryd. Gallaf llythrennol RIP y llyfr ffôn yn ei hanner, gan adael i mi yn awr gyda Nid yw 1,000, nid 500 - 250 o dudalennau. Ac yr wyf yn gallu mynd 125, a hanner hynny, ac hanner o hynny, a hanner hynny, nes o'r diwedd byddaf yn gadael gyda dim ond un dudalen sengl. [Chwerthin] DAVID Malan: Dyna'r rhan I methu ar. Un dudalen sengl y Mike gobeithio y mae. Nawr gall rhai gwahanol algorithmau yn fath o asesu neu ei gwerthuso yn ffordd wahanol. Mae'r un cyntaf yn llinellol iawn, dde? Trowch dudalen, chwiliwch am Mike. Trowch dudalen, chwiliwch am Mike. Mae'n llinellol iawn. Os oes un dudalen yn fwy yn y ffôn llyfr, mae'n fwy na thebyg yn mynd i fynd â mi un yn fwy yn ail, o amser un uned fwy, Fodd bynnag, rydym yn cyfrifiaduro amser. Felly, efallai y byddwn yn tynnu fel hyn y llinell hon yma, lle fel maint y cynnydd problem o'r chwith i'r dde - llyfr ffôn yn cael llai i fwy - ac amser yn mynd i gynyddu ar yr echelin fertigol, y mwyaf y llyfr ffôn. Felly, n yn unig newidyn cyffredinol gwyddonwyr cyfrifiadurol yn eu defnyddio i gynrychioli rhywfaint o werth, mae rhai rhif. Felly, n yn mynd i gynyddu llinol. Dyblu maint y llyfr ffôn, mae'n mynd i fynd â mi dwywaith gymaint amser, yn fwyaf tebygol, er mwyn dod o hyd i Mike. Nawr gallwn fod wedi bod yn smart am hyn, dde? Oeddwn yn cael diflasu yn gyflym. Allai fod wedi gwneud hyn drwy deuoedd. Felly dwy dudalen, ac yna bedair, yna chwe mis, ac yna wyth. A gallwn ddechrau hedfan trwy ei fod yn ychydig yn gyflymach, er ar fân berygl o mynd y tu hwnt Mike, ond nid yw'r gromlin yn mynd i fod yn bob un sy'n wahanol. Mae'n dal yn mynd i fod yn syth llinell, ond ychydig yn gyflymach. Ond yr hyn wnes i ei wneud? Fi 'n weithredol yn gwneud rhywbeth well o'u hanfod. I gyflawni hyn byddwn yn galw logarithmig amser, log o n, lle wyrdd hwn lein Mae llawer, llawer, llawer ymyl llai syth iddo. Ac yn hytrach, mae'n awgrymu, gan ei fod yn datrys y dulliau anfeidredd erioed mor raddol, y gallwn mewn gwirionedd yn cymryd a-tudalen 1,000 llyfr ffôn, dyblu ei faint y flwyddyn nesaf - oherwydd mae'n debyg llawer mwy o bobl yn symud i mewn i'r dref. Felly, yn awr yr wyf wedi cael 2,000 o dudalennau, ond sut llawer mwy o gamau yw bod callach algorithm mynd i gymryd? Dim ond un. Yr wyf yn golygu, mae hynny'n beth pwerus. Os ydym yn mynd i 4,000 o dudalennau y flwyddyn nesaf, hynny'n mynd i fynd â mi dim ond dau camau mwy. Felly, gallwch chi daflu fwy ac yn fwy problemau yn y mi, nid yn wahanol i'r we yn taflu problemau fwy ac yn fwy bob dydd am Googles a Facebooks o y byd, ac nid yw'n mor bwysig â hynny. Gan fy mod yn rhoi mwy o feddwl a gofal i fy algorithm â hwy i ddatrys problemau yn effeithlon. Ac yn wir, bydd hynny'n un o nodau'r cwrs hwn. Byddwch, ar hyd y ffordd, dysgu sut i raglennu. Byddwch yn dysgu sut i raglennu mewn unrhyw nifer o ieithoedd. Ond ar ddiwedd y dydd, mae'r cwrs yn ati i ddatrys problemau a chael yn well am ddatrys problemau - ac, fel yn achosion fel hyn, datrys problemau yn fwy effeithlon. Nawr hyd yn hyn, rydym wedi gwneud hyn weddol reddfol. Gadewch i ni gyflwyno rhywbeth yn deg enw generig pseudocode. Felly, byddwn yn y pen draw, yn y cwrs hwn, i gwahanol ieithoedd rhaglennu. Ond heddiw byddwn yn gwneud hynny yn Saesneg-fel cystrawen, ble 'ch jyst fath o ddweud beth ydych yn ei olygu, ond rydych yn erioed mor Nid gryno ac rydych yn poeni am gramadeg a brawddegau cyflawn. Rydych yn unig yn mynegi eich hun fel gryno ag y bo modd. Felly pseudocode yn Saesneg-fel gystrawen sy'n cynrychioli iaith raglennu. A thuag at y diben hwnnw, gadewch i mi yn cynnig y rydym yn awr yn modelu'r broses rydym yn unig ddisgrifir o gyfrif rhywbeth ychydig yn yn wahanol, y tro hwn yn cymryd edrych ar y fideo pum munud a gynhyrchwyd gan ein ffrindiau yn TED bod diffinio'r hyn pseudocode yw, diffinio beth meddwl algorithmig yw, a hyd yn oed er bod yr enghraifft yr ydych chi ar fin i weld yw, yn ei hun, super syml, mae'n mynd i ddechrau rhoi i ni y meddwl model, geirfa, er mwyn iddynt wneud llawer, llawer mwy cymhleth algorithmau yn eithaf cyflym. [DECHRAU chwarae fideo] [CHWARAE CERDDORIAETH] Adroddwr: Beth 'an algorithm? Mewn gwyddoniaeth gyfrifiadurol, algorithm yn set o gyfarwyddiadau ar gyfer datrys rhai problem cam wrth gam. Yn nodweddiadol, algorithmau yn cael eu gweithredu gan gyfrifiaduron, ond mae gan fodau dynol algorithmau, yn ogystal. Er enghraifft, sut y byddech yn mynd am gyfrif y nifer o bobl mewn ystafell? Wel, os ydych chi fel fi, byddech yn ôl pob tebyg pwynt ar bob person, un ar y tro, ac yn cyfrif hyd o 0. 1, 2, 3, 4, ac yn y blaen. Wel, mae hynny'n algorithm. Yn wir, gadewch i ni geisio mynegi ei fod yn ychydig yn fwy ffurfiol yn pseudocode - Cystrawen Saesneg-fel sy'n debyg iaith raglennu. Gadewch N 0 cyfartal. Ar gyfer pob person yn yr ystafell, yn gosod N hafal i N plws 1. Sut i ddehongli pseudocode hwn? Wel, llinell un yn datgan, fel petai, newidyn a elwir N ac initializes ei werth i 0. Mae hyn yn unig yn golygu bod ar ddechrau ein algorithm, y peth y mae rydym yn cyfrif mae gwerth o 0. Wedi'r cyfan, cyn i ni ddechrau cyfrif, nid ydym wedi cyfrif unrhyw beth eto. Galw hon N amrywiol yn unig yw confensiwn. Gallwn fod wedi galw fwyaf unrhyw beth. Nawr llinell dau demarks ddechrau ddolen, cyfres o gamau a fydd yn ailadrodd rhai nifer o weithiau. Felly, yn ein enghraifft, y cam yr ydym yn cymryd yn cyfrif i bobl yn yr ystafell. O dan linell dau yw llinell tri, sy'n disgrifio yn union sut y byddwn yn mynd ati i gyfrif. Mae'r mewnoliad yn awgrymu ei fod yn tri lein a fydd yn ailadrodd. Felly, yr hyn y mae'r pseudocode ei ddweud yn bod ar ôl dechrau ar 0, ar gyfer pob person yn yr ystafell, byddwn ni cynyddu N o 1. Nawr yw'r algorithm hyn yn gywir? Wel, gadewch i rygnu arno ychydig. Ydy hyn yn gweithio os oes dau o bobl yn yr ystafell? Gadewch i ni weld. Yn llinell gyntaf, yr ydym yn ymgychwyn N i 0. Ar gyfer pob un o'r ddau berson, yna rydym gynyddran N erbyn 1. Felly, ar y daith gyntaf trwy'r dolen, rydym yn diweddaru N o 0 i 1. Ar yr ail daith drwy yr un dolen, rydym yn diweddaru N 1-2. Ac felly erbyn diwedd y algorithm yn, n yw 2, yn wir yn cyfateb i nifer y bobl yn yr ystafell. Hyd yn hyn, felly da. Beth am achos cornel, er bod? Gadewch i ni dybio bod 0 o bobl yn yr ystafell - ar wahân i mi, pwy sy'n gwneud y cyfrif. Yn llinell gyntaf, yr ydym yn ymgychwyn N i 0. Y tro hwn, fodd bynnag, nid llinell tri yn weithredu o gwbl gan nad oes person yn yr ystafell. Ac felly N parhau 0, sy'n cyd-fynd â'r nifer y bobl yn yr ystafell. Pretty syml, dde? Ond yn cyfrif pobl un ar y tro yn eithaf aneffeithlon, hefyd, na? Yn sicr gallwn wneud yn well. Beth am gyfrif yn ddau o bobl ar y tro? Yn hytrach na cyfrif 1, 2, 3, 4, 5, 6, 7, 8, ac yn y blaen, beth am gyfrif, 2, 4, 6, 8, ac yn y blaen? Mae hyd yn oed yn swnio'n gynt, ac mae'n sicr y mae. Gadewch i ni yn mynegi optimization hwn yn pseudocode. Gadewch N 0 cyfartal. Ar gyfer pob pâr o bobl yn yr ystafell, gosod N gyfartal i N a 2. Newid yn eithaf syml, dde? Yn hytrach na chyfrif phobl un ar y tro, yn lle hynny rydym yn cyfrif eu dau ar y tro. Mae'r algorithm yn felly ddwywaith mor gyflym ag yr olaf. Ond a yw'n gywir? Gadewch i ni weld. Ydy hyn yn gweithio os oes dau o bobl yn yr ystafell? Yn llinell gyntaf, yr ydym yn ymgychwyn N i 0. Am y un pâr o bobl, yna rydym cynyddiad N gan ddau. Ac felly erbyn diwedd y algorithm yn, N yw 2, yn wir yn cyfateb i nifer y bobl yn yr ystafell. Gadewch i ni dybio nesaf fod 0 o bobl yn yr ystafell. Yn llinell gyntaf, yr ydym yn ymgychwyn N i 0. Fel o'r blaen, nid yw llinell tri yn gweithredu o gwbl, gan nad oes unrhyw barau o bobl yn yr ystafell. Ac felly N parhau 0, sydd yn wir cyfateb i nifer y bobl yn yr ystafell. Ond beth os oes tri bobl yn yr ystafell? Sut mae hyn yn pris algorithm? Gadewch i ni weld. Yn llinell gyntaf, yr ydym yn ymgychwyn N i 0. Am bâr o bobl hynny, yna rydym cynyddiad N erbyn 2. Ond yna beth? Nid oes pâr llawn arall o bobl yn yr ystafell, felly llinell dau dim bellach yn berthnasol. Ac felly erbyn diwedd y algorithm yn, N yn dal i 2, nad yw'n gywir. Yn wir, wedi dweud algorithm hwn yn bygi, oherwydd mae ganddo camgymeriad. Dewch iawn gyda rhai pseudocode newydd. Gadewch n 0 cyfartal i bob pâr o bobl yn yr ystafell. Gosod N gyfartal i N a 2. Os yw un person yn parhau i fod heb eu paru, gosod N hafal i N plws 1. I ddatrys y broblem benodol, rydym wedi cyflwyno, yn unol pedwar, a cyflwr, a elwir fel arall fel cangen mai dim ond executes os oes un person nad ydym allai pâr ag un arall. Ac felly yn awr, a oes un neu dri neu unrhyw nifer od o bobl yn yr ystafell, algorithm hwn yn awr y bydd yn eu cyfrif. Allwn ni wneud hyd yn oed yn well? Wel, gallem cyfrif mewn 3s neu 4s neu hyd yn oed 5 a 10, ond tu hwnt i hynny, mae'n mynd i gael ychydig anodd ei bwynt. Ar ddiwedd y dydd, p'un a gweithredu gan gyfrifiaduron neu bobl, algorithmau yn unig set cyfarwyddiadau gyda i ddatrys problemau. Roedd y rhain yn dim ond tri. Pa broblem y byddech yn datrys gyda algorithm? [VIDEO END Playback] DAVID Malan: Dyna'r unig dro Byddaf yn ymddangos ar ffurf cartŵn. Ond os yw'r stori yn gadael i ffwrdd, yn awr, yn cael ei sut y gallwn wneud yn well? Trioedd a pedwar, ni hawlio, gallwn ddibynnu pobl yn llawer cyflymach, ond gallwn wneud yn y bôn yn well na hynny? Ac yr wyf yn Wager y gallwn. Os byddwn yn cyflwyno ychydig o ein hunain pseudocode yma, dw i'n mynd i gynnig y gallwn gyflawni llinell fel hyn. Nid ydym yn mynd i gyfrif pobl un, dau, tri, pedwar. Nid ydym yn mynd i fynd dau, pedwar, chwech, wyth. Rydym yn mynd i wneud yn well sylfaenol drwy ailystyried y broblem, ac yn hyn o achos, leveraging sydd fel arall danddefnyddio adnoddau. Mewn dim ond hyn o bryd, yr wyf yn gobeithio y byddwch yn maddau a hiwmor ni drwy sefyll i fyny yn lle, a phryd rydym yn mynd i gofyn i bob un ohonoch i gymryd yn eich meddyliau y rhif 1. Rydych yn wedyn yn mynd i fwyfwy lletchwith, gan fod amser yn mynd heibio, dod o hyd i rhywun arall sy'n sefyll, cyfuno eich rhifau at ei gilydd drwy ychwanegu i fyny. Un ohonoch wedyn yn mynd i rasio i eistedd i lawr yn gyntaf, a'r person arall yn mynd i ailadrodd. Felly, mewn geiriau eraill, drwy hadu holl chi gyda'r rhif 1, ac yna cyfuno rhai 1s i 2s a 2s hynny i 4, gyda phawb yn gynyddol eistedd i lawr, dylem, ar ddiwedd y algorithm hwn, dim ond un benthyciad enaid nad oedd yn eistedd i lawr yn ddigon cyflym, ond sydd â'r cynulleidfaoedd gyfan cyfrif yn ei feddwl. Felly, yn mynd os byddech chi, gadewch i ymlaen a - cam un - yn sefyll i fyny yn ei le. A gweithredu. [DYRFA grwgnach] DAVID Malan: A ydych yn gwybod lle mae Lauren yn? 729? [DYRFA grwgnach] DAVID Malan: Pob hawl? [DYRFA grwgnach] DAVID Malan: pob hawl, dylem yn agosáu at y diwedd. Rydym yn gweld un cyd-sefyll yma o hyd. Pwy sydd angen arall i fod yn paru? Os ydych guys eisiau paru i ffwrdd. Rhywun i fyny top. Pam nad ydw i'n roi help llaw yma. Ar gyfer yr ychydig iawn o bobl sy'n dal sefydlog, pa rifau ydych gael yn eich meddwl? MYFYRWYR: 78. DAVID Malan: 78 plws - pwy sy'n sefyll i lawr yma? MYFYRWYR: 39. DAVID Malan: Plus 39. Byd pwy arall sy'n dal i sefyll? 81? OK, pwy arall? 81 arall? Wow. Ac yna yr hyn sydd yn ôl? MYFYRWYR: 49. DAVID Malan: 49, yn ogystal? MYFYRWYR: 98. DAVID Malan: 98 plws? A yw hynny'n rhywun arall? 12? Gwaith da. [Chwerthin] DAVID Malan: O, 112 - oh. Gwaith da! [Chwerthin] [Cymeradwyaeth] DAVID Malan: Unrhyw un arall yn dal i sefyll? Mae'n ddrwg gennym? MYFYRWYR: 99. DAVID Malan: 99. Unrhyw un arall yn dal i sefyll? A chyfanswm nifer y myfyrwyr yma mewn gwirionedd, yn ôl - oes gennych chi rif? O, mae'r nifer gwirioneddol o bobl yn y ystafell, yn ôl y cyfrif sy'n y cymrodyr addysgu yn ei wneud ar ffordd y mae pawb yn, oedd 729. Felly, allan o roomful o fyfyrwyr Harvard oedd yn cyfrif eu hunain, y ateb yw 637. [Chwerthin] DAVID Malan: Mor agos. Ond yn dal. Iawn, felly dyna addysgu hyn o bryd, dde? Mae hyn yn awr yw hyn yr ydym yn disgrifio fel a bug. Rhywle ar hyd y ffordd, rydym yn gwneud peth rhifyddeg anghywir, neu rywun eistedd i lawr, neu ei adael, neu aeth rhywbeth o'i le. Ond mae hynny'n iawn. Oherwydd hyd yn oed o hyd, rydym yn got eithaf agos. A byddwn yn dadlau ein bod yn cyrraedd y anghywir ateb llawer cyflymach nag y byddwn wedi defnyddio fy ymagwedd fwy llinol. Felly, gadewch i ni gymryd yn ganiataol yn wir, rydym yn cael y gywir, ond mae ei feddwl yn awr am yr hyn oedd yn digwydd bob tro, yn erbyn fy algorithm pwyntio naïf eu hunain. Un, dau, tri. Os oes wir 729 neu 637 o bobl yma, a fyddai wedi cymryd i mi llythrennol 637 neu 729 pointings y bys ac incrementing cyfanswm fy nghyfrif. A gallwn i wneud ychydig yn well gan fynd dau, pedwar, chwech, wyth, a dwbl y cyflymder hwnnw, efallai hyd yn oed triphlyg neu pedwarplyg, yn dibynnu pa mor dda y gallaf gwneud hynny gyfrif yn fy mhen. Ond y dull hwn yr ydych guys yn cymryd yn sylfaenol wahanol. Gan fod ar y dechrau, bob un ohonoch yn sefyll i fyny. Felly yr holl 729. Ac yna llythrennol hanner ohonoch chi eistedd i lawr. Ac ar ôl hynny, un arall hanner ohonoch eistedd i lawr. Ac ar ôl hynny, un arall hanner ohonoch eistedd i lawr. A chyfanswm y nifer o weithiau y byddwch Gallai guys wedi eistedd i lawr yn fras wyth neu naw neu ddeg o gyfanswm amser, yn dibynnu ar yr hyn y cyfanswm ein cyfrif yn. A gallwn ddatrys o wneud hyn y ffordd arall. Pe bai gennym 1,024 o bobl yn yr ystafell, y cyfanswm nifer o weithiau gallech haneru 1,024 o bobl yw 10. Nawr meddwl am y peth yn i'r cyfeiriad arall. Tybiwch, chwerthinllyd, a oedd gennym, yn dweud phedwar biliwn o bobl yn yr ystafell hon, neu ystafell ychydig yn fwy. Sawl gwaith y byddem wedi mynd trwy algorithm hwn, fel bod hanner y dosbarth yn eistedd i lawr? Dim ond yn mynd i gymryd 32 o'r fath gweithrediadau, hyd yn oed mewn dosbarth o faint phedwar biliwn o. Pam? Oherwydd phedwar biliwn o yn mynd i ddau biliwn, yn mynd i un miliwn, yn mynd i 500 miliwn, yn mynd i 250 miliwn, dot, dot, dot. Ni allaf ond wneud hynny adran rhyw 32 adegau, a phryd hynny, bawb ac eithrio byddai un person yn cael ei adael yn sefyll. A dyna, hefyd, yn fath o pwerus syniad bod yn gynyddol byddwn yn ceisio trosoledd yn y cwrs hwn, ac yn rhaglennu a gwyddoniaeth gyfrifiadurol mwy yn gyffredinol, germau hyn o syniad gyda y gallwn wedyn ddatrys problemau llawer, yn llawer mwy pwerus. Felly, rydym yn dechrau eithaf syml â hynny pseudocode a guy mewn ystafell, ond nawr gyda ystafell gyfan llawn o bobl rydym wedi ei wneud yn y bôn yn well. Wel, gadewch i ni yn awr symud o pseudocode i ryw cod gwirioneddol. Mae'r iaith rydych chi ar fin ei weld yn digwydd i gael ei alw JavaScript, a byddwn yn dychwelyd at hyn tuag at diwedd semester. Mae'n iaith raglennu yr ydych defnyddio i wneud gwefannau ac eraill o'r fath meddalwedd y dyddiau hyn. Ac rydym wedi ei ddefnyddio, diolch i ffrind o ni yn Stanford, i amgodio rhywfaint o wybodaeth gudd yma. Mae hyn yn y grefft o steganography, fel petai, lle gallwch guddio gwybodaeth yn yr hyn ymddangos fel arall yn fod sŵn neu yn gwbl wahanol ddelwedd yn gyfan gwbl. Ond gwreiddio yn y ddelwedd arbennig yn wir neges gudd o ryw fath. Felly, gadewch i mi fynd yn ei flaen ac yn tynnu i fyny yr un ddelwedd yma, mae hyn yn amser mewn porwr gwe. Ac yr wyf i'n mynd i chwifio fy llaw ar rai o'r fanylion ar gyfer heddiw, yn enwedig ar gyfer y rhai ohonoch sy'n edrych fel hyn nid yn unig JavaScript, ond Groeg, fel iaith anghyfarwydd yn gyfan gwbl. Ond mae hyn yn enghraifft o iaith raglennu. Ac ar hyn o bryd, yn cymryd ar ffydd y y llinell gyntaf o god - a thrwy cod, Fi jyst yn golygu testun. Testun y gallwn fod wedi ei deipio yn llythrennol i mewn i Microsoft Word, os cefais y feddalwedd gywir i yna gwneud rhywbeth yn ei gylch. Rhaglennu cod ffynhonnell, rhaglennu cod, mewn gwirionedd dim ond testun, ac mae'n yn edrych yn wahanol yn seiliedig ar pa iaith ydych yn ei ddefnyddio, nid yn wahanol i Saesneg a Sbaeneg a Rwsieg i gyd yn edrych yn wahanol pan fyddwch yn eu teipio ar eich bysellfwrdd. Felly mae hyn yn llinell gyntaf, ar hyn o bryd yn cymryd ar ffydd, yn syml yn agor graffig gan y rhyngrwyd, y graffeg swnllyd rydym yn unig yn gweld. Mae'r llinell nesaf yma yn enghraifft o ddolen, ac yr ydym mewn gwirionedd yn gweld bod yr un jargon yn y fideo TED. Mae dolen yn rhywbeth sy'n digwydd unwaith eto ac unwaith eto, ac er bod hyn yn edrych yn hollol cryptig, gyda'r keyword ar gyfer, a rhai cromfachau, a rhai hanner colon. Byddwn yn dod yn ôl at hynny cyn bo hir, ond y ddolen yno hanfod yn dweud wrth y rhaglen, ailadrodd dros yr holl o ddotiau swnllyd hynny, o'r chwith i'r dde, top i'r gwaelod. Oherwydd ar ddiwedd y dydd, delwedd fel hyn - a gallwch chi wneud mewn gwirionedd math o weld ar y taflunydd - mewn gwirionedd dim ond grid o ddotiau. Felly, gallwn adnabod pob un o'r dotiau hynny gan cydlynu, x, y, a gyda hyn rhaglen, yn awr gallwn ddechrau wneud rhywbeth i dotiau hynny. Felly, yr hyn yr wyf i'n mynd i fynd yn ei flaen yma ac wneud yw Rydw i'n mynd i wneud rhai newidiadau. Yn gyntaf yr wyf i'n mynd i fynd yn ei flaen a chael gwared hynny i gyd gwyrdd a glas sŵn, ac yr wyf i'n mynd i fynd yn ei flaen a theipiwch y canlynol cyfaddef cystrawen cryptig. im i gael delwedd. gosod glas yn y lleoliad x, coma, lleoliad y, i 0. Mewn geiriau eraill, yr wyf am i ddim ond trowch oddi ar yr holl glas dotiau yn y llun. Rydw i'n mynd i fynd yn ei flaen yn awr a chliciwch Run hwn / Achub botyma, a wnewch chi helpu sylwi ar yr ochr dde, y ddelwedd o ganlyniad yn ymddangos. Nawr ei wyrdd super, ond nid yw hynny'n syndod, oherwydd yr wyf yn llythrennol troi i ffwrdd, trwy wneud 1 a 0, pob un glas yn y llun. Wel, yn awr gadewch i ni wneud ychydig yn fwy. im i gael delwedd, dot setGreen, x, y. Ac mae hynny'n ei olygu yw ailadrodd o'r chwith i'r dde ac yna top i'r gwaelod. Trowch bod i ffwrdd gyda gwerth o 0, yn ogystal. Arbed. Ac ar y taflunydd, ni allwch mewn gwirionedd yn gweld unrhyw beth o gwbl. Ar fy sgrîn laptop, os byddaf yn edrych i mewn yn unig y ffordd iawn, gallaf weld ychydig o delwedd, oherwydd eu bod yn dal i fod rhywfaint o goch i mewn 'na. Os ydych chi wedi clywed erioed y acronym RGB - coch, gwyrdd, glas - mae'n cyfeirio at gyfansoddiad hwn o ddelwedd gan ddefnyddio dim ond y rhai tri lliw. Ac ar hyn o bryd, rydym wedi taflu i ffwrdd pob gwyrdd, i gyd las, ond Nid oes llawer o goch. Felly, gadewch i mi crank i fyny y coch. Sut alla i wneud hynny? Wel, yn gyntaf, yr wyf i'n mynd i ofyn y rhaglen hon cwestiwn. Rydw i'n mynd i fynd yn ei flaen a gadewch i ni alw yn amrywio, yn union fel mewn algebra. Gallwch gael x neu y neu z. Rydw i'n mynd i ddatgan newidyn ac yn dweud, eu rhoi yn y newidyn hwn, dros dro, gwerth y delweddau getRed werth ar x, y. Ac eto, byddwn yn dod yn ôl i bob y manylion hyn yn y dyfodol. Ond am nawr, dim ond yn cymryd ar ffydd y y llinell hon yn gofyn i'r rhaglen, beth yw gwerth coch yn x, y? Ar y dot penodol? Yna mi i'n mynd i wneud rhywbeth iddo. Yna mi i'n mynd i wneud delwedd dot set coch yn x, y, y, ond y tro hwn yr wyf i'n mynd i hwb iddo gan wneud amseroedd coch, gadewch i ni ddweud, 10. Felly ei gynyddu gan ffactor o 10. Gadewch i mi chwyddo allan yn awr ac Gallai cliciwch Rhedeg / Achub. Ac voila, a oedd yno y cyfan amser, er bod ein llygaid dynol Ni allai eithaf ei weld. Felly, unwaith eto, mae hyn yn awr yw cod go iawn, yn enghraifft o iaith y byddwn yn dod yn ôl i cyn bo hir. Ond yn sylweddoli, yn enwedig y rhai ohonoch heb unrhyw brofiad o'r fath, mae'n eithaf cyn bo hir y bydd gennym ein hunain yn cod ysgrifennu fel 'na yno. Yn wir, yn offeryn rydych y mae pob braidd yn gyfarwydd, efallai, yw CS50 yn offeryn cwrs-siopa eu hunain, a oedd yn hailgychwyn mewn gwirionedd yr haf hwn gan rai o gyn-fyfyrwyr CS50 ei hun, yn awr yn troi TFS. Felly, mae hyn yn digwydd i fod yn wefan a adeiladwyd mewn iaith o'r enw PHP. Mae'n defnyddio cronfa ddata o'r enw MySQL, pethau byddwn yn cael ein dwylo â hwy budr yn ddiweddarach yn y semester. Ond credwch neu beidio, hyd yn oed rhywbeth fel hyn yn y pen draw yn lleihau i'r symlaf o ddolenni ac amodau a canghennau, fel y rhai a gwelsom dim ond funud yn ôl yn y fideo TED. Hyn yr wyf yn meddwl y byddwn i'n ei wneud yn awr yw cyfrannau, nid oes dim ond rhywbeth yr ydym y staff wedi gwneud ar gyfer y campws, ond yn hytrach rhywbeth cyn-fyfyriwr - tair fyfyrwyr, mewn gwirionedd - gwneud y flwyddyn ddiwethaf, Sierra, Daniel, a Roedd Sam, yr olaf o'r rhain ddim blaenorol profiad Programing pan gymerodd CS50. Ac ar gyfer eu prosiect terfynol, maent yn arddangos, yn y CS50 Ffair, mae cais o'r enw wrdly, sy'n rhaglen ar y we ar gyfer y maent yn gwneud fideo hwn fy mod yn meddwl y byddwn i'n rhannu i yn rhoi ymdeimlad o union beth yw eich bosibl erbyn diwedd tymor. [CHWARAE CERDDORIAETH] DAVID Malan: Dyna o Zero Wythnos Wythnos 12 y flwyddyn ddiwethaf. [Cymeradwyaeth] DAVID Malan: Fel teaser, hefyd, mewn gwirionedd i godi blys arnoch yw beth sy'n bosibl, efallai eich bod wedi gweld yn barod, neu a allai weld yn fuan, market.cs50.net, a offeryn newydd sy'n tîm y cwrs wedi bod yn gweithio ar, y tro hwn yn cydweithrediad â Harvard Myfyrwyr Asiantaethau, fel bod gan ddechrau eleni ac yn parhau gobeithio i mewn i hyn yn dod yr haf bydd gennych safon cyfle ar y campws i brynu a gwerthu pethau sydd o ddiddordeb i chi. A chyda partneriaeth drwy HSA, byddwch yn hefyd yn gallu i ollwng eitemau i ffwrdd yn un o'r siopau corfforol HSA ar ryw adeg yn y dyfodol, er mwyn pethau ddirprwy, yn enwedig wrth i chi gradd ac nid ydynt o reidrwydd eisiau taflu pethau, ond mewn gwirionedd yn ei dalu ymlaen at Folks a allai dilyn chi yma ar y campws. Felly mwy am hynny i ddod. Ond ychydig yn fwy diriaethol, yn offeryn sydd wedi dod allan o'r CS50 yn ddiweddar blynedd, y mae efallai y bydd rhai ohonoch yn Efallai cyfarwydd ac eraill ohonoch yn googling nawr, yn CS50.net/2x, byddwch yn dod o hyd i ddolen i estyniad Chrome sy'n dangosol o sut y gallwch defnyddio JavaScript, yr un iaith a defnyddio gyda'r tŵr Eiffel funud yn ôl, i weithredu cyflymder chwarae 2x ar gyfer yr holl iSites fideos Harvard. Mae hyn yn rhywbeth sy'n cael ei hadeiladu i mewn i 'n fideo chwaraewr CS50 ei hun. Ond mae hyn, hefyd, os ydych yn dechrau gloddio i mewn i'r cod ffynhonnell, a gallwn eich hapus wneud ar gael, byddwch yn gweld sut y gallwch hyd yn oed ddatrys problemau fel 'na, cyflymu widgets mewn gwefannau gyda yr ydych chi eisoes yn gyfarwydd yn dda. Felly gair nawr ar y cwrs ac disgwyliadau a'r hyn sydd o'n blaenau. Yn gyffredinol, byddwn yn wir yn casglu yma ar ddydd Llun a dydd Mercher - er dydd Gwener yma, byddwn yn casglu oherwydd Wythnos Siopa - 1:00-14:00, er weithiau tan 2:30. O ystyried y gallai, felly, eich eisiau, neu rhaid i chi gymryd rhai dosbarth yn 14:00 ymlaen, neu hyd yn oed cyn, yn sylweddoli y cwrs yn gefnogol o'r hyn a elwir cofrestru ar y pryd, lle gallwn eich cefnogi deiseb i'r Bwrdd Ad a eich preswyl deoniaid ar eich rhan os gennych gwrthdaro rhywle yn y 1:00-02:30 range. Pennaeth i'r URL-lein ar gyfer manylion ychwanegol. Ond o ran y strwythur cefnogi sy'n nodweddu CS50, ar gyfer myfyrwyr mwy a llai cyfforddus fel ei gilydd, rydym yn cynnig llwybrau gwahanol adrannau. Ac mae hyn yn ychydig o wythnosau i ffwrdd, ond cyn bo hir, byddwch yn cael eich gofyn i lefel eich cysur. Ydych chi ymhlith y rhai llai cyfforddus, yn fwy cyfforddus, neu rhywle yn y canol? A bydd yn rhaid dair gwahanol traciau sy'n darparu ar gyfer union cynulleidfaoedd hynny. Felly, ar unrhyw bwynt yn y tymor dylech hyd yn oed yn teimlo fel eich bod yn cystadlu yn erbyn unrhyw fyfyriwr sydd â mwy o neu lai o gefndir na chi. Yn wir, mae'r cwrs yn cael ei olygu i fod yn llawer mwy cydweithredol a llawer yn fwy agored na hynny. O ran y broblem setiau, byddwch yn dod o hyd i, hefyd, yn ychwanegol at y argraffiad safonol problem bob wythnos gosod, mae yn aml yn "haciwr rhifyn "sydd i fod i gael eu targedu yn y 5% i 10% neu lai o'r demograffig pwy sydd wir ymhlith y rhai yn fwy cyfforddus ac os hoffech gael rhagor o her na'r safon rhifyn o'r pset disgwyl. Mwy o fanylion ar hynny fod dod o hyd yn y maes llafur. Ond hefyd yn gall gael manylion ar y cyrsiau diwrnod yn hwyr. Yn nodweddiadol problem yn gosod yn ddyledus ar ddydd Iau. Fodd bynnag, gallwch ymestyn llawer o'ch terfynau amser hyn yn disgyn o ddydd Iau i Dydd Gwener yn syml drwy gyfarfod â ni hanner ffordd, fel petai, gan ateb ychydig cynhesu cwestiynau yn rhai o problem yr wythnos setiau, bydd hynny yn awtomatig wedyn yn rhoi 24 awr ychwanegol i chi. Byddwn hefyd yn galw heibio eich isaf sgôr, yn unol â'r maes llafur. Er mwyn rhoi syniad o'r hyn y mae'r broblem setiau yn cael eu - oherwydd ei fod yn wir problem y cwrs yn gosod y yn y pen draw diffinio bron bob profiad myfyriwr, yn fwy felly nag darlithoedd, yn fwy felly nag adrannau, yn fwy felly na'r rhan fwyaf o unrhyw agwedd ar y cwrs. Y llynedd, er enghraifft, rydym yn dechrau, fel y byddwn yn cychwyn eleni, gyda Scratch. Yn arbennig dydd Gwener yma, byddwn yn defnyddio, ar gyfer un diwrnod o amser yn unig, a graffigol iaith raglennu, byddwn ni ag ef dechrau rhaglenni drwy lusgo a gollwng darnau pos mai dim ond cydosod yn gorfforol os yw'n gwneud synnwyr i wneud hynny yn rhesymegol. Yr wythnos nesaf, byddwn ni yn gyflym newid i C, gweddol hen, ond bach iawn ac yn iaith syml a fydd yn ein galluogi i wir yn mynd 0-60 yn ystod y cwrs dim ond ychydig wythnosau, ac yna parlay rhai yr un sgiliau a gwybodaeth cysyniadau rhaglennu sylfaenol i ieithoedd ar lefel uwch fel PHP, JavaScript, ac eto mae eraill yn dal i. Y llynedd, y trydydd pset yn y cwrs oedd o cryptograffeg, a gais parth-benodol lle rydym yn herio myfyrwyr i weithredu unrhyw rhaglenni nifer o dulliau cêl-ysgrifennu, y mae i sgrialu neu ddehongli gwybodaeth, i amgryptio iddo. Ar gyfer y rhifyn haciwr, ar y llaw arall, rhoesom ffeil y myfyrwyr haciwr o gyfrifiadur Unix safonol sy'n cynnwys enwau defnyddwyr a chyfrineiriau, yr olaf o'r rhain yn amgryptio, ac yr ydym yn herio rhai haciwr myfyrwyr i dadgryptio, hyd eithaf eu gallu, cyfrineiriau hynny, yn dal ar y yr un parth. Scramble, gêm y mae rhai ohonoch yn gyfarwydd, efallai. Darn fforensig, lle rydym yn gofyn i fyfyrwyr i adennill data a oedd wedi bod dileu fel arall o fy digidol ei hun cerdyn fflach compact camera, trwy mewn gwirionedd yn ysgrifennu meddalwedd i chyfrif i maes, lle'r oedd y sero a'r rhai yn y camera digidol yn flaenorol Cyfansoddodd graffig JPEG? Un her o fath y llynedd ymwneud ysgrifennu'r cyflymaf sillafu gwiriwr posibl, cystadlu yn erbyn ffrindiau a chyd-ddisgyblion os byddent yn ei hoffi. Gweithredu n pwff Huff ', rhaglen cywasgu. Ac yna yn dod i ben y semester gyda CS50 Cyllid, cais ar y we gyda yr ydych yn creu gwefan eTrade-fel i brynu a gwerthu stoc, felly i siarad, gan mewn gwirionedd yn tynnu bron Yahoo! dyfyniadau amser real Cyllid. Yr hyn na wnaethom y llynedd oedd un set problem sydd ar ôl serch hynny yn ffefryn. Os nad ydych erioed wedi mynd i shuttle.cs50.net, byddwch yn gweld defnyddiwr rhyngwynebu ychydig fel hyn. Ond ddwy flynedd yn ôl, y dosbarth rhoi ar waith, gan ddefnyddio Google Maps a Google Earth plug-mewn ac ychydig o savvy â gyrru o gwmpas y campws, fel bod y nod y gêm oedd, fel y gallwch weld rhai o wynebau, yw i yrru o gwmpas y campws yn chwilio am staff, cymrodyr addysgu a CAs, a pan fyddwch yn gwneud, eu rhoi ar eich bws gwennol. Nid oedd yr un ohonynt yn ymddangos mewn gwirionedd i fod yma, felly rydym yn mynd i fynd i mewn i cod twyllo. [Chwerthin] DAVID Malan: Dyna ni. Mae pob hawl. A dyma nawr yw'r staff wedi'i addurno ar draws campws. Ac fel y gwelwch, ar y dde-law ochr y sgrin, y bws gwennol â seddi gwag. A'r amcan oedd i ysgrifennu'r Cod ag ef i efelychu hyn gyrru a codi a gollwng oddi ar deithwyr. Mae hynny'n un, hefyd, gan ddefnyddio iaith o'r enw JavaScript. Felly, yn sylweddoli bod rhaglenni fel 'na fydd yn fod ar ein un llwybr hwn flwyddyn, yn ogystal. Mewn termau, erbyn hyn, o gymorth ychwanegol, rydym wedi oriau swyddfa. Fel y byddech wedi gweld yn eich cartref eich hun neuadd fwyta neu yn Annenberg, byddwn yn yn y tŷ bwyta neuaddau bedair noson yr wythnos - Leverett, Pfoho, Eliot a Annenberg eleni, 20:00-11:00. A beth rydym yn meddwl y bydden ni'n ei wneud eleni yn rhywbeth ychydig yn wahanol. Os ydych chi wedi clywed rumblings y llynedd ei fod ychydig yn rhy anodd, mae hyn yn oriau swyddfa eleni, gan y byddwn yn disgrifio yr wythnos nesaf, yn fwy organig, lle ar ôl cyrraedd, byddwch yn anfon at un tabl penodol lle mae aelodau lluosog staff aros, a byddwn yn gwneud pethau yn llawer mwy organig. Dim mwy ciw, dim mwy iPad, ond yn hytrach yn cael mwy cartrefol sgyrsiau o gwmpas bwrdd o ddim ond wyth neu o fyfyrwyr, er mwyn i ni fras syniad o'r hyn fel arall yn Byddai fod yn ddosbarth llawer llai. Rydym yn cynnig, yn ogystal, y pethau hyn yr ydym Gelwir walkthroughs, fideos ffilmio yn ymlaen llaw gan un o addysgu'r cwrs cymrodyr, Zamyla, lle mae'n eich teithiau cerdded drwy problem yr wythnos setiau, gan gynnig awgrymiadau a driciau ar gyfer y heriau sydd o'n blaen. Ac i'r gwrthwyneb, ar ôl gosod problemau yn ddyledus, y flwyddyn hon, rydym bydd hefyd yn rhyddhau clipiau bach ffoniwch post-mortem fod mewn gwirionedd i chi gerdded trwy'r atebion cynrychioliadol, yn dda ac yn drwg, trwy y gallwch gasglu sut gallech gael neu a ddylai gael gweithredu eich ateb eich hun. A beth byddwn yn cynnig am y tro cyntaf eleni, yn ogystal, yn enwedig gyfer y myfyrwyr hynny sy'n manteisio ar y cwrs arall adnoddau, ond serch hynny yn cael trafferth yn rhy fawr, mae'r cwrs ei hun yn paru myfyrwyr hynny, fel y adnoddau yn caniatáu, gyda thiwtoriaid fel bod mae gennych lawer mwy cartrefol gyfle nag neuaddau bwyta tŷ caniatáu ar gyfer cymorth un-i-un. Erbyn hyn, mae cipolwg terfynol ar rai o'r gemau diwedd yn y golwg. Efallai y byddwch yn gyfarwydd â y CS50 Hackathon. Wel, yn dod ym mis Rhagfyr, o 8:00 PM 07:00, ar ddechrau Cyfnod Darllen, bydd yn gyfle i gasglu gyda ffrindiau yn y dosbarth - byddai hyn yn tua 9:00 - yn ystod yr ydych yn blymio i mewn i'ch terfynol gweithredu prosiect ochr yn ochr â cyd-ddisgyblion, ffrindiau, a bwyd. Byddai hyn yn tua 1:00, pan y llwyth cyntaf o fwyd gyrraedd. Ac mae hyn yn ymwneud â 04:00 y flwyddyn benodol yn y CS50 Hackathon. Ond y gwir uchafbwynt y cwrs yn i fod i Ffair CS50, ar draws y campws arddangosfa o eich prosiectau terfynol eu hunain, y mae teulu a ffrindiau i gyd yn gwahodd, fel ein recriwtwyr a ein ffrindiau o ddiwydiant. Mae hyn, er enghraifft, yn cipolwg ar y 2,000 o bobl a mwy sydd wedi mynychu mlynedd diwethaf. Nid yw ymadroddion fel hyn yn anghyffredin, ac yn yr un modd yn gwneud eich cyd-ddisgyblion ymhyfrydu mewn pethau rydych wedi ei gyflawni. Ac mewn gwirionedd, tuag at perwyl hwnnw, rydym wedi digwyddiad ddechrau-of-dymor, yn ogystal. Os yw pethau fel yr apęl hon i chi, neu eich bod o leiaf yn chwilfrydig ynghylch beth hyn, yn gwybod bod traddodiad newydd y Gelwir cwrs CS50 Diwrnod Pos. Ac roedd hyn yn sefydlu un neu ddau o flynyddoedd yn ôl i wir arwydd i gampws Nid yw bod gwyddoniaeth gyfrifiadurol yn ymwneud â rhaglennu, ac yn sicr nid am gofleidio dim ond y myfyrwyr hynny sydd â phrofiad blaenorol. Mae'n iawn am ddatrys problemau yn fwy cyffredinol. Ac felly pos Day, yn ystod yr ychydig blynyddoedd bellach, mae wedi datblygu i fod yn 'n glws partneriaeth gyda'n ffrindiau yn Facebook, lle bydd yna wych gwobrau a pizza ar draws yr afon yn i-labordy ddydd Sadwrn nesaf. Ewch i'r URL gyda dau neu dri ffrindiau os hoffech chi gymryd rhan yn y traddodiad newydd. Felly, hoffwn ofyn i chi bod yn cadw un peth mewn golwg, ac rydym wedi cael dim ond dau clip munud ar y i gau heddiw. 73% yw'r rhif i'w gofio. Cacen, hefyd, byddwch yn aros y tu allan i'r transept wrth i ni ohirio mewn dim ond cwpl o eiliadau, sy'n draddodiad y cwrs, yn ogystal. Ond mae hyn yn y dyfyniad allweddol o'r maes llafur y cwrs i gadw mewn cof. Yr hyn sy'n bwysig yn y pen draw yn y cwrs hwn yw nid yn gymaint lle rydych yn y pen draw perthynas i'ch cyd-ddisgyblion, ond lle chi, yn Wythnos 12, yn y pen draw o gymharu â eich hun yn Wythnos 0. Ond mae'r cipolwg y byddwn yn gadael i chi â hwy yma heddiw yw hyn yr un olaf ei yma gan ein un Daniel, a wnaeth y fideo wrdly ychydig funudau'n ôl. Yr wyf yn eich gadael gyda cipolwg hwn o'r hyn sydd o'n blaenau. Ac wrth i ni wneud hyn, pe gallem gael CS50 staff o du blaen yr ystafell i ddod i fyny i'r llwyfan i beintio holl y mwyaf o ddarlun gweledol o ran beth yn eich disgwyl eleni - mynd yn lletchwith. Byddwn yn gorffennaf gyda hyn yma ar y sgrin. [CHWARAE CERDDORIAETH] DAVID Malan: Mae hwn yn CS50. [CERDDORIAETH - MATT & KIM, "Mae'n iawn"] SIARADWR 1: Rwyf wrth fy modd CS50 yn fwy na chathod. SIARADWR 2: Whoaaaa! [Chwerthin] DAVID Malan: Mae hyn, felly, yw CS50. Byddwn yn eich gweld ar ddydd Gwener. [Cymeradwyaeth ac yn bloeddio] Adroddwr: Yn y CS50 nesaf, sef llwyfan Nid demo yn mynd yn ôl y bwriad. DAVID Malan: Rydym yn awyddus i ddod o hyd i Mike Smith yn y llyfr ffôn. Wel, beth yw eich greddf? Efallai y byddwn yn neidio yn fras i ganol y llyfr ffôn, cipolwg i lawr, gweld bod Dwi M, ac yr wyf yn gwybod yn awr fod Mike Nid Smith yn gyfeiriad at y chwith. Rhaid iddo fod ar y dde. Ac felly ar hyn o bryd, rydym yn Gall llythrennol rhwygo - ar hyn o bryd, gallwn llythrennol rhwygo - ar hyn o bryd, gallwn ffigurol rwygo'r llyfr ffôn yn ei hanner. [Strymio ukelele]