DAVID Malan: Croeso'n ôl, pawb. Felly ddoe, byddwch yn cofio bod buom yn canolbwyntio ar y pynciau hyn yma. Felly roedd gennym bedwar topics-- gyffredinol preifatrwydd, diogelwch, a chymdeithas; technolegau rhyngrwyd; cwmwl cyfrifiadurol; ac yn y pendraw, datblygu gwefan. A wnaeth unrhyw un gael y lled band na'r amser i wylio John bach Oliver neithiwr? Mae'n mewn gwirionedd yn eithaf doniol, os nad ychydig yn frawychus. Unrhyw gwestiynau am unrhyw beth gwnaethom ddoe? Unrhyw eglurhad? Unrhyw gwestiynau yr ydych am ei wneud yn siŵr ein bod yn cyffwrdd ar heddiw ar ryw ffurf? llechen mor lân. Felly beth sydd ar yr agenda ar gyfer heddiw? Felly, yr wyf yn meddwl y byddwn yn dechrau heddiw gyda golwg ar beth sydd ar y cyfan a elwir yn thinking-- cyfrifiannol ar y risg o gorsymleiddio, meddwl fel cyfrifiadur, efallai meddwl fel peiriannydd, ac yn ceisio dechrau trefnu eich meddyliau neu i roi gwell syniad i chi beth sy'n ymwneud â gorchymyn mewn gwirionedd cyfrifiadur i wneud rhywbeth drwy raglenni. A byddwn yn ei gadw mewn 'n bert lefel uchel, 'n bert lawer Saesneg, ond ceisiwch ddefnyddio o cyfarwydd enghreifftiau i ffurfioli sut byddech yn mynd ati i ddatrys problemau. A byddwn yn ailedrych ar rai CS pynciau, fel tynnu, a ddaeth i fyny cwpl o weithiau ddoe, algorithmau, ac yna gynrychiolaeth. A dyna lle byddwn yn dechrau heddiw mewn dim ond hyn o bryd. Yna byddwn yn edrych ar raglennu. Byddwn yn edrych ar rai yn adeiladu sylfaenol efallai y byddwch yn gyfarwydd â nhw ac efallai hyd yn oed yn dod o hyd eithaf 'n athrylithgar. Byddwn yn edrych, mewn gwirionedd, mewn rhaglennu sampl amgylchedd sy'n hygyrch iawn, chwareus iawn, ac yn wir eu targedu am 12 ac i fyny oedran. Byddwn yn treulio ychydig funudau yno ac yna cymryd pethau i lefel is ac mewn gwirionedd yn siarad am rai o algorithmau a strwythurau data, fel petai, bod rhaglenwyr fel arfer yn defnyddio i ddatrys problemau llawer mwy effeithlon nag y gallech chi yn gallu ei wneud heb yn gyfan gwbl. Yna ar ôl cinio, byddwn yn cymryd golwg yn cyrn technoleg, sydd ychydig yn yn ffordd ffansi o ddweud casgliadau o dechnolegau y gallech eu defnyddio i ddatrys rhyw broblem. A byddwn yn siarad am y wyddor cawl o ieithoedd sy'n bodoli today-- Java a Python a C ++ a PHP a Ruby a phob math o bethau eraill. Byddwn yn cymryd yn fyr edrych ar batrymau dylunio. Rhaglenwyr, dros amser, rhaid i methodolegau a fabwysiadwyd sy'n tueddu i'w helpu i datrys problemau yn rhwyddach. Pan fyddwch yn dechrau i weld eich hun ysgrifennu yr un math o cod dro ar ôl tro, pobl ffurfioli ailadroddiadau rhai ac enwau priodoli iddynt hwy ac yna yn eu defnyddio ac yn eu hyrwyddo, yn y pen draw. A byddwn yn siarad ychydig am strategaethau symudol, fel beth mae'n ei olygu i mewn gwirionedd gwneud app symudol neu wefan symudol. A ydych yn gwneud hyn ar gyfer Android? A ydych yn gwneud hynny ar gyfer iOS? Ydych chi'n ei wneud ar gyfer y ddau o'r rheiny? A beth yw'r cyfaddawdau? Ac yna yn olaf, byddwn yn cymryd mae rhaglennu ar y we golwg, a oedd yn yn derm cyfunol wir yn disgrifio unrhyw adeg byddwch yn ysgrifennu meddalwedd sy'n i fod i redeg ar y we, boed ar ffonau neu penbwrdd neu gliniaduron. Byddwn yn cymryd cipolwg ar cronfeydd data a dyluniad ynddo, os mai dim ond oherwydd bod bron unrhyw cais diddorol ar y we y dyddiau hyn mae rhyw fath o gronfa ddata. Fel arall, byddai'n yn unig fod y cynnwys statig. A chronfa ddata yn eich galluogi i wneud newidiadau dros amser, boed chi eich hun neu gan ddefnyddwyr. A byddwn yn ystyried sut y byddwch yn Byddai mynd am ddylunio bod cronfa ddata a'r math o jargon a allai godi mewn peiriannydd yn trafod mewn bwrdd gwyn pan mewn gwirionedd gweithredu an app am y tro cyntaf. Byddwn yn siarad yn fyr am APIs, gwasanaethau defnyddiol y gallwch ei ddefnyddio i sefyll ar y ysgwyddau pobl eraill, boed cwmnïau neu unigolion, a datrys eich problemau eu hunain yn gyflymach. Ac yna byddwn yn dabble efallai ychydig gyda JavaScript, iaith raglennu sy'n cael ei ddefnyddio y ddau mewn porwyr y dyddiau hyn, ond hefyd mewn gweinyddwyr. Ac efallai, ni annhymerus ' ailymweld, amser yn caniatáu, mae rhai o'r ymarferol i ni bethau ar y we gwnaeth ddoe ac integreiddio'r ddau gyda'n gilydd cyn i ni ohirio'r. Felly, gyda that-- beth ahead-- yw A oes unrhyw beth ar goll bod chi os hoffech i sicrhau ein bod yn mewnosod a chyffwrdd ar ar ryw adeg. Os yw'n ffynhonnau i'r meddwl, dod ag ef i fyny cyn bo hir. Ond pam nad ydym yn dechrau gyda edrych ar feddwl cyfrifiannol. A gadewch i mi yn cynnig y meddwl cyfrifiadurol yw, unwaith eto, math o'r disgrifiad lefel uchel o beth allai wyddonydd cyfrifiadur yn ei wneud. Ac yn wir, gadewch i ni ddechrau gyda thri cynhwysion sydd allai fynd i mewn i feddwl cyfrifiannol. Mae hyn yn unig un ffordd o ddisgrifio. Gallem sicr ddiffinio hyn mewn unrhyw nifer o ffyrdd. Ond gadewch i mi gynnig, er mwyn heddiw, bod problemau yn y byd, holl broblemau yn y byd, pan gysylltodd gan gwyddonydd cyfrifiadurol gallai gael ei weld fel hyn yr ydym annhymerus ' mewnbynnau alwad, a oedd yn Mae angen i gael eu bwydo i mewn yr hyn y byddwn yn galw algorithmau, sydd wedyn yn cynhyrchu allbynnau. Mewn geiriau eraill, mae'r cyfan byd o hawliad yr wyf yn datrys problemau Gellir ddistyllu i mewn y tri cynhwysion. Felly beth ddylwn i ei olygu wrth fewnbynnau? Mewnbynnau yn union beth rydych chi'n rhoi er mwyn datrys. Er enghraifft, dyma hen broblem ysgol. Os oes gennyf llyfr ffôn yma ac Yr wyf am edrych rhywbeth i mewn iddo, mae hyn yn fy mewnbwn. Mae gen i 1,000 neu lai tudalennau mewn llyfr ffôn. Mae hyn yn y mewnbwn i fy problem. Ac yr wyf yn awyddus i ddod o hyd i rywbeth fel Mike Smith, felly ffrind y mae ei enw a rhif yw gobeithio yn y llyfr cyfeiriadau. Mae hyn yn cyn dyddiau'r gell ffonau, felly ni allaf jyst chwilio amdano. Felly rhaid i mi ei wneud yn hen ysgol ac mewn gwirionedd yn chwilio mewnbynnau hyn ar gyfer rhai ateb. A bod ateb yn unig yn mynd i gael ei alw yr allbwn. Felly mae'r mewnbwn yn y llyfr ffôn. Mae'r algorithm yn beth bynnag set o camau yr wyf yn eu defnyddio i ddod o hyd i Mike Smith. Ac mae'r allbwn yn, gobeithio, Rhif ffôn Mike Smith. Ac mae hyn yna byddai fod yr un cynrychiolydd y rhan fwyaf o unrhyw broblem i gyda chi yn mewnbynnau handed ac yn awyddus i gynhyrchu canlyniadau. Felly, cyn i ni ystyried y broses y gallwn ddatrys y broblem honno, dod o hyd i Mike Smith a Rhywbeth fel hynny, gadewch i ni ystyried y cyntaf a mewnbynnau ac allbynnau last--. Yn gorfforol, wrth gwrs, y mewnbwn yma yn criw cyfan o bapur gludo gyda'i gilydd ar ffurf llyfr ffôn. Ond cyfrifiaduron, gliniaduron course-- a byrddau gwaith a hyd yn oed ffonau mae'r rhain days-- hynny yn dyfeisiau electronig. Ac ar ddiwedd y dydd, yr hyn sydd yr unig fewnbwn i gyfrifiadur? Wel, mae'n rhywbeth fel pŵer hwn llinyn yma. Yr wyf yn plwg i mewn i'r wal, ac Rwy'n cael llif o electronau, sy'n caniatáu i mi i redeg y peiriant. Neu efallai electronau hynny a grëwyd gan ffordd fy batri. Ond ar ddiwedd y dydd, dyna yr unig beth sy'n mynd i mewn i fy laptop. A chymaint diddorol pethau yn y pen draw dod allan, boed drwy gyfrwng yr argraffydd neu'r sgrin neu audially neu debyg. Felly, os bydd yr holl sydd gennym fel ein mewnbwn sylfaenol i gyfrifiadur yw trydan, felly dim ond electronau yn mynd i mewn ac allan, neu, ac felly sut y gallwn ddefnyddio'r mewnbwn hwnnw i mewn gwirionedd yn cynrychioli gwybodaeth? Mewn geiriau eraill, sut mae cael o lif syml o drydan i gynrychioli gwirioneddol rhifau neu lythrennau gwirioneddol neu ddelweddau go iawn ar y sgrin neu ffilmiau gwirioneddol neu negeseuon e-bost neu unrhyw nifer o'r rhain cysyniadau lefel uwch, os mynnwch, bod ar y ddiwedd y dydd rhywsut wedi cael eu storio yn hyn dyfais mecanyddol electronig gan ddefnyddio dim ond y rhai ingredients-- syml electronau yn dod i mewn ac allan? Felly byddai'n ymddangos bod, yn y ffurf symlaf, yr unig fath o wladwriaethau Mae gen i yn fy byd, felly i speak-- amodau yn fy world-- naill ai Mae gen i electronau sy'n llifo, trydan llifo, neu i ei wneud not-- yn y blaen, i ffwrdd. A gadewch i ffurfioli'r ar ac oddi ar, fel gallai gwyddonydd cyfrifiadurol, gyda dim ond 1 a 0. Gadewch i 'jyst yn disgrifio rhai mympwyol ond nifer cyson iddo. 1 yn golygu ar, 0 yn golygu i ffwrdd. Neu efallai y byddwch hefyd yn gweld hyn fel dulliau o wir ar a dulliau ffug. Gallech hefyd wneud du a gwyn neu goch a glas. 'Ch jyst angen i ddau ddisgrifydd. A byddai gwyddonwyr cyfrifiadurol Yn gyffredinol, dim ond yn defnyddio 0 ac 1. Felly, os yw hynny'n wir, fy unig wyddor yn cynnwys 0 ac 1, a sut allwn yn fy myw gael i hyd yn oed y rhif 2 mewn cyfrifiadur, heb sôn am y rhif 3 neu lythyr o'r wyddor neu ddelwedd neu ffilm? Sut rydym yn fath o bootstrap ein hunain rhag yr egwyddor sylfaenol o 0 a 1 a gwirionedd yn cynrychioli rhywbeth mwy diddorol? Wel, gadewch i ni roi y cwestiwn hwnnw ar stop am ychydig funudau'n ac ystyried rhywbeth gobeithio cyfarwydd, hyd yn oed os nad ydych chi wedi meddwl am mewn unrhyw fanylder am 10, 20, 30, 40, 50 mwy o flynyddoedd. Dyma beth? Sut fyddech chi'n ynganu hynny? Nad yw cwestiwn tric. Mae nifer, ond beth ydyw? 1, 2, 3, neu 123. Ac yr wyf yn hoffi sut y dywedasoch y 1, 2, 3, oherwydd dyna un ffordd o edrych arno. 1, 2, 3, mae'n dilyniant o dri symbolau. Mae'n luniau sydd gennym Erbyn hyn mae geiriau. Ac os ydych yn fath o darllen nhw i gyd at ei gilydd, mae dynol nodweddiadol yn y Saesneg Byddai dweud 123. A dyna fath o cysyniad lefel uwch, teimlo fel rhif weddol fawr. Ond sut wnaethom ni gyrraedd yno? Wel, gallai fod yn amser ers eich bod wedi meddwl am y peth fel hyn, ond yn ôl yn fy dydd, yr wyf yn math o ddysgwyd hwn fel colofn 1, mae'r 10 oed colofn, a colofn y 100 yn. Felly, fel y dywed Lakisa, mae'n 1, 2, 3, ond mae hefyd yn 123. Ond sut ydyn ni'n ei gael o y cyntaf i'r olaf? Wel, byddech fel arfer yn ei wneud yn colofn y 100, a mae gen i 1. Felly dyna fel dweud 100 o weithiau 1. Ac yna yng ngholofn 10 oed, Mae gen i 2. Felly dyna fel dweud 10 gwaith 2. Yng ngholofn 1, yn gen i 3. Felly dyna fel dweud 1 o weithiau 3. Ac os byddaf yn ychwanegu pethau hyn gyda'i gilydd, mae hyn, wrth gwrs, yn 100 yn ogystal â'r 10 ynghyd â 3. Ac oh, dyna pam yr wyf yn cael hyn syniad lefel uwch o 123. 'I' jyst mathemateg sylfaenol, lle mae'r rhain symbolau cael pwysau iddynt, os ydych yn Bydd, placeholder neu werthoedd colofn. Ac ar ôl i mi lluosi popeth allan, i mi gael y nifer hwn. Felly faint ohonoch chi yn gwybod sut i siarad binary-- 0 a 1's-- fel cyfrifiadur? OK, perffaith, does neb, neu nid oes yr un ydych yn meddwl i chi ei wneud. Ond byddwn yn hawlio i chi mewn gwirionedd yn gwybod hyn yn barod. jyst angen i ni fath o tweak ein model meddyliol ychydig. Ond mae'r broses yn union yr un fath. Gadewch i mi adael yr un yma i fyny yno ac yn lle hynny dynnu hyn i lawr am funud. Yn y byd o gyfrifiaduron, mai dim ond 0 ac 1 yn. Ac felly y peth sy'n mynd i newid yn beth? Wel, yn fy byd dynol, system degol, Rhagfyr ystyr 10, Mae gen i sawl digidau ar gael imi? 10, dde? 0 drwy 9, wrth gwrs. A dyna pam mae gennym y lle 10 a lle y 100 yn. Ble mae bod yn dod o? Wel, mae hyn yn 10 i bŵer 0. Mae hyn yn 10 i bŵer 1, 10 i rym o 2, ac yn y blaen. Rydych jyst cadw lluosi eich colofnau 10, gan ddechrau i ffwrdd gyda dim ond 1 yn y un rightmost yma. Felly, ym myd cyfrifiaduron, os mai dim ond ystyr bi binary-- 2-- neu 0 a 1 yn, rydym yn unig 'n sylweddol angen i newid waelod y mathemateg. Felly, mewn geiriau eraill, yn awr rydym annhymerus unig cael y golofn 1 ac the-- lle mae hyn yn going-- colofn y 2, yn colofn 4, ac efallai y tu hwnt. Pam hynny? Wel, mae hyn yn 2 y 0-ed pŵer. Mae hyn 2 y 1. Mae hyn yn 2 i'r 2, ac yn y blaen. Felly tra yma, mae gennym 1, 10 oed, 100, yn 1,000, yn 10,000, yn 100,000, yn 1 miliynau, ac yn y blaen, dyma mae gennym 1, 2, 4, 8, 16, 32, 64. Rydych yn unig yn cadw lluosi â 2, yn lle cadw lluosi â 10. Felly nawr, os yw'r nod ar law yw cynrychioli rhifau gan ddefnyddio dim ond 0 ac 1, a gadewch i ni ystyried sut yr ydym yn cyrraedd yno. Mae hyn, wrth gwrs, yw'r patrwm 0 0 0, ond pa rif yn gysyniadol mae'n ei gynrychioli? Wel, 4 gwaith 0 plws 2 waith 0 plws 1 o weithiau 0, gadewch i ni ychwanegu hynny at ei gilydd. 4 gwaith 0, wrth gwrs, 0, ynghyd â 2 Amseroedd 0 yw, wrth gwrs, 0 ac 1 gwaith 0 , wrth gwrs, 0. Felly AH, mae hyn yn cynrychioli'r Rhif rydym pobl yn gwybod fel 0. Wel, yn awr, gadewch i ni iawn ymlaen yn gyflym gyflym. Os yn lle hynny Dydw i ddim yn cynrychioli 0 0 0, ond gadewch i ni wneud 1 0 1, a allai fod yn sut Lakisa, yn gynharach, fyddai dim ond ynganu 1 0 1. Ond yn awr, sut ydyn ni'n mynd ag ef i'r uwch lefelu'r rhif gallem bobl wybod? Felly beth yw'r rhif hwn? Mae'n 5, rhif yr ydym yn gwybod fel 5. Wel, pam hynny? Wel, y gallwn wirioneddol fath o cerdded drwyddo drefnus 4 gwaith 1, 2 gwaith 0, 1 gwaith yn 1. Ychwanegwch hynny at ei gilydd, felly mae hyn yn 4 ynghyd 0 ac 1. A dyna, yn wir, 5. Felly mae'n mynd ychydig yn ddiflas nawr gwneud y rhifyddeg eto ac eto. Ond mae'r broses yn union yr un fath. Yr unig beth sydd wedi newid yn ystod ein byd yw bod ein colofnau yn 1, 2, 4, 8, 16, ac yn y blaen, yn hytrach na 1, 10, 100, 1,000. A dim ond oherwydd bod ein wyddor wedi crebachu o 0 drwy 9 i ddim ond 0 i 1. Felly, cyn lleied cwis yma, sut y byddai rydych yn eu cynrychioli y rhif 7 yn deuaidd? 0? Wel, 0, ydych yn golygu 0 0 0? Ddweud eto, Karina. Perffaith. Pam hynny? Mae'n effeithiol 4 a 2 ac 1. Mor dda. Sut ydym yn cynrychioli ychydig another-- beth am rhif 2? Close, ond yn ôl. Felly beth yw hwn? Yw 4 ynghyd 1, felly dyna 5 eto. Felly what's-- ddrwg gen i, Karina? 0 1 0. 0 1 0 fyddai 2, oherwydd unwaith eto, hyd yn oed os yw'n nid yw'n fath o neidio allan ar chi, dim ond gwneud y cwestiwn. 4 gwaith 0, 0, 2 waith 1 yw 2, 1 gwaith 0 yw 0. Felly, mae hyn yw nifer yr ydym yn gwybod fel 2. Beth am y rhif 8? Hm? Da. Felly, rydym fath o angen dalfan arall. Mae angen 1 0 0 0. A dyna wir am ein math o dan yr hen drefn degol ysgol. Sut ydych chi'n cynrychioli nifer 1,000? Wel, byddech yn ymddangos i fod math o mewn llecyn caled, os gofynnwch chi i gynrychioli rhif 1,000, oherwydd hyd yn oed os byddwch yn rhoi eich hun yn hoffi 9 o'r rhain, 9 o'r rhain, 0 o'r rhain, sef y nifer mwyaf yr ydych wedi, nad oeddech yn eithaf cyrraedd 1,000. Felly, os ydych 1,000, 'ch jyst angen i un arall sefyllfa, fel y gallwch wneud 1 0 0 0, ergo rhif 1,000. Felly nawr, gadewch i fapio math hwn o trafodaeth cysyniadol yn ôl i'r caledwedd, lle eto, mae'r cyfraniad yn unig oedd mae hyn ychydig cebl pŵer, trydan yn dod i mewn ac yn llifo allan. Ac felly i hynny eu mapio o fan hyn i yno, wel, beth ydych ei angen mewn gwirionedd ni? Wel, allwch chi feddwl o fod tu mewn cyfrifiadur, criw cyfan o fylbiau golau, os mynnwch. Maent yn elwir yn wir transistorau. A transistorau yn unig switshis a all naill ai fod ar neu i ffwrdd. Felly, gallwch chi feddwl am transistor sydd ar yn caniatáu i drydan lifo a transistor dyna i ffwrdd fel stopio trydan rhag llifo. Ac yn hytrach na chymryd dros y goleuadau yma, pam peidiwch â wyf yn gwneud y math yma o arddull ysgol newydd. Felly, gallai hyn fod yn 1, flashlight bod ar, dim ond prin er. A gallai hyn fod yn 0, ac yn awr mae'n ffwrdd. Felly gan ddefnyddio'r ddyfais gorfforol hwn, yr wyf yn yn awr yn gallu cynrychioli'r system deuaidd. Fi jyst angen dwy wladwriaeth. Nid oes ots beth lliw y mae neu yr hyn ydyw. Y cyfan sy'n bwysig yw bod gen i un cyflwr ar a gwladwriaeth arall i ffwrdd. Felly gan ddefnyddio fy ffôn yma, sut ydw i'n cynrychioli nifer rydym yn gwybod fel 0? Neu ei roi cyfwerth ei, beth Rhif ydw i'n cynrychioli yn awr? 0, oherwydd bod y ddyfais yn ffwrdd. Ac os wyf yn gwneud hyn? Ac yn awr, sut ydw i'n gynrychioli'r rhif 2? Ga i fenthyg eich ffôn yma, fel y gwnaethom ddoe? Felly gadewch i ni weld, felly os ydw i eisiau i gynrychioli rhif 2, a yw hyn rhif 2? No. Pa rif ydw i yn ddamweiniol cynrychioli yma? Mae hyn mewn gwirionedd y rhif 3. Felly, pa un ydw i am droi i ffwrdd? Mae'r ffôn du or-- dda, os they're-- ffôn du neu ffôn wyn? Mae'r ffôn gwyn. Felly os wyf yn troi oddi ar hwn ac rydym yn llinell i fyny dros yma, mae gennym 1 yn ei le y 2 ac yn 0 ar waith yr 1 yn. Ac felly rwy'n awr cynrychioli'r rhif 2. Ac mae hyn, wrth gwrs, fyddai nifer 3, oherwydd erbyn hyn ddau goleuadau hyn ar. A byddaf yn stopio yma, ond mae'n sefyll i reswm os ydw i am i gynrychioli'r rhif 4 neu 8 neu uwch, Rydw i'n mynd i angen mwy o ffonau. Ond dyna i gyd sy'n digwydd. Felly, os ydych chi wedi clywed erioed bod tu mewn a-- diolch cyfrifiadur you-- yw miliynau o transistors, dyna dim ond miliynau o switshis bach bach. Ac nid ydynt yn olau fylbiau sy'n troi ymlaen ac i ffwrdd, ond naill ai ydynt yn caniatáu trydan i lifo yn rhywle neu atal. Ac felly mae eich dau states-- ar neu oddi ar, ar neu i ffwrdd. Felly byddem yn ymddangos yn awr i gael y gallu hwn i gynrychioli'r cysyniad hwn sy'n hoffem mewn caledwedd gwirioneddol. Ond yr holl gennym yn awr yw'r gallu i gynrychioli rhifau byddai'n ymddangos. Felly sut rydym yn mynd ati i gynrychioli llythrennau'r wyddor, a oedd yn yn teimlo fel y math nesaf o nodwedd chi Byddai eisiau ychwanegu at gyfrifiadur modern unwaith y bydd gennych rhifau? Ac yn wir, os ydych yn meddwl am iddo, yn hanesyddol, cyfrifiaduron Cyflwynwyd 'n sylweddol i wasanaethu fel cyfrifianellau rhifiadol. Ond wrth gwrs, mae'r rhain dyddiau, maent yn gwneud llawer mwy. Hyd yn oed pan fyddant yn lesewch i fyny, i chi fel arfer yn gweld un neu fwy o eiriau. Felly, sut ydych chi'n cynrychioli geiriau, os bydd yr holl ydych yn ei gael yw, unwaith eto, trydan ar ddiwedd y dydd, neu cyfwerth ei 0 ac 1 yn? Yeah. Yeah, yr wyf yn golygu, rydym yn fath o wnaethom ddoe hwn ar ryw ffurf, lle mae ar ryw adeg, Rwy'n credu fy mod yn fympwyol dweud hynny, os ydym am i gynrychioli'r llythyren A, gallem dim ond galw bod 1. Yr oedd yng nghyd-destun cryptography, lle rydym yn unig angen rhyw fath o god, rhyw fath o fapio. Felly, efallai y bydd A yn cael ei gynrychioli fel 1, a bydd B yn cael eu cynrychioli fel 2, a bydd Z cael eu cynrychioli fel 26, er enghraifft. Ac yna yr unig gafeat yw bod os ydw i'n mynd i amgodio llythyrau yn fy negeseuon e-bost neu yn fy negeseuon testun fel rhifau, i chi i gyd rhaid cytuno i ddefnyddio'r un set o gonfensiynau. Ac yn wir, y byd wedi gwneud yn union hynny. Mae system yn y byd Gelwir ASCII, Safonol America Côd ar gyfer Cyfnewid Gwybodaeth, sef, yn syml yn benderfyniad rhai blynyddoedd yn ôl bod y bobl a wnaed bod penderfynu bod A yn mynd i cyfartal, nid 1, 2, a 26, ac felly forth-- mae'n ychydig different-- ond 65, 66, 67. A byddaf yn tynnu i fyny yn siart mewn dim ond hyn o bryd. Ond mae'n mympwyol. Ond does dim ots ei fod yn fympwyol. Mae'r byd wedi i ddim ond fod yn gyson. Yn awr, yn fwy diweddar, mae rhywbeth ffansi Gelwir Unicode, gan fod y math yn y byd o wireddu, ar ôl ddyfeisio cyfrifiaduron, fod yna fwy nag yn dda 256 symbolau yn y byd y gallem am gynrychioli, yn enwedig pan fyddwch yn cyflwyno ieithoedd Asia a symbologies eraill fod angen mwy o expressiveness na chi gallu ffitio yn y fersiwn cynharaf o cod hwn, a gafodd ei alw ASCII. Felly Unicode mewn gwirionedd yn caniatáu i chi ddefnyddio mwy 0 a 2. Yn benodol, eich bod yn cadw clywed y bytes geiriau yn y gymdeithas a hyd yn oed dim ond ddoe. Ac mae beit yw'r hyn eto? Beth yw beit? Dim ond 8 did. Felly beth mae hynny'n ei olygu mewn gwirionedd? Wel, mae hynny'n golygu, yn gynharach, pan oeddem siarad am deuaidd a oeddwn yn defnyddio fympwyol tri darnau pan oeddem siarad am binary-- lle y 1, yn lle y 2, a'r 4 place-- yn dda, beit yn unig yn golygu eich bod chi'n siarad Nid yw mewn unedau o dri, ond pedwar, pump, chwech, saith wyth, sy'n rhoi lle 8 oed ni, 16, 32, yn 64, ac 128 yn. Mewn geiriau eraill, nid ychydig i gyd hynny ddefnyddiol uned o fesur, am ei fod yn union fel un bach bach darn o wybodaeth, ar neu i ffwrdd. Felly, mae rhai blynyddoedd yn ôl, y byd yn unig benderfynu 'i' ychydig yn fwy cyfleus i siarad mewn ran bytes, wyth o bethau ar y tro. Ac felly a thrwy hynny ei eni y syniad o beit. Ac felly rydym wedi wyth darnau yma. Ac mae'n troi allan, hefyd, i tebyg resymau, penderfynodd y byd flynyddoedd yn ôl bod i gynrychioli llythyr ASCII, ydych yn mynd i ddefnyddio unedau o 8 did. Felly hyd yn oed os nad ydych yn ei wneud Mae angen bod llawer, rydych yn bob amser yn mynd i ddefnyddio 8 did i cynrychioli llythyren o'r wyddor. Ac mae hyn yn gyfleus, oherwydd wedyn os ydych yn derbyn neges sydd â 0 0 0 1 1 1 1 0 ddilyn gan 1 1 1 0 1 0 arall 0 1, felly os ydych yn derbyn 16 darnau, gall y byd yn unig cymryd yn ganiataol bod yr 8 cyntaf yn un llythyr a'r ail mae 8 yn llythyr arall. Nid yw'n fater faint mae. 'I jyst yn bwysig bod rydym ni i gyd yn gyson pan fyddwn ni'n ddehongli darnau hyn. Ac mae hyn yn unig oedd ar hap. Mae hynny'n golygu rhywbeth, ond wnes i ddim wir yn meddwl am yr hyn y mae'n ei olygu. Felly mae'n celwydd bach gwyn. Yn wreiddiol, ASCII ddefnyddiwyd mewn gwirionedd dim ond 7 ddarnau. A'r wythfed bit yn Gelwir ASCII estynedig. Ond y pwynt yw, yn y pen draw, yr un fath. Mae'r byd yn gyffredinol safoni ar 8 did. Felly, byddai hyn yn ymddangos i fod ychydig yn cyfyngu, oherwydd dim ond gallaf cynrychioli cyfalaf A, cyfalaf B drwy Z. cyfalaf Ond yn wir ni, os byddaf yn mynd i'r canlynol-- mae 'na griw o adnoddau ar-lein, er enghraifft, asciitable.com, mae hyn yn yn mynd i fod ychydig llethol ar y dechrau. Ond byddaf yn tynnu sylw yr hyn sy'n bwysig yma. Mae hyn yn unig fydd yn digwydd i be-- a 'n annhymerus' walk-- gadewch i ni weld, os byddaf yn mynd dros yma. Dyma, yn y degol colofn, rhif 65. Ac ar y llythyr golofn dde cymeriad, CHR, yw'r llythyren A. A gallwch anwybyddu, am y tro, popeth yn y canol. Mae hyn yn hecsadegol, wythol, a chod HTML. I'r safle hwn yn unig yw ceisio taflu llawer o wybodaeth ar chi ar unwaith. Ond yr holl ydym yn gofalu amdano yw degol yn colofn a'r golofn cymeriad. Felly, erbyn rhesymeg hon, beth yw y rhif bod y byd wedi penderfynu yn cynrychioli llythrennau bach a? Yeah, 97. A dim ond i ddrysu o bosibl ychydig, pa rif y mae'r byd wedi penderfynu Byddai gynrychioli'r rhif 1? Iawn, oherwydd we-- 49, mae'n ymddangos yma, i lawr yn y gwaelod ar y chwith. Yn awr, beth ddylwn i ei olygu wrth hynny? Felly, mae'n ymddangos bod mewn systemau cyfrifiadurol, , yn gyffredinol, gwahaniaeth sylfaenol rhwng nifer a chymeriad. Mae nifer yw'r peth yr ydym yn Dysgodd tyfu i fyny pan roeddem yn super ifanc yn yr ysgol radd. Mae'n pethau yr ydych yn cyfrif gyda. Ond mae cymeriad yn unig yw siâp, a glyph, fel petai, ar y sgrin. Nawr, rydym pobl fath o weld rhywbeth sy'n edrych fel hyn. Ac yr ydym yn dweud, oh, dyna'r rhif 2. Ond na, dyna'n union symbol sy'n edrych fel hyn yr ydym yn ei wybod fel y rhif 2. Ac felly mae hyn yn gwahaniaeth sylfaenol rhwng niferoedd gwirioneddol a chymeriadau. Mae hwn yn rhif. Ond yn gyffredinol, yn y cyd-destun cyfrifiadur, os ydych yn lle hynny yn gweld rhywbeth fel quoted-- hwn ac nad ydych yn ei wneud bob amser rhaid i weld a ddyfynnwyd, ond er mwyn y discussion-- os byddwch yn gweld dyfyniadau o gwmpas nifer, mae hon yn gymeriad yn awr. Felly, y rhif hwn 2 oddi tano y cwfl tu mewn cyfrifiadur Byddai cael eu cynrychioli gyda phatrwm o ddarnau sy'n cynrychioli'r nifer 50 yn ôl y siart ar-lein. Fodd bynnag, os gyfrifiadur jyst yn gweld hyn, mae hyn yn Byddai cael eu cynrychioli gyda'r patrwm bit 0 0 0 0 0 0 1 0. Tra, byddai cymeriad hon mewn gwirionedd yn cael eu cynrychioli as-- ac yn awr, Ges i feddwl ychydig o harder-- felly mae hyn Byddai cymeriad yn cael ei gynrychioli gyda 0 0 1-- beth sydd angen i mi fan hyn? 0 0 1 1 0 0 1 0. Sut oedd i wneud hyn? Wel dyma'r rhif 50, os ydych lluosi ei wneud gan ddefnyddio colofnau hyn, hwn yw'r rhif 2, ac yn y blaen dyna pam y mae ddeuoliaeth hon. Ac mae hyn yn unig yw teaser yn awr ar gyfer nodweddion sy'n bodoli mewn ieithoedd rhaglennu y byddwn yn cyffwrdd ar fyr yn ddiweddarach heddiw. Mewn ieithoedd rhaglennu, sydd gennych yn gyffredinol, ond nid bob amser, pethau ffoniwch gwahanol fathau o ddata. Mewn geiriau eraill, mae programmer-- pan fydd ef neu hi yn ysgrifennu, rhaglennydd cael i benderfynu ym mha fformat i storio ei ddata. gallwch naill ai storio data fel rhifau crai, fel y rhif 2. Neu gallwch eu storio fel llinynnau, neu ddilyniannau o gymeriadau y byddech yn gyffredinol yn mynegi â dyfyniadau yn eich iaith raglennu. Gallwch gael pethau called-- 'N annhymerus' gorsymleiddio'r ac yn eu galw numbers-- go iawn fel niferoedd sy'n ddim yn gyfanrifau fel rhif 2, ond mae nifer yn hoffi 4.56. Felly gall rhifau real hefyd cael pwyntiau degol, felly mae hynny'n wahanol sylfaenol darn o ddata mewn cyfrifiadur. Ac yna gallwch hyd yn oed gael fathau o ddata eraill yn dal. Felly dyna dim ond teaser 'n sylweddol o y symlaf o benderfyniadau dylunio y gallai rhaglennydd gwneud o dan y cwfl. Felly unrhyw gwestiynau eto? Felly gadewch i ni geisio gwneud mae hyn ychydig yn fwy real. Nid yw hyn caledwedd yn cymaint yn cael eu defnyddio mwyach. Ond mae'r rhan fwyaf pawb yn yr ystafell hon yn ôl pob tebyg Tyfodd i fyny gyda, ac yn dal i ddefnyddio gyriannau caled mewn rhyw ffordd. Er bod y rhan fwyaf o ein gliniaduron mwyach rhaid i dyfeisiau sy'n gweithredu fel hyn, yn lle hynny gliniaduron heddiw yn gyffredinol rhaid i gyriannau cyflwr solet heb unrhyw rhannau symudol. A bod yn tueddu i fod yn ddrutach, yn anffodus, ond ychydig yn gyflymach ac a-- dda, yn aml, mae llawer cyflymach, sydd yn un o'r rhesymau. A hefyd nad yw'n gwneud hynny cynhyrchu cymaint o wres. Gall fod yn llai, felly mae'n Yn gyffredinol, yn net cadarnhaol. Ond mae hyn yn ein galluogi i fapio ychydig yn fwy diriaethol beth rydym yn sôn am yn y 0 a lefel 1 yn awr i ddyfais gorfforol. Mae'n un peth i mi siarad tua 0 ac 1 yn nhermau fy ffôn neu haniaethol mewn termau o switshis bod ar ac oddi ar. Ond beth am gyriannau caled? Yn eich gliniaduron, os oes gennych hŷn un, neu yn eich cyfrifiadur n ben-desg, neu yn sicr yn gweinyddwyr heddiw, lle mae gennych gyriannau caled sy'n cael terabyte o le, 4 terabeit o le, yn dda beth mae hynny'n ei olygu? Mae ymgyrch galed gyda 1 terabeit o ddulliau gofod mae rhifau 1 trillion bytes tu mewn iddo rywsut, neu cyfwerth ei 8 trillion darnau y tu mewn. Byddai 1 terabeit fod yn 8 terabits neu 1 trillion ddarnau, a oedd yn yn golygu os oes gennych caled gyrru, mae gennych rhywsut neu arall triliwn 0 yn a thu mewn 1 ohoni. Ac os ydym yn unig yn edrych ar gael llun fympwyol o 'n anawdd cathrena cynrychiolydd, mae hyn yn beth yn anodd Gallai gyrru fel arfer yn edrych fel y tu mewn. Mae'n, hefyd, yn fath o fel hen chwaraewr phonograph ond yn gyffredinol gyda cofnodion lluosog y tu mewn, felly i speak-- lluosog platiau, gan eu bod gelwir, metel disgiau cylchlythyr, a Yna, ychydig pen darllen, llawer fel hen chwaraewr recordiau. A bod pen darllen symud yn ôl ac allan a rhywsut yn darllen y darnau. A beth sydd ymlaen platiau hyn, hyd yn oed er na allwn pobl eu gweld, naill ai yn realiti neu yn y llun, mae gronynnau magnetig bach bach. A hyd yn oed os ydych wedi hir anghofio sut trydan yn gweithio, gronyn magnetig sy'n godir yn gyffredinol Mae pen gogleddol a de end-- felly gogledd a'r de. Ac felly yn y byd yn unig Penderfynodd beth amser yn ôl hynny, os protocol magnetig y bôn yn cyd-fynd fel hyn, o'r gogledd i'r de, gadewch i ni alw bod 1. Os yw'n hytrach de-gogledd, gadewch i ni dim ond galw bod 0. Ac felly os oes gennych o gael i chi triliwn bach bach magnetig particles-- a gobeithio, dyfeisgarwch caledwedd yn Er mwyn troi y rhai o gwmpas fel y gwelwch fit-- os ydych am yn cynrychioli criw cyfan o 0, rydych jyst angen 8 gronynnau magnetig i gyd halinio fel hyn. Ac os ydych chi am i gynrychioli wyth 1 yn, 'ch jyst Mae angen i 8 gronynnau magnetig alinio cefn wrth gefn wrth gefn fel hyn. Beth ydw i'n ei olygu wrth y gronynnau magnetig? Dweud y gwir, yr holl flynyddoedd yn ddiweddarach, y beth sy'n dal i ddod i fy meddwl yw hyn guy, os ydych yn Tyfodd i fyny gyda y peth hyn. Mae hwn yn little-- i y rhai a unfamiliar-- ychydig tegan plentyndod sy'n Mae dyn di-flew hyn yma fod gan y rhain i gyd du bach bach gronynnau magnetig a ddaw yn ei. A defnyddio'r ffon coch, sydd ychydig yn fagnet, gallwch fath o roi fwstas iddo ef neu aeliau neu wallt neu unrhyw beth arno. Felly, mewn gwirionedd, os ydym chwyddo mewn, er enghraifft, mae hyn yn yw'r math o gêm i chi Gall chwarae gyda Wooly Willy. A dyma dim ond i ddweud, mae'r rhain yn gronynnau magnetig llawer mwy nag mewn gwirionedd ar yriant caled, a llawer llai o gronynnau magnetig. Ond gadewch i ni mewn gwirionedd yn gweld yna os oes gennych gronynnau magnetig bach mewn 'n anawdd cathrena, sut y gallwch mewn gwirionedd defnyddio hynny i gynrychioli data. [VIDEO Playback] -Y Gyriant caled yw lle eich cyfrifiadur storfeydd y rhan fwyaf o'i ddata parhaol. I wneud hynny, mae'r data teithio o RAM ar hyd gyda signalau meddalwedd sy'n dweud wrth y anawdd cathrena sut i storio data hwnnw. Mae'r cylchedau anawdd cathrena cyfieithu rheini signalau i mewn i amrywiadau foltedd. Mae'r rhain, yn eu tro, yn rheoli y gyriant caled yn symud parts-- rhai o'r ychydig symud rhannau ar ôl yn y cyfrifiadur modern. Mae rhai o'r signalau rheoli modur, sy'n troelli platiau gorchuddio-metel. Mae eich data mewn gwirionedd storio ar platiau hyn. signalau eraill yn symud y pennau darllen / ysgrifennu i ddarllen neu ysgrifennu data ar y platiau. Mae'r peiriannau mor fanwl gywir nad yw gwallt dynol gallai hyd yn oed pasio rhwng y penaethiaid a nyddu platiau. Eto i gyd, mae'r cyfan yn gweithio ar gyflymder wych. [DIWEDD Playback] A gallwch weld yn y ddiwedd y fideo, mae platiau lluosog yn gyffredinol. Ac fel y pen darllen Nid yn unig yw darllen y top. Mae'n fath o fel tair neu pedwar neu fwy o benaethiaid ddarllen y symudiad fel hyn, darllen data ar yr un pryd. Felly mae llawer o cymhlethdod a math o amseru sy'n cymryd rhan mewn 'n anawdd cathrena. A'r peth yn troelli 'n sylweddol darn gyflym, felly mae llawer o gymhlethdod. Ond gadewch i chwyddo i mewn ychydig yn ddyfnach ac weld lle mae gronynnau magnetig hyn a sut ydym yn ei gael ar eu cyfer. [VIDEO Playback] edrych -Let yn yr hyn yr ydym jyst yn gweld yn araf. Pan fydd pwls byr o drydan yn cael ei anfon at y pennaeth darllen / ysgrifennu, mae'n chnithiau ar electromagnetig bach am ffracsiwn o eiliad. Mae'r magnet yn creu maes, sy'n newid polaredd a tiny, bach cyfran o'r gronynnau metel sy'n côt arwyneb pob ddysgl yn. Mae cyfres patrwm rhain tiny ardaloedd a godir i fyny ar y ddisg yn cynrychioli ychydig o ddata yn y system rif deuaidd a ddefnyddir gan gyfrifiaduron. Yn awr, os bydd y presennol yn cael ei anfon un ffordd drwy'r pen darllen / ysgrifennu, yr ardal yn polarized mewn un cyfeiriad. Os bydd y presennol yn cael ei anfon yn i'r cyfeiriad arall, mae'r polareiddio yn cael ei wrthdroi. Sut ydych chi'n cael data oddi ar y disg caled? Dim ond yn gwyrdroi'r broses. Felly mae'n y gronynnau ar y disg sy'n cael y presennol yn y pen darllen / ysgrifennu sy'n symud. Rhoi at ei gilydd miliynau o segmentau magnetized hyn, a oes gennych ffeil. Yn awr, efallai y bydd y darnau o ffeil unigol yn gwasgaru ar hyd a lled platiau ymgyrch, a math o fel y llanast o bapurau ar eich desg. Felly ffeil arbennig iawn yn cadw cofnod o lle mae popeth yn. Peidiwch â ydych yn dymuno oedd gennych Rhywbeth fel hynny? [DIWEDD Playback] Felly cael crybwyll yno, efallai, yw y pwnc o ddoe o ddileu. Pan fyddwch yn dileu ffeil, ddoe dywedasom bod cyfrifiadur yn ei wneud beth, pan fyddwch yn llusgo rhywbeth i'r bin ailgylchu neu fin sbwriel? 'I jyst yn anghofio hynny. Ond mae'r 0 ac 1, a yr gronynnau magnetig bod yn edrych fel coch a glas pethau yma, neu fy mraich yma, yn dal i fod yno ar y disg caled. Ac felly mae yn bodoli software-- Norton Utilities a Yesteryear ac eraill yn fwy modern software-- mai dim ond Bydd sganio 'n anawdd cathrena gyfan chwilio at bawb sydd 0 ac 1, a gan ei fod yn ymddangos bod y rhan fwyaf o formats-- ffeil dogfennau Word, ffeiliau Excel, delweddau, fideo files-- i gyd yn cael rhai batrymau sy'n gyffredin yn eu plith. Mae pob ffeil fideo gallai fod o fideo gwahanol, ond mae'r nifer yn gyntaf darnau fel arfer yr un fath. Neu mae'r sawl darnau diwethaf yr un fath fel arfer. Ac felly gyda thebygolrwydd uchel, gallwch chwilio am batrymau hynny. A hyd yn oed os yw'r ffeil wedi ei anghofio, gallwch ddweud gyda thebygolrwydd uchel, ond mae hyn yn edrych fel dogfen Word, yn gadael i adennill a heb ei anghofio, os mynnwch. Ac felly dyna sut y gallwch adennill data sydd naill ai'n wedi bod yn ddamweiniol dileu neu eu dileu neu'n fwriadol dileu am ba bynnag ddibenion. Ar y llaw arall, dileu diogel sy'n gwneud beth yng nghyd-destun llun fel hyn? Yn union, yn gwneud nhw i gyd hap. Felly mae'n fath o symud rhai o i lawr, rhai ohonynt i fyny, yn gadael rhai ohonynt yn ddigyfnewid, ac Yn gyffredinol, yn gwneud sŵn ar hap allan ohono, neu dim ond efallai yn gwneud pob un o'r nhw 0 neu bob un ohonynt 1 yn. A bod yn rhy gall yn gyffredinol prysgwydd eich data i ffwrdd. Felly gadewch i ni ddychwelyd yn awr at y mater o feddwl cyfrifiannol, lle mae gennym y mewnbynnau fformiwla. Ac algorithmau yn rhoi chi allbynnau yn y pen draw. Rydym yn canolbwyntio yn awr ar fewnbynnau a allbynnau, oherwydd erbyn hyn, yr wyf yn hawliad gennym ffordd o cynrychioli mewnbynnau ac allbynnau. Rydyn ni'n mynd i ddefnyddio deuaidd. Ac ni waeth beth yr ydym yn yn awyddus i gynrychioli heddiw, boed yn rhif neu lythyr neu filoedd o hynny mewn llyfr ffôn neu ddelweddau neu ffilmiau, ar y diwedd y dydd, mae'r cyfan yn 0 ac 1 yn. Ac yr wyf yn honni bod, er bod hyn yn fyd syml super gyda dim ond 0 yn ac 1, a gallwn adeiladu ein hunain i fyny. Ac rydym wedi gweld un enghraifft o bod â llythyrau hyd yn hyn. Felly gadewch i ni ganolbwyntio nawr ar hyn cynhwysyn canol, algorithm. A gadewch i ni ddychwelyd at hyn enghraifft o Mike Smith. Felly, yn y llyfr ffôn hwn, sy'n rhaid cyfaddef, nid ydym yn defnyddio cymaint anymore, mae 'na broblem i'w datrys. Rydym yn awyddus i ddod o hyd i rywun fel Mike Smith. A'r hyn y gellid ei wneud i ddod o hyd i Mike? Wel, gallwn i jyst agor i fyny hon llyfr, yn dechrau ar y dudalen gyntaf, ac yn sylweddoli, oh, dwi yn yr adran A. Nid yw Mike yno. Mae angen yr adran S i Smith wyf. Felly, dim ond cadw droi un dudalen ar y tro. Gadewch i mi esgus bod hyn i gyd tudalennau gwyn a thudalennau nid melyn, oherwydd nid ydym yn mynd i ddod o hyd i Mike yn y tudalennau melyn beth bynnag. Ond dw i'n yn y tudalennau gwyn. Ac yn awr, Im 'yn y adran B. Dwi dal ddim wedi dod o hyd iddo. Felly, yr wyf yn cadw troi un dudalen ar y tro. Mae hwn yn algorithm. Mae'n set o gyfarwyddiadau ar gyfer datrys rhyw broblem. Mewn geiriau eraill, edrychwch ar dudalen, os nad yw Mike sydd ymlaen iddo, trowch dudalen, ac ailddarllediadau eto ac eto ac eto, yn ddelfrydol yn edrych i lawr wrth i chi bod yn gwneud hynny. Felly, mae algorithm hwn, y broses hon, yn gywir? Mae'n ddrwg gennym. Na, yr wyf yn clywed rhai rhifau. Iawn, ond mae'n yw-- yeah, mae'n sicr yn ddiflas. Fel, byddwn yn yma drwy'r dydd os byddaf cadw chwilio am Mike ar y cyflymder hwn. Ond gadewch i mi hawlio ei fod yn gywir. Mae'n dwp, ond mae'n gywir. Ar ddiwedd y dydd, hir ag y gallai cymryd, byddaf yn dod o hyd i Mike os ei fod mewn 'na ac rwy'n ei dalu sylw. Ac yr wyf yn y pen draw yn cyrraedd ei dudalen. Ac os wyf yn mynd yn rhy bell, os Cyrraedd yr adran T, yna gallaf ychydig yn gwneud y gorau a dim ond dweud, EM, i gyd ei wneud. Nid oes hyd yn oed angen i mi i wastraff amser yn mynd i'r Z. Ond mae hyn yn iawn dull llinol, os ydych yn Bydd, rhyw fath o iawn chwith i'r dde dull, llinell syth. Ac yn ei gywir ond yn araf. Felly, yr wyf yn cofio o ysgol radd, didoli o Optimization o grader cyntaf, ble Dysgais sut i beidio â chyfrif gan rai ond gan twos-- felly 2, 4, 6. Mae'n A, llawer caletach i wneud, ond mewn theori, mae'n faster-- 8, 10, 12, 14, ac yn y blaen. Beth am y algorithm? A yw'n fwy effeithlon? A yw'n gyflymach? GYNULLEIDFA: Mae'n effeithlon. DAVID Malan: Yeah, felly mae'n def-- mae'n llythrennol ddwywaith mor gyflym, gan dybio fy mod peidiwch â chael faglu i fyny gyda fy bysedd. Mae'n ddwywaith mor gyflym, oherwydd Im 'yn troi drwy ddwy tudalennau ar unwaith yn hytrach nag un, ond mae'n o bosibl yn gywir, oherwydd pam? GYNULLEIDFA: Rydych chi'n sgipio rhai. DAVID Malan: Iawn, beth os Mike digwydd i'w sandwiched-- efallai pan fyddaf yn ddiweddarach yn y llyfr ffôn, Mike digwydd i fod gwasgu rhwng y ddwy dudalen, a Fi jyst blindly sgip drosto. Felly mae angen ychydig o atgyweiria yno. Ar ôl i mi daro yr adran T, yr wyf yn Ni all ddweud yn unig yn hyderus, ni wnaethom ddod o hyd i Mike Smith. yn ôl pob tebyg yn rhaid i mi dyblu yn ôl. Neu yn wir, ar ôl i mi gyrraedd rhywun enwir S-N, yn hytrach na S-M ar gyfer Smith, ar unwaith, gallwn i ddyblu yn ôl, oherwydd efallai ei fod oedd ar y dudalen flaenorol. Ond nid oes rhaid i mi dyblu yn ôl yn hyn. Mewn theori, os wyf yn gwneud hynny ar y dde amser, Fi jyst mynd yn ôl un dudalen. Felly mae'n ychwanegu dim ond un cam ychwanegol. Felly, yr wyf wedi mynd ddwywaith mor gyflym, ond ei gostio i mi un dudalen ychwanegol. Ond mae hynny'n teimlo fel buddugoliaeth net. Ond nid yw hyn yn sut y rhan fwyaf o bobl yn Byddai ystafell hon yn datrys y broblem hon. Beth fyddai person nodweddiadol, efallai Ychydig flynyddoedd yn ôl yn ei wneud, i ddod o hyd Mike Smith? Yeah, nid oedd yn dod o hyd i Mike. Beth ydw i'n gwneud? Felly, yn cael ychydig yn agosach, ond yr wyf yn ei wneud know-- hyn sy'n wir am lyfr ffôn? GYNULLEIDFA: Mae'n dilyniannol. DAVID Malan: Mae'n dilyniannol. Mae'n wyddor. Ac felly os wyf yn yr adran M, Mae Mike yn amlwg ar y dde, gallaf llythrennol ddeigryn y broblem yn half-- 'i' fel arfer yn haws na deigryn that-- y broblem yn ei hanner a'i daflu i ffwrdd, fel eu bod yn awr, mae gen i broblem sy'n bellach yn 1,000 pages-- a oedd yn anodd, oherwydd fy mod yn credu fy mod mewn gwirionedd yn rhwygo y llyfr ffôn, nid yw hyn adeg-- 1,000 o dudalennau, ond 500. Felly mae'r broblem yn llythrennol hanner mor fawr. A dyna 'n bert cymhellol, gan fod gyda fy algorithmau blaenorol, fersiwn 1 a 2, yr oeddwn yn unig yn gwneud y broblem un dudalen llai, dwy dudalen llai ar y tro. Tra yn awr, yr wyf yn ei gwneud yn 500 Tudalennau llai gyd ar unwaith. Iawn, felly yn awr, Karim yn cynnig fy mod yn mynd at yr hanner dde. Felly, yr wyf i'n mynd i fynd yn fras at y canol, rhoi neu gymryd. Ac os wyf yn gwneud hyn yn fathemategol, Gallwn fynd i'r dde i'r canol. Ac yn awr, yr wyf yn sylweddoli, o, Im 'yn yr adran T. Fi 'n weithredol yn mynd yn rhy bell. Ond gallaf, unwaith eto, rhwygwch y broblem yn ei hanner, taflwch ef. Ac mae fy bytes nid mor fawr. Dim ond, beth, 256 tudalen neu 250 tudalennau, rhoi neu gymryd ar hyn o bryd. Ond mae'n dal i fod yn ffordd fwy nag un dudalen neu ddwy dudalen. Ac felly yn awr, yr wyf yn mynd yn fras i'r canol. O, doeddwn i ddim yn mynd yn eithaf ddigon pell yn awr. Felly, yr wyf yn ailadrodd, ailadrodd, ailadrodd, ailadrodd, hyd nes fy mod gobeithio gadael gyda dim ond un dudalen. Felly dyna gwahodd y cwestiwn, os wyf dechrau gyda tua 1,000 o dudalennau, faint o gamau wnaeth hi gymryd i mi gyda fersiwn 1 o fy algorithm? Wel, os yw Mike yn y S adran, yn yr achos gwaethaf, mae hynny'n eithaf agos at diwedd y wyddor. Felly, os y llyfr ffôn Mae 1,000 o dudalennau, 'N annhymerus' dod o hyd i Mike o fewn 1,000 o dudalennau, rhoi neu gymryd. Efallai ei fod yn hoffi 800 neu hynny, ond mae'n eithaf agos at 1,000. Tra, yn yr ail algorithm, faint o dudalen yn troi maximally efallai i mi ei gwneud yn ofynnol i ddod o hyd Mike Smith? Mae 1,000 o dudalennau, ond rwy'n nhw dau yn ei wneud ar y tro. Iawn, felly max fel 500ish, oherwydd os byddaf yn mynd drwy'r llyfr ffôn cyfan, ac ar y pwynt, gallaf stopio. Ond gallaf eillio oddi ar ychydig gan jyst stopio ar yr adran T. Ond mae'n yn 500 o dudalennau gwaethaf achos. Felly, faint o weithiau y gallaf rannu 1,00o-dudalen llyfr ffôn yn ei hanner eto ac eto ac again-- o 1,000 at 500 i 250-125? Pa mor hir cyn i mi daro un dudalen? Yeah, mae'n tua 10. Yn dibynnu ar talgrynnu ac o'r fath, mae'n tua 10 tudalen cyfanswm angen ei droi neu mae angen eu rhwygo llyfrau ffôn. Felly dyna 'n bert pwerus. Rydym yn dechrau gyda phroblem 1,000-dudalen ym mhob un o'r tri o'r storïau hyn. Ond yn y algorithm cyntaf, mae'n cymryd i mi, achos gwaethaf, 1,000 dudalen yn troi i ddod o hyd Mike. Ail algorithm, 500 tudalennau i ddod o hyd i Mike. Trydydd algorithm, 10 tudalen i ddod o hyd Mike. Ac mae hyd yn oed yn fwy bwerus pan fyddwch yn meddwl am y math o senario gyferbyn. Gadewch i ni dybio bod y cwmni ffôn nesaf flwyddyn efallai uno dwy dref gyda'i gilydd, ac mae'r llyfr ffôn yn sydyn mae hyn trwchus, yn lle hwn y, felly 2,000 o dudalennau yn hytrach na 1,000. Wel, fy algorithm cyntaf yn chwilio am Mike Smith mewn llyfr ffôn 2,000-dudalen, achos gwaethaf, mae'n mynd i gymryd faint o dudalen yn troi y flwyddyn nesaf? llyfr ffôn yw 2,000 o dudalennau, so-- yn dda, nid yw un yn fwy. Os bydd y llyfr ffôn ddwywaith mor drwchus mewn yr algorithm cyntaf, algorithm cyntaf, 2,000, dde? Yn yr achos gwaethaf, Mike yn wirioneddol cau i ddiwedd y llyfr, felly mae'n 2,000 tro dudalen. Ail algorithm mynd trwy deuoedd, fel 1,000 o dudalennau. Ond beth am yn fy nhrydedd ac algorithm mwyaf diweddar? Os bydd y cwmni ffôn dyblu'r nifer o dudalennau o 1,000 i 2,000, faint o weithiau mwy hangen arnaf rhwygo'r y llyfr yn ei hanner i ddod o hyd Mike? GYNULLEIDFA: Dim ond un. DAVID Malan: Dim ond un yn fwy, oherwydd gyda un dudalen deigryn, gallaf llythrennol rannu'r a gorchfygu, os gwnewch, y broblem honno yn ei hanner cymryd damaid enfawr allan ohono. Ac felly mae hyn yn enghraifft o effeithlonrwydd a gellir dadlau algorithm gyda y mae pob un ohonom yn math o reddfol cyfarwydd. Ond mae'r un mor gywir fel fy algorithmau eraill gyda hynny tweak ar gyfer yr ail algorithm, ond mae'n llawer mwy effeithlon. Ac yn wir, yr hyn cyfrifiadur gwyddonydd, neu yn ei dro yn rhaglennydd, Byddai fel arfer yn ei wneud wrth ysgrifennu cod yn ceisio at chyfrif i maes, iawn, dydw i ddim eisiau fy rhaglen dim ond i fod yn gywir, Rwyf hefyd eisiau iddo fod yn effeithlon a datrys problemau yn dda. Dychmygwch yn y byd go iawn heddiw, fel Google mynegeion, chwiliadau fel biliynau o dudalennau, dychmygwch os ydynt yn Defnyddir y algorithm cyntaf i ddod o hyd cathod ymhlith biliwn pages-- edrych ar y dudalen gyntaf yn eu cronfa ddata, yr ail, y trydydd, dim ond edrych ar gyfer cath, yn chwilio am gath. Dyna 'n bert darn araf byddai'n ymddangos. Gallent yn lle hynny defnyddio rhywbeth Gelwir chwilio deuaidd, a oedd yn oes bi coincidence-- sy'n golygu dau, rydym yn cadw rannu rhywbeth yn 2, yn half-- gallent ddefnyddio chwiliad deuaidd ac efallai dod o hyd i hyd yn oed yn cathod yn gyflymach, neu beth bynnag yr ydych yn chwilio am. Ac yn ddidwyll, mae hyd yn oed algorithmau ffansi bod yn gwneud llawer mwy na dim ond rhannu pethau yn eu hanner er mwyn dod o hyd i wybodaeth yn gyflym. A byddwn yn siarad ychydig am y rhai ar ôl cinio heddiw. Felly gadewch i mi jyst ceisio cynrychioli hyn. Nid oes angen i ni fynd i mewn i unrhyw mathemateg neu niferoedd gwirioneddol. Gallwn siarad am hyn yn y haniaethol. Ond gadewch i mi yn unig yn cynnig, os ydych yn yn cael trafodaeth bellach gyda'r peirianwyr cynnig algorithm hwn ac rydych yn ceisio gwneud penderfyniad cyfrifo, oherwydd efallai y peiriannydd yn dweud i chi, rydych yn yn gwybod beth, gallaf weithredu chwilio llinol mewn fel dau funud. Mae mor hawdd. Nid yw chwiliad deuaidd yw bod ffansi, ond mae'n mynd i fynd â mi yn hoffi 10 munud, felly 5 gwaith yn hirach. Mae 'na masnach yma, hyd yn oed mewn termau o penderfynu pa feddalwedd i ysgrifennu. A ydych yn ysgrifennu'r algorithm symlach, a fydd dim ond yn mynd â chi ddwy funud? Neu a ydych yn treulio mwy o amser, 10 munud, ysgrifennu'r algorithm ffansi? Sut ydych chi'n penderfynu y math hwnnw o gwestiwn? Neu fe allech chi wneud yn ychydig yn fwy real. Rwy'n dweud wrth fy bos mae'n mynd i gymryd mi naill ai un wythnos neu 10 wythnos i weithredu'r meddalwedd yn y modd hwn, sut ydych chi'n penderfynu pa algorithm i wyrdd-golau? Karim? GYNULLEIDFA: Y gynulleidfa, yr wyf yn dyfalu. DAVID Malan: Y gynulleidfa. Beth ydych chi'n ei olygu gan y gynulleidfa? GYNULLEIDFA: Os mae'n mynd i gael ei ddefnyddio gan ddefnyddwyr pwy [Anghlywadwy] gan ddefnyddwyr [Anghlywadwy]. Ond os yw'n rhywbeth rydych yn dim ond gwneud i chi eich hun i hwyluso problem, [Anghlywadwy] gyflymach. DAVID Malan: Yeah, mae'n gyflym ac budr yn ffordd dda i'w ddisgrifio. Yn wir, os ydych chi'n disgrifio llawer o fy amser yn yr ysgol grad, lle yn aml yn amseroedd, Ysgrifennais cod drwg ymwybodol so-- o leiaf, dyna sut yr wyf yn rhesymoli iddo-- ymwybodol felly, oherwydd er fy mod yn ysgrifennu cod a oedd yn gymharol araf i weithredu, Roeddwn yn gallu ysgrifennu y cod ei hun eithaf cyflym, gwariant unig munud neu beidio oriau ddyddiau. Ac mae'n troi allan, yr wyf yn sydd eu hangen o bryd i'w gilydd i gysgu. Felly hyd yn oed os yw fy cod sy'n ofynnol 8 awr i redeg, yn dda mae hynny'n iawn, 'n annhymerus' jyst yn mynd i gysgu tra ei fod yn rhedeg. Felly, ar y pryd, roeddwn i'n meddwl oedd hyn yn glyfar iawn, hyd yn oed er fy mod yn ôl pob golwg gweithio drwy fy PhD yn araf iawn. Ond mae'r gwrthwyneb o hynny yn hynny, meddalwedd os wyf yn ysgrifennu i bobl eraill sydd yn bwysig yn fwy na fi, wel, eu cael aros 8 awr i fynd yn ôl eu canlyniadau chwilio Nid yw'r cyfan sydd gymhellol. Ac felly dreulio mwy o amser ymlaen llaw i ysgrifennu meddalwedd sy'n fwy effeithlon, yn fwy fel ein trydydd algorithm, yn ôl pob tebyg o fudd i'r defnyddwyr dros amser. Felly, mae'n wir yn dibynnu drosodd amser sut costau hynny adio i fyny. Os ydych yn mynd i gael ei ysgrifennu meddalwedd i'w ddefnyddio unwaith, yn ôl pob tebyg y gallai yn ogystal gwneud gyflym ac yn frwnt, fel maen nhw'n dweud. Dim ond yn ei daflu at ei gilydd. Mae'n cod sy'n embaras chi, mae mor ddrwg, ond mae'n cael y swydd wneud yn gywir, hyd yn oed er nad yw'n effeithlon. Ar y llaw arall, byddwch yn treulio mwy o amser ar rywbeth, 'i jyst yn iawn. Ac yna hamorteiddio dros gyfnod o amser, cost hynny ymlaen llaw o amser yn ôl pob tebyg yn werth chweil, os ydych yn cadw optimeiddio ar gyfer yr achos cyffredin. Ac yn wir, dyna thema mewn rhaglennu, neu gyfrifiadur gwyddoniaeth yn fwy yn gyffredinol, yn ceisio gwneud y gorau nid ar gyfer yr achos anghyffredin ond mae'r achos-- cyffredin pa weithrediad yn mynd i ddigwydd eto ac eto? Os ydych chi'n mynd i gael biliynau o ddefnyddwyr chwilio ar eich gwefan, mae'n debyg y dylech dreulio'r ychwanegol wythnosau o flaen llaw yn ysgrifennu gwell meddalwedd, fel bod pob un o'ch defnyddwyr yn elwa. Nawr, gadewch i ni geisio i ddal hon Ychydig ddarluniadol, ond nid cymaint yn rhifol. Felly dyma dim ond siart hen ysgol. A gadewch i mi ddweud bod hwn yn amser. Ac nid dim ots what-- mewn gwirionedd, na, nid yw amser. Gadewch i ni roi hynny ar yr echelin arall. Dewch i ddweud mai dyma'r tro, ac mae hyn yn maint y broblem. A gwyddonydd cyfrifiadurol Efallai y galw yn gyffredinol mae hyn yn unig n. n yn debyg ein mynd-i'r amrywiol, lle n yn rhif, n rhif, ac mae'n y nifer o ba bynnag mewnbynnau sydd gennych. Felly, yn yr achos hwn, mae n yn y nifer o dudalennau. Felly gallai fod yn 1,000 yn yr achos hwn, rydym newydd ddweud. Felly, gall fod yn unrhyw amser uned o fesur. Efallai, 'i' ail. Efallai, mae'n ddyddiau. Efallai, mae fel eu tro dudalen. Nid yw'n fater. Beth bynnag rydych am ei gyfrif mewn, bod Bydd yn amser neu gost cyfwerth ei. Felly, gyda hynny yn gyntaf iawn algorithm, os wyf i, er enghraifft, Roedd llyfr ffôn 1,000-dudalen, Rydw i'n mynd i dynnu dot yno, oherwydd os yw'n 1,000 o dudalennau, fe gymerodd tua 1,000 o dudalen yn troi, rhoi neu gymryd. Ac yna os byddaf wedi cael llyfr ffôn 2,000-dudalen, a dw i'n mynd i dynnu ail dot yma, oherwydd ar gyfer 2,000 o dudalennau, mae fel 2,000 eiliad neu dudalen yn troi neu beth bynnag. Ac felly pan y dywedais yn gynharach, mae'n math o berthynas linol, a oedd yn fwriadol, am fy mod i eisiau yn ddiweddarach on-- hawl now-- i dynnu llinell. Mae'n fath o syth perthynas llinell. Mae'r llethr yn 1/1, os mynnwch. Yn y cyfamser, yr ail algorithm Dywedodd, os oes gennych 1,000 o dudalennau ac yr ydych yn defnyddio'r ail algorithm, lle rwy'n gyfrif gan 2, gan droi dwy dudalen ar y tro, dylwn dynnu dot isod neu uwch fy dot gwreiddiol? GYNULLEIDFA: Isod. DAVID Malan: Isod, oherwydd fel y gwelsom, mae'n cymryd llai o amser, hanner cymaint o amser. Felly dylai'r dot fod yn hanner mor uchel ag y llall. Ac yn un fargen dros yma, dot hwn yn ôl pob tebyg fod yn fras yno. Ac felly fy ail algorithm, yn yr un modd, Mae perthynas linol gydag amser. A gallwn ei dynnu fel y cyfryw. Felly, yn awr, y drydedd a'r olaf algorithm yn ychydig yn galetach i dynnu. Ond reddfol, os gen i 1,000 tudalennau gyda fy nhrydydd algorithm, yn unig y dylai mynd â fi yn hoffi 10 cam. Ac os gen i 2,000 o dudalennau gyda fy nhrydydd algorithm, dylai beidio mynd â fi 10 grisiau, ond 11, dim ond un yn fwy. Felly, rydym yn unig prin yn mynd i weld hyn. Ac mae'n troi allan, os Rwy'n chwyddo i mewn ar hyn, rwy'n mynd i gor-ddweud i greu effaith, siâp y llinell, yn y pen draw, Nid yw line-- syth oherwydd, yn wir pe bai'n, byddai'n edrych yn fwy fel y others-- mewn gwirionedd mae'n llinell crwm hynny, os ydym yn chwyddo i mewn, yn mynd i edrych yn llawer mwy fel hyn. Iddo-- dda, OK, anwybyddwch y rhan hon. Dyna oedd fy ysgrifbin mynd o ongl. Mae'n llinell crwm sydd bob amser cynyddu, bob amser yn, bob amser yn, bob amser yn cynyddu, ond dim ond dim ond prin. Ac felly dros gyfnod o amser, mae gennych berthynas sy'n fwy fel hyn. Mae'n bron yn edrych yn syth. Ond mae'n cynyddol mor araf. Ond ar gyfer bron pob pwynt ar hyd eich echelin-x, echel lorweddol, mae'n is na llinellau eraill hynny. Felly, gallai hyn fod yn berthynas n, lle os oes gennych tudalennau n, mynd â chi n eiliad. Gallai hyn fod yn berthynas n / 2. Mae gennych tudalennau n, mae'n cymryd chi n / 2 eiliad, hanner cymaint. Ac mae hyn yn logarithmig perthynas, a oedd yn os cofiwch, mewngofnodwch sylfaen 2 o n cipio y math hwn o dwf, fel petai. Felly dyma'r math o sanctaidd greal ymhlith y tri o'r rhain yma, oherwydd mai dim ond gymaint mwy effeithlon, ond gellir dadlau yn fwy cymhleth i'w gweithredu. Unrhyw gwestiynau? Wel gadewch i mi wneud hyn, gadewch mi agor testun ffenestr dim ond er mwyn i ni geisio ffurfioli rhywbeth yma. Felly, gadewch i mi fynd yn ei flaen yn awr ac gweithredu algorithm hwn gyfer dod o hyd Mike Smith mewn cod, os mynnwch, cod pseudocode. Dydw i ddim yn mynd i ddefnyddio Java neu C ++. Im 'jyst yn mynd i ddefnyddio math o cystrawen Saesneg-fel, yr ydym Byddai yn gyffredinol yn galw cod pseudocode. Yma, mae gen i wag ffenestr. Ac yr wyf ddim yn dweud cam 1 o'r iawn algorithm cyntaf yw codi'r llyfr ffôn. Cam 2 ar agor llyfr i dudalen gyntaf. Bydd Cam 3 yn edrych ar tudalen i Mike Smith. Os ar dudalen, ffoniwch Mike. dro dudalen ac arall yn mynd i gam 3. Done, gadewch i ni ddweud. Ac felly nid yw'n hollol berffaith, y byddwn yn gweld mewn munud. Ond gadewch i ni ystyried pa cysyniadau Rwyf wedi cyflwyno yma. Felly camau 1 a 2 a 3 yn 'n bert lawer berfau. Maent yn ddatganiadau, actions-- wneud hyn. Ac felly mewn rhaglennu iaith, byddem yn gyffredinol eu galw datganiadau neu swyddogaethau neu weithdrefnau, galw yn unrhyw nifer o bethau. Ond dim ond eu bod yn actions-- wneud hyn. Cam 4 yn sylfaenol wahanol, oherwydd ei fod yn fath o yn gofyn cwestiwn. Mae'n dweud ein bod garedig am o fforch yn y ffordd. Os yw Mike yn ar y dudalen, ffoniwch ef, felly trowch i'r chwith, os mynnwch. Ac os nad yw, ewch yn ôl at rai page-- eraill neu yn hytrach, mae'n ddrwg gennyf, fynd yn ôl i ryw gam arall, a oedd yn induces rhyw fath o lluniad dolennu. Ac rydym yn ei wneud eto ac eto ac eto. Ac mewn gwirionedd, eich bod yn gwybod beth? Yeah. arall os ar ddiwedd y stop llyfr. Felly mae angen rhyw fath o draean cyflwr, oherwydd eich bod Ni all gadw troi'r ad dudalen nauseum, oherwydd yn y pen draw, 'n annhymerus' taro diwedd y llyfr. A gallai bug mewn rhaglen fod yn Nid yw rhagweld y senario. Ac yna Fi jyst sylweddolais, oh, arhoswch y funud, mae angen trydydd senario wyf. Os ydw i allan o dudalennau, yr wyf yn Dylai 'n sylweddol dim ond rhoi'r gorau. Fel arall, mae'n anniffiniedig. Beth sy'n mynd i ddigwydd os wyf yn cadw gan ddweud trowch y dudalen a mynd yn ôl, dyma pan fydd cyfrifiaduron rhewi neu ddamwain, pan fyddwch yn taro rhywfaint o sefyllfa annisgwyl fel 'na. Nawr, beth am Mike trydydd algorithm-- Smith codwch y llyfr ffôn, llyfr agored i first-- i na, nid tudalen gyntaf y tro hwn, i middle-- oh, yn dda, y byddent yn yr ail algorithm. Gadewch yn unig skip i'r trydydd. GYNULLEIDFA: O, mae'n ddrwg gen i. DAVID Malan: Mae hynny'n iawn. Gadewch yn unig skip i'r agored third-- i ganol ac yn awr yn chwilio am Mike Smith. os ar dudalen, ffoniwch Mike. Ac yna beth ydym ni eisiau ei ddweud yma? arall beth? Gallwn fynegi hyn mewn unrhyw nifer o ffyrdd. Does dim ateb cywir. OK, os nad eto, ond mae angen i ni be-- OK, yr ydym yn awyddus i rannu yn ddau, ond a ydym am fynd i'r chwith neu ewch i'r dde? Sut ydym yn mynegi'r syniad? Wel, rhag ofn Mike, ie, dyna deg. Ond Iawn, felly dyna mewn gwirionedd bwynt da. Mae hynny'n iawn. Byddwn yn dal ati gyda'r rhesymeg hon. So-- GYNULLEIDFA: Llai na hanner. DAVID Malan: Yeah. Felly arall os dudalen yw, byddwn yn dweud, llai na Smith, i'r chwith o'r Smith, then-- gadewch i ni weld, yn mae hyn yn mynd i gymhlethu? arall os dudalen yn dod gerbron Smith, dagrau yn ei hanner, ei daflu i ffwrdd ac mae hanner? GYNULLEIDFA: Roeddwn i'n meddwl a oedd [Anghlywadwy]. DAVID Malan: Rwy'n clywed y ddau ateb. GYNULLEIDFA: Chwith. DAVID Malan: OK, taflu Gadawodd hanner i ffwrdd, fel Lakisa dywedais yn gynharach, mae'r chwith hanner, yna yr wyf yn fath o eisiau i ddim ond mynd i'r canlynol-- byddaf yn mynd i'r dde. Neu cyfwerth ei, ac yr wyf yn gwneud ychydig tipyn o lanast o'r dechrau yma, Rwyf yn effeithiol eisiau ewch i gam 2 eto, lle agored i'r middle-- neu open-- ie, gadewch i ni dim ond dweud, tudalennau i canol. Ac mae hyn chyfyngderau ei. mwyach Mae'n llyfr. 'I' jyst hanner y llyfr, tudalennau mor agored i ganol. Roedd else-- bron yno. Cam 6, arall os dudalen yn dod ar ôl Smith, rwygo yn ei hanner, taflu hanner i ffwrdd i'r dde, yna ewch i gam 2. arall roi'r gorau iddi, pedwerydd senario os nid oes gennym unrhyw dudalennau gadael i droi. Felly gallem glanhau hyn i fyny. A dylem lanhau hyn i fyny. Mae hwn yn cod pseudocode iawn, os ydych yn yn ewyllys, disgrifiad lefel uchel iawn. Ond mae'n gyffredinol yn dal y syniad. Ac, unwaith eto, yn y senario hwn, rydym yn yn cael y syniad o gyflwr, cangen, fforch yn y ffordd, gan wneud yn decision-- os yw hyn, ewch y modd hwn, arall os, ewch y modd hwn, arall os, ewch y ffordd honno. Ac mae hyn yn gyffredin iawn dechneg rhaglennu i benderfynu pa gyfeiriad i fynd, fel petai. Ac mae gennym hefyd rhyw fath o dolennu strwythur, lle rydym yn gwneud rhywbeth eto ac eto. Yn awr, mae'n troi allan, llawer fel yn yr enghraifft hon, yn super manwl gywir yn bwysig. Ond rydym hefyd wedi gweld rhywbeth ein bod yn cadw galw echdynnu. Beth mae'n ei olygu i godi llyfr ffôn? Rydym yn unig fath o gymryd yn ganiataol yn yr ystafell hon bod sydd â rhyw ystyr semantig. Mae pob un ohonom yn unig fath o yn gwybod, o, yn dda, codwch y llyfr ffôn. Beth mae hynny'n ei olygu mewn gwirionedd? Wel, mae hynny'n ei olygu mewn gwirionedd yn ymestyn llaw, heb lawer o fraster drosodd, yn ymestyn bysedd, llyfr pinsiad rhwng bysedd, sefyll i fyny, tynnu llaw tuag atoch. A gallem fod yn wirioneddol bedantig am hyn, 'n sylweddol yn super manwl gywir ynghylch yr hyn rwy'n ei wneud. Ond mae pob un camau hynny gyda'i gilydd yn beth mae'n ei olygu i godi llyfr ffôn. Ac felly yn gynharach, pan ddywedais, pob o'r rhain ddau ddatganiad cyntaf Gellir ystyried fel symud ymlaen neu swyddogaeth, 'n sylweddol y mae'n ei gynrychioli hyn yr ydym cadw galw tyniad. Mae fel lefel uchel gysyniadol disgrifiad o'r broblem sydd mewn gwirionedd yn golygu dipyn o ychydig gamau. Ac felly mae hyn, hefyd, yn pwnc cylchol mewn rhaglenni, lle gallwn i ysgrifennu rhaglen gan ddefnyddio cystrawen fel this-- pick_up_phone_book (). Ac yna syntactically, rwy'n mynd i ddwyn rhywbeth o'r rhan fwyaf o ieithoedd rhaglennu. Yn awr, cam 1 yn edrych yn hyd yn oed fwy fel swyddogaeth, fel rhaglennydd byddai ei alw. Mae'n edrych fel bod rhywun cod wedi rhoi enw i ac o ystyried i mi ddefnyddio somehow-- mewn eraill geiriau, yr hyn y mae'r llinell dwi wedi tynnu sylw at yn cynrychioli ymarferoldeb y efallai Doeddwn i ddim hyd yn oed yn rhoi ar waith fy hun. Rhywun yn hŷn, ddoethach na fi eisoes cyfrifedig allan sut yr ydych yn mynegi y syniad o godi llyfr ffôn. Ac mae'n debyg y pum cam Fi jyst rattled oddi ar, oddi ar ben fy mhen. Ond ef neu hi roi ar waith yn barod hwn, rhoddodd nifer o gamau y rhai enw, pick_up_phone_book. Ac mae'r cromfachau yn yn union beth y rhan fwyaf o rhaglenwyr wneud ar ddiwedd y datganiadau fel hyn. Yr wyf yn awr yn gallu sefyll ar ei ysgwyddau a byth eto, meddwl am yr hyn y mae'n ei olygu i godi llyfr ffôn. gallaf ddweud, codwch y llyfr ffôn. A dyna yn union beth wnaeth pob un ohonom bobl yma. Pan na thebyg roeddem 1 mlwydd oed, 2 flwydd oed, Roedd rhywun i ddysgu i ni yr hyn y mae'n i fod i godi llyfr ffôn. Ac byth ers hynny, rydym wedi dynnir ymaith gan y rhai anniddorol iawn camau mecanyddol. Ac rydym yn unig yn cael dealltwriaeth reddfol o'r hyn y mae'n ei olygu i godi llyfr ffôn. A gallwch allosod yn awr i things-- mwy cymhleth godi adeilad. Fel, i rai pobl, sydd mewn gwirionedd yn Mae ystyr. I gontractwyr, i benseiri, sydd â rhyw ystyr. A byddent yn gwybod beth i'w wneud, os Dywedais, ewch godi adeilad. Ond nid yw'r rhan fwyaf ohonom yn yr ystafell gallai ymdrin â lefel honno o dynnu. Mae angen i chi ddweud wrthym yn hoffi cynnig gael y rhaw ac yn mynd i gael y concrid ac ewinedd y darnau o bren gyda'i gilydd a beth bynnag arall yn cymryd rhan mewn adeiladu adeilad. A dyna oherwydd nad ydym wedi eto ei raglennu i ddeall beth mae'n ei olygu i godi adeilad. Nid oes gennym y tyniad. Nid oes gennym y functionality. Ac felly yr hyn y byddwch yn gweld yn rhaglennu ieithoedd, yn gyffredinol, ieithoedd yn enwedig yn fwy modern, fel Java, PHP, Ruby, a Python, maent yn llawer mwy aeddfed na ieithoedd hŷn, fel C a C ++ ac eto eraill. Ac felly maent yn dod â mwy ymarferoldeb a adeiladwyd yn. Mwy cod wedi cael ei ysgrifennu gan bobl yn y gorffennol y gallwn yn awr ffonio neu galw neu ddefnyddio, gan fy mod yn hinting yn â hyn a amlygwyd llinell yma. Ac felly hyd yn oed er nad ydym yn siarad am ieithoedd rhaglennu fel y cyfryw, cod jyst pseudocode, pob un o'r syniadau yn dal i fod yn y drafodaeth honno. Ac mae'n troi allan trachywiredd yw super bwysig, fel y mae tynnu. A gadewch i ni geisio cyfathrebu fod fel a ganlyn. Rwyf yn ddamweiniol allai fod wedi difetha hyn drwy fflachio sleid ar y sgrin cyn pryd. Ond gadewch i mi ofyn am wirfoddolwr dewr, os nad ydych yn meddwl dod i fyny. Byddech yn o flaen y camera, os eich bod yn iawn gyda hynny. A fyddai unrhyw un yn hoffi i ddod i fyny ac yn rhoi cyfarwyddiadau i'ch cydweithwyr yma? Dim ond rhaid i ddod draw yma ac sefyll dros yma a dweud rhai geiriau. Victoria yn gwenu y mwyaf ac osgoi fy llygaid fwyaf. A fyddech yn barod i ddod ar i fyny? IAWN. Ac os yw pawb arall yn eich seddi Gallai gymryd darn o bapur sgrap, os mynnwch. papur leinio yn iawn. Dod o gwmpas y ffordd hon. Neu rai o'r y papur y a roddwyd i chi ddoe, dim ond unrhyw ddalen wag o bapur, os gallech. Ac os nad oes gennych unrhyw, dim ond gofynnwch i'ch cymydog os gallech. Felly, am y tro, ar gyfer enghraifft hon, Victoria yn mynd i chwarae rôl yn rhaglennydd, peiriannydd, sydd Mae angen i raglennu chi i gyd, fel y cyfrifiaduron, i wneud rhywbeth. A gawn ni weld pa ragdybiaethau byddwch yn penderfynu gwneud. Byddwn yn gweld sut mae union hi'n dewis i fod. Ac os arddangosiad hyn yn mynd bedagogaidd yn dda, llawer o gamgymeriadau Bydd yn cael ei wneud, y byddwn yn yna defnyddiwch hynny fel cyfle ar gyfer trafodaeth. Ond mae'r her i chi dylech fydd osgoi camgymeriadau hynny, fod yn rhaglennydd da. Ac felly yr her wrth law, os byddech yn hoffi i gerdded dros yma, o flaen Victoria ar y sgrin Yma-- a gobeithio, neb ohonoch cofiwch hyn wrth i mi fflachio ar y sgrin. A pheidiwch droi o gwmpas o gwbl, oherwydd mae yna sgrîn arall yn yr ystafell hon y gallaf droi i ffwrdd. Felly peidiwch troi o gwmpas. O flaen Victoria yw bod yr un sgrech. Ac yn ei swydd yn awr yw dweud wrthych i gyd ar eich darn o bapur beth i dynnu. A byddwn yn gweld, yn seiliedig ar cyfarwyddiadau llafar yn unig, god cyfrifiadurol, os gwnewch, sut mae eich lluniau cywir yw-- eich implementations yn cael eu. Gwneud synnwyr? GYNULLEIDFA: Yeah. DAVID Malan: OK, gweithredu. GYNULLEIDFA: Tynnwch sgwâr. [Chwerthin] DAVID Malan: Ac ni Efallai y gofynnir cwestiynau. Dim ond gwneud yr hyn yr ydych yn gwybod. O, ac os oes gennych sleidiau heddiw agor mewn tab, peidiwch â edrych ar eich tab. IAWN? GYNULLEIDFA: OK, tynnu cylch. Gall slope-- i'n dweud llethr? DAVID Malan: Hyd at chi. GYNULLEIDFA: A llethr. Ac triongl. DAVID Malan: pob hawl. Ac aros yma am ychydig funudau'n. Ac yr wyf i'n mynd i ddod o gwmpas mewn dim ond hyn o bryd. Ac nid oes angen i roi eich enw ar ei. Gadewch i mi dod o gwmpas ac casglu eich lluniau, os nad ydych yn meddwl rhwygo nhw allan. Dyma beth rydym yn cael yn ôl. 'N annhymerus' prosiect ar y sgrin. Rwy'n gweld sgwâr, cylch, llethr, a triongl. Felly dyna oedd un ateb yno. Ac yn let's-- whoops. Diolch. Dyma amrywiaeth arall, ac un y tu ôl iddo. Felly, maent i gyd yn ymddangos i ddal y ysbryd. Diolch. Mae un arall, ac dyma un arall. Mae'r dehongliad llethr yn ychydig yn wahanol, ychydig curvy. Ac yr agosaf, naill ai oherwydd y penodoldeb gwych ydych chi wedi ag ef ddisgrifio, neu efallai eich bod fath o ei weld o'r blaen, mae hyn yn wir beth Victoria yn ei ddisgrifio mewn gwirionedd. Ond yn awr, y rhai ohonoch sydd nid oedd yn cael ei hollol iawn, gadewch i ni gynnig rhai gwrthwynebiadau yma. Felly dywedodd Victoria yn gyntaf dynnu sgwâr. Ac yn awr, gallwn gymryd yn ganiataol er mwyn y heddiw bod pawb yn gwybod sut i dynnu sgwâr. Ond nid dyna'r cwbl glir, dde? Sut arall y gallai fod gennych tynnu sgwâr, neu ble Efallai y bydd rhai o'r amwysedd yma ar gyfer y cyfrifiadur? GYNULLEIDFA: Lleoliad a maint. DAVID Malan: Lleoliad, dde? Roedd gan bob un ohonoch papur o ryw siâp, Yn gyffredinol, petryalau, ond ychydig yn wahanol feintiau. Ond byddwch yn sicr y gallai fod wedi tynnu, os ydych chi eisiau, sgwâr enfawr, efallai sgwâr bach. Efallai, yr oedd yn cylchdroi. Nid wyf yn credu ein bod yn gweld hynny. Ond gallai fod wedi bod yn fwy diemwnt hoffi ond yn dal, serch hynny, Fathemategol sgwâr. Felly dyna oedd y gellid dadlau amwys. Yna hi a ddywedodd, tynnu cylch. Mae rhai ohonoch yn tynnu nesaf i iddo nad ydynt yn afresymol, oherwydd bod pobl yn tueddu i feddwl neu ddarllen dde i'r chwith yn y rhan fwyaf o ieithoedd, felly ni dyfalu drwg. Ond gallai fod cylch gael bod y tu mewn i'r sgwâr, Gallai fod wedi bod o gwmpas y sgwâr, allai fod wedi bod yn rhywle arall ar y daflen, felly gellid dadlau amwys. Efallai Llethr wedi bod efallai cymryd y rhan fwyaf rhyddid llafar â'r hyn mae hynny'n ei olygu. Ac mae rhai ohonoch dehongli fel llinell squiggly neu llinell syth neu debyg. Ac yna triongl, hefyd, gael wedi'u oriented mewn unrhyw nifer o ffyrdd. Felly, yn fyr, hyd yn oed gyda rhywbeth sy'n rydych cipolwg a ydych chi fel, wow, felly syml, gallai plentyn tynnu hyn, yn dda, nid mewn gwirionedd, oni bai eich bod super, super perswadiol a dweud wrth y cyfrifiadur union beth i'w wneud. Felly os gallem, os oes gennych ddalen arall o bapur, yn gadael i rhowch gynnig ar hyn unwaith yn rhagor. Ac yr wyf i'n mynd i roi Victoria un Enghraifft arall ar y sgrin yma. Ac eto, nid ydynt yn troi o gwmpas ac nid ydynt yn edrych ar eich sleidiau. A byddaf yn rhoi eiliad iddi feddwl am sut i ddisgrifio hyn. Peidiwch â gadael iddynt weld yr ofn yn eich llygaid. [Chwerthin] Ac eto, y tro trosoledd rhai o'r siopau cludfwyd rhai ac yn ceisio cael bron pawb o leiaf yr ateb cywir. GYNULLEIDFA: OK, cymryd darn o bapur, yn edrych yng nghanol y darn o bapur. Yng nghanol y darn o bapur, tynnu ciwb. [Chwerthin] DAVID Malan: Beth ydym wedi ei ddysgu? Roeddem mor agos. OK, ailadrodd os gallech, i bawb. GYNULLEIDFA: Yng nghanol y darn o bapur, tynnu gwrthrych, sy'n edrych fel ciwb. DAVID Malan: OK, dyna pob byddwch yn cael i weithio gyda nhw. Gadewch i mi fod yn ddadansoddol ac nid yn gymaint yn feirniadol, ond i wneud y cais bod Victoria yn bendant ymddangos i fod yn meddwl yn iawn tyniadau lefel uchel, sy'n Nid yn afresymol. Oherwydd fel arall, byddem i gyd fod yn eithaf camweithredol, os bu'n rhaid i ni fod yn erioed mor fanwl gywir gyda popeth a wnawn yn y byd. Ond yn dweud yn mynd i'r Rwyf middle-- meddwl ein bod ar drac mor dda yno, fel mynd i'r iawn canol y dudalen, ac yna llunio ciwb. Felly mae hi'n meddwl mewn tyniadau, oherwydd ei bod yn dal i edrych ar beth sydd ar y sgrin fel yn wir y ciwb. Ond mae cymaint o gyfleoedd ar gyfer dehongli yno. Ac yn wir, mae cymaint o ffyrdd eraill y gallech chi fynegi hynny, a byddaf yn cynnig mewn munud. Felly dyma ni wedi un ymgnawdoliad o'r un whoops-- picture-- ymgnawdoliad y llun, felly mae ychydig tri dimensionality iddo, sydd yn braf. Dyma un arall, lle mae gennych y un fath, er ei fod yn fath o ciwb agored. Cymerodd rhai Folks yn ychydig mwy fflat, dau ddimensiwn. Ac mae hynny'n iawn. Felly mae, yn wir yn y canol y papur. Mae hyn yn un yr wyf yn meddwl wnewch chi helpu fel, oherwydd os ydym yn mynd yma, mae hyn yn beth oedd hi'n disgrifio. Felly nawr, gadewch i mi gynnig sut arall efallai y byddwn yn disgrifio sefyllfa hon. Yn ôl yn y dydd, un o'r rhai mwyaf ffyrdd mwy cyffredin o rhaglennu dysgu oedd i ysgrifennu cod, yn ysgrifennu llinellau o gyfarwyddiadau, hynny reolir ychydig crwban ar y sgrîn. Logo ac amrywiadau eraill o hyn oedd enw'r yr iaith. Ac mae'r crwban yn byw mewn byd. Felly, mae'n debyg hirsgwar hwn gofod yn ei fyd. A fyddech yn dechrau drwy assuming-- wyf nid ydynt yn gwybod sut i dynnu crwban, felly gadewch i ni ei wneud fel hyn. Ac yna mae ganddo gragen ac yna efallai rhai traed. Felly, efallai y byddwch yn cael hyn ychydig cymeriad ar y sgrin. Ac y gwrthrych hwn iaith rhaglennu oedd i orfodi y crwban i fynd i fyny, i lawr, i'r chwith, i'r dde ac i roi ei phen i lawr neu godi ei phen i fyny, fel y gallai mewn gwirionedd yn tynnu ar y sgrîn yn y byd hwn hirsgwar wastad iawn. Felly, ble oeddwn yn meddwl y gallech fod yn mynd, a ble dylech ystyried plymio i lawr i yn feddyliol wrth ddisgrifio cyfarwyddiadau yn fwy cyffredinol, Byddwn yn hawlio, yn cael ei rhoi eich pen i lawr yn y middle-- a byddwn yn cael gwared ar y crwban, oherwydd nid wyf yn gallu 'n sylweddol cadw gan dynnu ef yn dda iawn. Ac yn awr, sut arall y gallai Wyf yn dweud dynnu ciwb? Wel, gallem ddweud rhywbeth fel gêm gyfartal yn gogledd-ddwyrain linell letraws, er enghraifft, neu ar ongl 45-gradd i fyny. A allai fod wedi gotten mi yma. A dwi'n eithaf bell o ciwb. Ond yn awr, gallwn ddweud rhywbeth fel troi 90 gradd i'r chwith a thynnu llinell o gogledd-orllewin un hyd. A allwn i barhau gyda chyfarwyddiadau tebyg. Ac nid mae'n mynd i fod yn hawdd. Ac yn ddidwyll, yr ydym yn ôl pob tebyg byddai wedi bod yma am bum munud. Ond efallai y byddem wedi gotten i rhywbeth sydd, ar ddiwedd y dydd, yn dod i ben i fyny fod yn ciwb, ond yr ydym yn Deifiodd tu mewn y tyniad i wneud hynny yn y fath yn isel lefel sy'n nad ydych yn gallu mewn gwirionedd weld yr hyn rydych chi'n ei wneud nes bod y cyfan beth yw gwirionedd yno ar y dudalen. Ac felly mae hyn yn egwyddor gyffredinol, eto, o programming-- syniad hwn echdynnu. Mae mor rhyfeddol pwerus, oherwydd unwaith eto, hi newydd ei ddweud, tynnu ciwb, mae pob un ni fyddai 'n bert lawer grok yn gyflym iawn. Byddem yn unig yn deall, OK, tynnu ciwb. Efallai nad ydym yn gwybod y cyfeiriadedd, fel y gallem fod ychydig yn fwy manwl gywir, ond gallwn llun gyffredinol neu yn gwybod beth yw ciwb yw. Ac mae hynny'n ddefnyddiol, oherwydd os bob tro y byddwch eistedd i lawr fel rhaglennydd ar eich bysellfwrdd i ysgrifennu cod, os oedd gennych i feddwl am y cyfryw lefel isel, nid oes yr un ohonom Byddai byth yn cael unrhyw beth a wnaed. Ac yn sicr, nid oes yr un ohonom fyddai mwynhau'r broses o ysgrifennu cod. Byddai'n hoffi ysgrifennu yn 0 ac 1, a nad oedd yn dweud y gwir bob un sy'n maith yn ôl bodau dynol yn ysgrifennu cod yn 0 ac 1 yn. Ac rydym yn gyflym iawn yn dod i fyny gyda mae'r rhain languages-- lefel uwch C ++ a Java ac eraill. Felly gadewch i ni roi cynnig ar hyn unwaith eto yn unig i troi y tablau, fel bod pob un ohonom yn cael y cyfle i feddwl yn hytrach yr un ffordd. Gallem gael un gwirfoddolwr rhagor hwn amser i ddod i fyny at y bwrdd ac yn tynnu, Nid yw adrodd? Yeah, OK. Ben, yn dod ar i fyny. Ac, Ben, yn yr achos hwn, ar ôl i chi wynebu'r bwrdd, peidiwch â edrychwch i'r chwith, nid ydynt yn edrych yn iawn. Dim ond yn gwneud yr hyn yw eich cydweithwyr yma yn dweud wrthych. Ac i bawb arall yn y ystafell, yr ydych yn awr yn y rhaglennydd. Mae'n y cyfrifiadur. A'r darlun dwi wedi dewis yma o flaen llaw yw hyn un yma. Maent yn just-- maent yn meddwl o jôc ddoniol i gyd. Felly, byddai rhywun yn hoffi gwirfoddoli y cyfarwyddyd cyntaf neu ddatganiad y dylai pen gorchymyn Ben? A byddwn yn gwneud hyn ar y cyd, efallai un cyfarwyddyd gan bob unigolyn. Mae'n ddrwg gen i? GYNULLEIDFA: Tynnwch gylch. DAVID Malan: Tynnwch gylch yw'r peth cyntaf i mi glywed. GYNULLEIDFA: Hyd top. DAVID Malan: Hyd top. OK, gallwn adael i chi ddileu, dadwneud. Ac yn awr, mae rhywun arall. Dan, a fyddech yn gyfforddus cynnig cyfarwyddyd nesaf? GYNULLEIDFA: Cadarn, tynnu y ganolfan o waelod y cylch, gyda small-- ychydig gofod bychan o hynny, tynnu llinell syth i lawr i dri chwarter y ffordd i lawr y bwrdd ongl bychan ar y chwith. DAVID Malan: Da. GYNULLEIDFA: ongl Ychydig. DAVID Malan: Dadwneud, Rheoli-Z. IAWN. Andrew, yr ydych am gynnig fyny'r cyfarwyddyd nesaf? GYNULLEIDFA: Cadarn. O waelod y llinell, bychan angle-- bellach whoops-- efallai tua thraean o hyd [Anghlywadwy], ychydig ongl i lawr ac fel traean o hyd [Anghlywadwy]. Felly ie, o'r pwynt hwnnw, dynnu llinell draean o hyd y blaenorol llinell ymhellach i'r chwith. DAVID Malan: Bod yn iawn? llinell syth, mae hynny'n iawn? OK, Olivier, yr ydych am i gynnig hyd i'r nesaf? GYNULLEIDFA: [Anghlywadwy] oddi wrth y waelod y cylch, [Anghlywadwy]. Tynnu ar yr ochr dde o [Anghlywadwy] centimetrau. [Chwerthin] DAVID Malan: Yr wyf yn meddwl eich bod yn mynd i rhaid i drosi hynny'n modfedd yma. GYNULLEIDFA: Stop. [Chwerthin] DAVID Malan: OK. [? Ara, y?] Rydych am i gynnig hyd i'r nesaf? GYNULLEIDFA: Tynnwch [Anghlywadwy] yr uchaf [Anghlywadwy] yr un fath. [Anghlywadwy] cylch, yn tynnu at y [Anghlywadwy] a thynnu [Anghlywadwy]. DAVID Malan: OK, dim mwy dadwneud. Gadewch i ni wneud un neu ddau o gyfarwyddiadau mwy. Chris, yr ydych am gynnig un? GYNULLEIDFA: Ar waelod y cylch, [Anghlywadwy] tynnu slopping llinell cyfartal i lawr i'r chwith [Anghlywadwy]. DAVID Malan: OK. Andrew? Rydym did-- Karim? GYNULLEIDFA: Gan ddechrau o'r linell gywir, diwedd y llinell chwith, y gwaelod, ydych yn mynd i fynd i'r dde am o'r un hyd ag y llinell eich bod ar, gan dynnu i yr hawl [Anghlywadwy]. [Anghlywadwy] graddau, felly [Anghlywadwy] graddau ar yr ochr dde. DAVID Malan: pob hawl. Gadewch i ni oedi. Peidiwch â throi o gwmpas eto. Gadewch i ni oedi, a gadewch i ni roi cynnig ar un ymgais arall cyn i ni ddatgelu i Ben beth mae wedi bod yn arlunio. Allwch chi siffrwd Ben i yr right-- neu mewn gwirionedd, na, gadewch i ni dim ond rhoi i chi ystyllen arall, hyd yn oed yn well. Felly, byddai rhywun yn awr yn hoffi i gymryd mwy o'r dull a gymerodd Victoria yn gynharach, lle rydym yn siarad mewn tynnu lefel uwch ac mewn dim ond brawddeg neu ddau disgrifiwch i Ben beth i dynnu heb mynd i mewn i'r chwyn, fel petai, ar hyn o lefel is? Fictoria. [Chwerthin] GYNULLEIDFA: Tynnwch ffigwr y dyn gerdded. Ac mae ei goesau a'i freichiau rhaid i ni fod yr ochr dde. DAVID Malan: OK, dyna i gyd a gewch. Iawn. Pam nad ydym yn datgelu i Ben yr hyn a wnaeth. Felly rownd o gymeradwyaeth. Dyna oedd y mwyaf anodd o bosibl. Felly, hyd yn oed er ein bod yn siarad mewn termau cymharol wirion am ddim ond gan dynnu lluniau, gobeithio i chi Gall yn gwerthfawrogi y radd o expressiveness a allai fod yn angenrheidiol er mwyn dweud cyfrifiadur beth i'w wneud. Ac yn wir, y ffaith bod Ben yn gallu tynnu hyn mor gyflym yn fath o brawf o ddefnyddio iaith, efallai lefel uwch Fersiwn Saesneg, sy'n caniatáu iddo ef i ddim ond yn defnyddio geiriau, neu glywed geiriau o Victoria, sy'n caniatáu iddo mae'r rhain abstractions-- dim ond tynnu ffigwr cerdded i'r right-- y math yna o wedi nid yw rhai ystyr semantig iddo sy'n bron mor amlwg pan rydych yn unig gan ddywedyd, rhowch eich pen i lawr, tynnu ar y dde, yn tynnu ar y chwith. Ac felly mae hyn, hefyd, yn iawn gyffredin mewn rhaglennu. Byddai hyn yn cael ei ddweud i fod fel iaith lefel isel iawn, rhaglennu yn 0 a 1 os ydych yn. A byddai hyn yn lefel uwch rhaglennu iaith mewn Java, neu rywbeth fel 'na. Mae dipyn o gorsymleiddio, ond mae hynny'n y math o fel emosiynol teimlo eich bod yn teimlo pan gan ddefnyddio un math o beth neu'i gilydd. Tipyn o rwystredigaeth yma gan yr angen am gywirdeb o'r fath, ond y cyfle i fod ychydig yn fwy llac gyda y dehongliad yma. Ond wrth gwrs, bugs Gall godi o ganlyniad. Os hoffech chi am home-- ni Ni fydd yn gwneud hyn yn un mewn class-- ond os hoffech dod â hyn un cartref, Yr wyf yn meddwl y byddem yn plymio i mewn i hyn. Felly, os hoffech i chwarae y gêm gyda'ch eraill arwyddocaol neu blant neu debyg, yr ydych Efallai mwynhau hynny hefyd. Felly gadewch i ni fynd yn ei flaen ac yn edrych ar yr un olaf beth yma i feddwl cyfrifiadurol. Ac mae hynny'n dod â ni i John Oliver, nid ar gyfer y clip efallai eich bod wedi gweld neithiwr, ond at fater ychydig yn ddiweddar. Ychydig fisoedd yn ôl, Volkswagen Cymerodd gryn dipyn o feirniadaeth am ba reswm, os ydych yn gwybod? Beth oedd eu bod yn cael mewn trafferth amdano? Yeah, felly emissions-- iddynt yn ceisio i guro allyriadau profion drwy gael y bôn eu ceir llygru'r amgylchedd llai pan eu ceir yn cael eu profi a llygru'r amgylchedd mwy pan nad yw'r ceir yn cael eu profi. A beth yn fwyfwy diddorol yn y byd, fel y gall fod awgrymu yn chi o drafodaethau o'r like-- beth yw iddo-- CarPlay, meddalwedd Afalau 'ar gyfer ceir a'r ffaith bod llawer ohonom yn gynyddol rhaid i sgriniau cyffwrdd yn ein ceir, mae 'na swm brawychus o feddalwedd mewn pobl ceir heddiw, a oedd yn dweud y gwir yn agor can cyfan o lyngyr pan ddaw i ddiogelwch a risg corfforol. Ond ar gyfer heddiw, gadewch i ni canolbwyntio ar ddim ond yr hyn sydd cymryd rhan mewn meddalwedd ysgrifennu a allai fod wedi gemio y system. I gael y diffiniad o broblem, ar gyfer y rhai anghyfarwydd, gadewch i ni edrych ar John Oliver. Ac ar gyfer y rhai sy'n gyfarwydd â y broblem, gadewch i ni edrych arno mewn lens hwyl drwy John Oliver hefyd. Felly, gadewch i mi daro chwarae ar hyn, yr wyf yn yn meddwl, cyflwyniad tair munud. Damn hi. [VIDEO Playback] -Cars-- DAVID Malan: Yn amlwg, ar YouTube, it's-- - --the Cymeriadau smartest yn y ffilmiau cyflym a Furious. Yr wythnos hon, automaker Almaeneg Canfu Volkswagen ei hun yng nghanol sgandal o cyfrannau a allai fod yn droseddol. -Volkswagen Yn iachus ar gyfer biliynau mewn dirwyon, cyhuddiadau troseddol posibl ar gyfer ei swyddogion gweithredol, fel y mae'r cwmni yn ymddiheuro ar gyfer rigio 11 miliwn o geir i helpu i guro profion allyriadau. modelau diesel -Certain eu cynllunio gyda meddalwedd soffistigedig sy'n gwybodaeth a ddefnyddir, gan gynnwys y sefyllfa yr olwyn lywio a cherbydau cyflymder, i benderfynu ar y car oedd cael profion allyriadau. O dan yr amgylchiad, yr injan Byddai lleihau allyriadau gwenwynig. Ond y car yn rigged i ffordd osgoi pan oedd yn cael ei yrru. Allyriadau cynyddu 10-40 amseroedd uchod lefelau EPA derbyniol. -Wow Bydd 10 i 40 gwaith fwy na'r EPA yn caniatáu. Dyna'r peth gwaethaf Volkswagen wedi gwneud erioed, yn rhywbeth y gallech chi ddweud os nad ydych erioed wedi clywed am yr Ail Ryfel Byd. Ond efallai yr arwydd sicraf o sut o drafferth Volkswagen yn, yw bod pobl yn y iawn top wedi camu i lawr. Ymddiswyddodd y Prif Swyddog Gweithredol ar ddydd Mercher ar ôl sgrialu i wneud rheoli difrod, gan ddweud ei fod yn ddiddiwedd ddrwg gennym, a oedd yn swnio'n wych hyd nes ei fod yn troi allan yr oedd dim ond 10% n chwith ond roedd hwyliau ei geg i chwyddo ei sorriness artiffisial. Ac yn y cyfamser, Volkswagen Unol Daleithiau Roedd gan brif ymddiheuriad am ei hun. -Let Ni fod yn glir ynglŷn â hyn, ein cwmni yn anonest. Ac yn fy ngeiriau Almaeneg, rydym yn hollol wedi sgriwio i fyny. -Yeah, Ond sgriwio llwyr i fyny, nid yn weithiau Almaeneg. A'r iaith Almaeneg Mae gan lawer o ymadroddion hardd i ddisgrifio sefyllfaoedd yn union fel hyn, megis [ALMAENEG], sy'n golygu yn fras, y tristwch a ddaw o gelwydd gysylltiedig â busnes, neu [ALMAENEG], sy'n cyfieithu fel chodi cywilydd rhai tad sy'n cynnwys cymylau o gasoline. Mae'n iaith hardd. 'I jyst yn hwylio oddi ar y tafod. A gyda llaw, tra bod y dyn Gall ymddiheuriad wedi swnio'n ddiffuant, mae'n werth nodi ei fod yn siarad ar parti lansio swyddogol ar gyfer 2016 Volkswagen Passat, sy'n golygu bod yn fuan ar ôl dweud sori, dywedodd hyn. -Thank Fawr iawn am ddod i chi. Mwynhewch y noson. Up nesaf yw Lenny Kravitz. [CHWARAE CERDDORIAETH] -OK, OK, yn dod i ben eich ymddiheuriad gyda hyd nesaf Nid yw Lenny Kravitz yn sgrechian edifeirwch sobr. Mae'n sgrechian, gofynnwyd Bon Jovi, a dywedodd na. brand Volkswagen Mae gan wedi'i ddifrodi'n wael. Ac yn ddidwyll, eu ad newydd Nid ymgyrch yn union helpu. - [ALMAENEG], byddem yn hoffi Volkswagen i ymddiheuro i chi twyllo gyda ein cerbydau. [DIWEDD Playback] DAVID Malan: Felly roedd hwn yn ffordd gylchfan o- sorry-- hon yn ffordd cylchfan o cyflwyno problem sylfaenol mewn meddalwedd, sef bod chi Mae angen i ganfod cyflyrau penodol. Ac felly y cwestiwn dan sylw yma yw, sut mae car a allai fod, fel y'i gweithredwyd mewn meddalwedd gan rhaglenwyr hyn, canfod ei fod yn cael ei brofi mewn gwirionedd? Felly, i fod yn super glir, yr hyn y maent yn ei wneud oedd, mewn amgylcheddau lle y rhaglenwyr cyfrifedig y car yn cael ei profi, maent rhywsut wneud y car allyrru llai o allyriadau, llai allyriadau, mygdarth felly llai gwenwynig ac o'r fath. Ond pan mae'n fel arfer gyrru ar y ffordd, byddai'n jyst allyrru gymaint llygredd fel y mae'n dymuno. Felly sut y gallem ysgrifennu'r pseudocode ar gyfer algorithm hwn? Sut y gallem ysgrifennu'r pseudocode ar gyfer y feddalwedd yn rhedeg yn y car? Yr wyf yn golygu, yn gryno, mae'n berwi i lawr i rywbeth fel hyn. os cael ei brofi, allyrru llai. arall yn allyrru mwy. Ond mae hynny'n ychydig hefyd lefel uchel, dde? Gadewch i ni geisio i ddeifio i mewn fel at beth y mae hyn echdynnu o fod yn brawf moddion. Mewn geiriau eraill, hyd yn oed os ydych yn gwybod dim am geir, pa fath o gwestiynau efallai y byddwch yn gofyn er mwyn penderfynu os eich bod yn cael eu profi, os ydych yn y car? Pa nodweddion a allai fod yn cyflwyno os car yn cael ei brofi? GYNULLEIDFA: Profi offer. DAVID Malan: Offer Profi. Felly, os offer profi gerllaw, yna allyrru llai. Felly gallwn i ddychmygu gweithredu bod â rhyw fath o gamerâu neu ganfod beth sydd o'ch cwmpas. A gadewch i mi gynnig, hynny dim ond yn teimlo yn rhy gymhleth i mewn gwirionedd yn cael ychwanegol caledwedd yn unig ar gyfer y diben hwnnw. GYNULLEIDFA: Os ydych chi mewn parc, os yw eich cwfl ar agor. DAVID Malan: Yn parc neu cwfl agored, felly dyna dda. GYNULLEIDFA: A rhedeg car. DAVID Malan: Felly dyna ychydig yn mwy concrete-- a rhedeg car. Felly byddai hyn yn y cyd o ychydig o wahanol gyflyrau, os mynnwch. Felly, os yw'r car yn parc, a hyd yn oed er bod hyn yn beth mecanyddol iawn yn nodweddiadol, gallwn dychmygu meddalwedd ysgrifennu, yn enwedig oherwydd mae yn aml golau yno y dyddiau hyn, Gallwn ddychmygu nad oes meddalwedd sy'n gallu cwestiynu'r shifter neu nid yr hyn, a ydych yn parc, yn chi yn gyrru, a ydych o chwith. A gallaf fynd yn ôl i ateb dyna un ai ie neu ddim i mathau hynny o gwestiynau. Ac er mwyn i mi hefyd yn ôl pob tebyg yn ateb cwestiwn fel, yn y cwfl ar agor. Efallai, mae rhyw fath o synhwyrydd sydd naill ai'n rhoi i mi yn ôl 1 neu 0, gwir neu gau, y cwfl ar agor. Ac yna rhedeg car, gallwn i ganfod hynny rywsut drwy pa fecanwaith? Fel, y car yn rhedeg, yr wyf yn gallai ganfod ei fod yn ar, gallwn i ganfod rywsut bod y car yn symud? GYNULLEIDFA: RPMs. DAVID Malan: Yeah, felly does bob amser fod nodwydd sy'n yn dweud wrthych faint o gylchdroadau fesul munud yr olwynion yn eu profi. Ac er mwyn imi edrych ar hynny. Ac os nad yw'n 0, yn ôl pob tebyg yn golygu bod y car yn symud. Ond mae'n rhaid i fod yn ychydig gofalus yno, because-- gadewch i ni symleiddio this-- os ydym yn unig a ddywedodd, os rhedeg car, nid ydym am i ddim ond allyrru llai, rydym am os bydd y car yn rhedeg ac mae'n cael ei brofi. Felly mae ychydig o arall cynhwysion sy'n Folks wedi Tybiwyd y feddalwedd yn ei wneud, gan fod yn absennol y cod ffynhonnell gwirioneddol, gallwch ond rhyw fath o casglu oddi wrth y effeithiau ffisegol y car o ran yr hyn allai fod yn mynd ymlaen o dan y cwfl mewn meddalwedd. Felly, os car yn rhedeg ac efallai, dyweder, olwynion cefn beidio â symud, gallai hyn fod yn arwydd o ryw fath o brawf? Beth ydw i'n ei awgrymu yn fan hyn? Yeah, efallai, ei fod ar un o'r rhai pethau rholer, lle fel yr olwynion yn troi yn y tu blaen neu yn y cefn, yn dibynnu ar p'un a yw'n olwyn flaen neu gyriant olwyn gefn, felly hanner y olwynion yn symud, ond mae'r ddau arall yn peidio, a yn sefyllfa od yn y byd go iawn. Os ydych yn gyrru ar y ffordd, ni ddylai hynny ddigwydd. Ond os ydych chi mewn warws ar ryw fath o system rholer, a allai fod yn wir ddigwydd. Yr wyf yn meddwl cynnig Folks hefyd efallai, os bydd y car yn rhedeg a llywio WHEEL beidio â symud, bod Efallai hefyd fod yn arwydd, oherwydd dyna rhesymol ar gyfer fel syth ar ffordd. Ond hyd yn oed wedyn, mae'r dynol yn ôl pob tebyg gan ei symud ychydig neu yn sicr dros ychydig eiliadau. Neu gyfnod o munud, groes yn ei fod yn peidio mynd i gael ei fixated mewn yn union yr un sefyllfa. Felly, mewn geiriau eraill, rydym yn Gall cymryd Tynnu, a ydych yn cael ei brofi, ac torri i lawr y functionality mewn cynhwysion cydran hyn. A dyna wir beth Volkswagen peirianwyr rhywsut wnaeth. Maent yn ysgrifennu meddalwedd ymwybodol i canfod os bydd y car yn cael ei brofi, Felly allyrru llai, arall allyrru yn y ffordd arferol. A'r broblem yma, hefyd, yw nad yw meddalwedd rhywbeth y gallwch chi wir yn gweld oni bai gennych y cod ffynhonnell fel y'u gelwir. Felly mae dau fath gwahanol o code-- o leiaf ddau fath gwahanol o god yn y byd. Mae rhywbeth a elwir yn ffynhonnell cod, ac nid yw yn wahanol i'r hyn rydym wedi bod yn ysgrifennu, cod ffynhonnell. Mae hyn yn cael cod ffynhonnell a ysgrifennwyd yn iaith a elwir yn pseudocode, sydd ychydig yn rhywbeth Saesneg-debyg. Does dim diffiniad ffurfiol ohono. Ond C, a Java, C ++, y rhai i gyd yn ieithoedd ffurfiol hynny, pan fyddwch yn ysgrifennu ynddynt, yr hyn sydd gennych yn ffeil destun sy'n cynnwys cod ffynhonnell. Ond mae hefyd yn rhywbeth y byd o'r enw cod peiriant. A chod peiriant, yn anffodus, yn unig yw 0 ac 1 yn. Felly cod peiriant yn beth peiriannau deall, wrth gwrs. cod ffynhonnell ar yr hyn y mae pobl yn deall. Ac yn gyffredinol, ond nid bob amser, mae rhaglen bod rhaglennydd yn defnyddio sy'n cymryd ffynhonnell cod ac yn troi i mewn i cod peiriant. A bod rhaglen yn Gelwir gyffredinol compiler. Felly eich mewnbwn yn cod ffynhonnell, eich allbwn yn cod peiriant, ac mae'r compiler yn ddarn o meddalwedd sy'n gwneud y broses honno. Felly, mae hyn mewn gwirionedd yn mapiau 'n glws at ein mewnbynnau, algorithmau, allbynnau. Ond mae hyn yn ymgnawdoliad penodol iawn o hynny, sef dweud bod, hyd yn oed os ydych yn berchen ar un o Volkswagen ceir hwnnw yn euog o hyn, nid yw'n debyg y gallwch chi jyst agor y cwfl neu agor llawlyfr y defnyddiwr neu edrychwch ar y cod ffynhonnell, oherwydd erbyn yr amser iddo gyrraedd eich car yn eich dreif, mae wedi bod yn barod trosi i 0 ac 1 yn. Ac mae'n anodd iawn, nad yn amhosibl, ond yn anodd iawn i gywain llawer o unrhyw beth o dim ond edrych ar y sylfaenol 0 a 1 yn. Felly, gallwch chyfrif 'ii maes, yn y pen draw, os eich bod yn deall sut y peiriant operates-- Intel inside-- os ydych yn deall pensaernïaeth Intel, ond mae'n cymryd llawer o amser iawn. A hyd yn oed yno, efallai y byddwch Nid yw yn gallu gweld popeth y gall y cod ei wneud mewn gwirionedd. Unrhyw gwestiynau am hyn neu hyn fath o broses yn fwy cyffredinol? Ac mewn gwirionedd, gallwn clymu drafodaeth hon i drafod ddoe y Apple. Mae hyn, hefyd, dyna pam na all yr FBI yn unig fynd i edrych mewn ffôn y sawl a ddrwgdybir a dod o hyd y llinellau o god, ar gyfer enghraifft, sy'n galluogi'r cyfrinair neu alluogi bod oedi 80-millisecond. Oherwydd bod gan yr amser mae'n ar y cyd yn iPhone, mae wedi bod yn barod trosi i 0 ac 1 yn. Wel, gadewch i oedi yma am ein edrych ar feddwl cyfrifiannol. Pam nad ydym yn cymryd egwyl o 15 munud. A phan fyddwn yn dychwelyd, rydym annhymerus ' yn edrych ar raglenni ei hun a dechrau mapio rhai cysyniadau lefel uchel hyn i gwirioneddol, os chwareus, iaith raglennu.