1 00:00:00,000 --> 00:00:00,479 2 00:00:00,479 --> 00:00:10,830 >> [CHWARAE CERDDORIAETH] 3 00:00:10,830 --> 00:00:12,080 [CERDDORIAETH - Rossini, "RANZ DES VACHES "O WILLIAM TELL] 4 00:00:12,080 --> 00:00:24,222 5 00:00:24,222 --> 00:00:25,472 >> [CERDDORIAETH - THE BEAT SAESNEG, "MAWRTH Y PENAETHIAID troi "] 6 00:00:25,472 --> 00:02:24,538 7 00:02:24,538 --> 00:02:31,510 >> [Cymeradwyaeth ac yn bloeddio] 8 00:02:31,510 --> 00:02:33,520 >> DAVID Malan: Felly mae hyn yn CS50. 9 00:02:33,520 --> 00:02:34,730 Fy enw i yw David Malan. 10 00:02:34,730 --> 00:02:39,250 A 73% o nad oes gennych unrhyw brofiad blaenorol gyda gwyddoniaeth gyfrifiadurol, 11 00:02:39,250 --> 00:02:41,300 yn groes i'r hyn y byddech yn ei feddwl. 12 00:02:41,300 --> 00:02:45,290 Felly heddiw rydym yn meddwl y byddem yn sglodion i ffwrdd ar y diffyg cynefindra, ond hefyd 13 00:02:45,290 --> 00:02:48,970 rhoi ymdeimlad i chi, ar gyfer y rhai ohonoch gyda mwy o gysur, a chyfarwyddiadau 14 00:02:48,970 --> 00:02:50,550 gallwch fynd semester hwn. 15 00:02:50,550 --> 00:02:51,890 >> Felly, gadewch i ni ddechrau gyda'r hyn. 16 00:02:51,890 --> 00:02:55,490 Fi 'n sylweddol yn cael unrhyw syniad beth sydd tu mewn cyfrifiadur, hyd yn oed os, fel chi, yr wyf yn 17 00:02:55,490 --> 00:02:56,780 ei ddefnyddio bob dydd. 18 00:02:56,780 --> 00:03:00,000 Ond mae'n rhyw fath o flwch, ac mae nid yw llawer o fewnbwn i mewn iddo. 19 00:03:00,000 --> 00:03:01,350 Cyn lleied â phosibl, mae, beth? 20 00:03:01,350 --> 00:03:03,120 Yn ôl pob tebyg yn llinyn y pŵer. 21 00:03:03,120 --> 00:03:06,640 >> Ac yn wir gyda hyn un cynhwysyn, trydan, rydym yn ymddangos i fod yn gallu 22 00:03:06,640 --> 00:03:09,490 gwneud cryn dipyn y dyddiau hyn. 23 00:03:09,490 --> 00:03:12,130 Ond ar ddiwedd y dydd, rydym yn rhaid i gynrychioli'r pethau 24 00:03:12,130 --> 00:03:12,860 ein bod yn gofalu amdanynt. 25 00:03:12,860 --> 00:03:15,240 Mae'n rhaid i ni gynrychioli gwybodaeth ar ryw ffurf. 26 00:03:15,240 --> 00:03:18,365 Ac rydych yn ôl pob tebyg o leiaf yn fras gyfarwydd â'r syniad drwy deuaidd neu 27 00:03:18,365 --> 00:03:21,370 darnau rywsut neu'i gilydd, cyfrifiaduron gostwng i sero a rhai. 28 00:03:21,370 --> 00:03:26,320 Ond gallwn gynnwys hynny ac o leiaf roi ychydig o olau i hynny? 29 00:03:26,320 --> 00:03:28,880 >> Felly, yr wyf yn cael hyn yn fach lampau desg yma. 30 00:03:28,880 --> 00:03:30,450 Mae gen i siop drydanol yma. 31 00:03:30,450 --> 00:03:33,930 Ac yr wyf i'n mynd i gynnig y tu mewn o fy nghyfrifiadur yn o leiaf un o'r 32 00:03:33,930 --> 00:03:37,300 pethau hyn, rhywbeth sy'n gallu o gael eu troi ymlaen neu i ffwrdd. 33 00:03:37,300 --> 00:03:40,200 Yn yr achos hwn, mae'n wir yn lamp desg, ond ar y lefel is, mae'n rhywbeth 34 00:03:40,200 --> 00:03:41,500 a elwir yn transistor. 35 00:03:41,500 --> 00:03:44,730 >> Ond yn ein byd, ei fod yn lamp desg, felly Rydw i'n mynd i fynd yn ei flaen ac yn plwg hwn 36 00:03:44,730 --> 00:03:47,990 i mewn i fy drydan yma. 37 00:03:47,990 --> 00:03:52,970 Ac yr wyf yn honni bod defnyddio hwn syml, dyfais syml, mae hyn yn newid syml, yr wyf yn 38 00:03:52,970 --> 00:03:54,850 gallu cynrychioli gwybodaeth. 39 00:03:54,850 --> 00:03:58,090 Er enghraifft, ar hyn o bryd, yr wyf yn cynrychioli dim, dde? 40 00:03:58,090 --> 00:04:01,820 Rwy'n cynrychioli yr hyn y byddaf yn galw 0 neu ffug, y gwrthwyneb o rywbeth 41 00:04:01,820 --> 00:04:03,130 mewn gwirionedd fod yn bresennol. 42 00:04:03,130 --> 00:04:07,050 Ond os wyf yn syml yn troi newid hwn, yn awr yr wyf wedi cynrychioli 1. 43 00:04:07,050 --> 00:04:10,720 Felly ddefnyddio'r darn syml iawn o cof, os mynnwch, gallaf gynrychioli 44 00:04:10,720 --> 00:04:11,450 gwybodaeth. 45 00:04:11,450 --> 00:04:14,350 >> Nawr yn anffodus, fy nghyfrifiadur ni all wneud popeth a llawer. 46 00:04:14,350 --> 00:04:17,430 Gall ond yn cynrychioli dau werth yn y byd i gyd - 47 00:04:17,430 --> 00:04:18,620 0 neu 1. 48 00:04:18,620 --> 00:04:21,839 Ond beth yn ateb amlwg, yn awr, os ydym am ehangu ein cyfrifiadur 49 00:04:21,839 --> 00:04:25,120 cof ac cynrychioli mwy na dim ond 0 ac 1? 50 00:04:25,120 --> 00:04:27,060 >> Wel, gadewch i ni cydio bit arall o'r fath. 51 00:04:27,060 --> 00:04:30,260 Gadewch i chrafangia newid arall, un arall transistor, fodd bynnag, yr hoffech i 52 00:04:30,260 --> 00:04:31,130 meddwl am y peth. 53 00:04:31,130 --> 00:04:34,170 Gadewch i mi fynd yn ei flaen ac yn plwg hwn i mewn i fy cyfrifiadur yn ogystal. 54 00:04:34,170 --> 00:04:38,270 Ac yr wyf i'n mynd i wneud cais, yn awr, erbyn gan ddefnyddio ychydig mwy o drydan a 55 00:04:38,270 --> 00:04:42,290 troi mwy o switsys hyn ymlaen ac ffwrdd, gallaf gynrychioli mwy o'r fath 56 00:04:42,290 --> 00:04:43,020 gwybodaeth. 57 00:04:43,020 --> 00:04:44,660 >> Felly, ar hyn o bryd, mae hyn yn 1. 58 00:04:44,660 --> 00:04:48,120 Os ydw i eisiau i gynrychioli nawr 2, gallwn wneud hyn. 59 00:04:48,120 --> 00:04:51,510 Ond fel arfer, confensiwn, fel y gallwn eich gweld yn y pen draw, bydd yn rhaid i mi wneud hyn. 60 00:04:51,510 --> 00:04:55,260 Felly, mae hyn yn 0, mae hyn yn 1. 61 00:04:55,260 --> 00:04:56,720 Byddai hyn yn 2. 62 00:04:56,720 --> 00:04:59,920 Ac nid yw'n syndod, byddai hyn yn 3. 63 00:04:59,920 --> 00:05:02,610 >> Felly, yn y modd hwn, yn dal, gall rydym yn cyfrif fyny hyd yn oed ymhellach? 64 00:05:02,610 --> 00:05:06,500 Os byddaf yn cael trydydd ychydig, trydydd newid, beth yw'r nifer uchaf gallaf nawr 65 00:05:06,500 --> 00:05:09,720 yn cyfrif hyd at o 0? 66 00:05:09,720 --> 00:05:12,020 Felly 7 os ydw i'n dechrau ar 0, dde? 67 00:05:12,020 --> 00:05:15,980 Oherwydd os wyf yn troi goleuni hwn a mewn gwirionedd yn plwg y trydydd a therfynol 68 00:05:15,980 --> 00:05:20,090 olau i mewn i fy soced trydanol yma, yna yr wyf yn cael y gallu i gynrychioli 69 00:05:20,090 --> 00:05:24,930 unrhyw un o ddau werth yma, dau werth yma, dau werth yma - 70 00:05:24,930 --> 00:05:32,610 ac felly gall yr wyf yn cynrychioli 2 waith 2 gwaith 2, neu wyth o werthoedd posibl. 71 00:05:32,610 --> 00:05:36,340 Ac os byddaf yn dechrau cyfrifyddu ar 0, felly dyna 0, 1, 2, 3, 4, 5, 6, 7. 72 00:05:36,340 --> 00:05:37,480 >> Felly deuaidd hwn. 73 00:05:37,480 --> 00:05:39,420 Mae mor syml â hynny. 74 00:05:39,420 --> 00:05:41,930 A byddwn yn dadlau bod hyn mewn gwirionedd yn eithaf gyfarwydd i'r rhan fwyaf o 75 00:05:41,930 --> 00:05:43,180 pawb yn yr ystafell hon. 76 00:05:43,180 --> 00:05:45,710 Gadewch i mi fynd yn ei flaen ac agor ychydig golygydd testun yma. 77 00:05:45,710 --> 00:05:49,040 >> Ac efallai y byddwch yn cofio yr ysgol radd bod gennym pethau fel y cannoedd 78 00:05:49,040 --> 00:05:51,970 lle, y lle degau, a lleoliad y rhai. 79 00:05:51,970 --> 00:05:55,040 A dwyn i gof, os ydych wedi cael rhywfaint o degol nifer, fel rhywbeth ar hap 80 00:05:55,040 --> 00:05:59,470 fel 123, na fyddech yn ei hanfod ysgrifennwch y nodir ar y ffurflen 81 00:05:59,470 --> 00:06:00,450 o'r tair colofn. 82 00:06:00,450 --> 00:06:04,070 A pham yw 1, 2, 3 beth rydym yn gwybod yn 123? 83 00:06:04,070 --> 00:06:11,220 Wel, yn y golofn ar y chwith, rydym wedi un 100 a dau 10au, felly dyna 120, 84 00:06:11,220 --> 00:06:14,250 ynghyd â thri 1s, felly dyna 123. 85 00:06:14,250 --> 00:06:17,990 >> Nawr y byd hwn yr ydym newydd ei goleuo yn union yr un fath â'r 86 00:06:17,990 --> 00:06:21,150 ydych wedi bod yn gyfarwydd â ers blynyddoedd, ac eithrio hyn, mae ein colofnau 87 00:06:21,150 --> 00:06:22,060 nid ydynt yn bwerau o 10. 88 00:06:22,060 --> 00:06:23,780 Maent yn unig bwerau 2. 89 00:06:23,780 --> 00:06:27,830 Felly, tra bod yn y lle rhai, mae hyn yn yn mynd i fod y lle fesul dau, mae hyn yn 90 00:06:27,830 --> 00:06:29,540 mynd i fod yn y lle pedwar. 91 00:06:29,540 --> 00:06:33,260 >> Ac am fy mod yn unig gan ddefnyddio'r symlaf o fecanweithiau i droi pethau 92 00:06:33,260 --> 00:06:37,100 ar ac oddi ar - trydan yn llifo neu heb drydan yn llifo - 93 00:06:37,100 --> 00:06:40,880 Nid wyf yn hollol yr un mynegiannol amrywiaeth fel 0 drwy naw. 94 00:06:40,880 --> 00:06:43,270 Rydym yn mynd i gadw ei super syml yn y byd o gyfrifiaduron. 95 00:06:43,270 --> 00:06:45,060 Mai dim ond 0 neu 1 - 96 00:06:45,060 --> 00:06:47,890 i ffwrdd neu ar, ffug neu yn wir. 97 00:06:47,890 --> 00:06:52,610 >> Ac felly yr hyn yr wyf i'n cynrychioli ar hyn o bryd yw 1, 1, 1, gan fod pob un o'r rhain 98 00:06:52,610 --> 00:06:54,000 goleuadau yn cael ei oleuo. 99 00:06:54,000 --> 00:06:59,600 Wel, mae hynny'n rhoi i mi un 4 ac un 2, felly dyna 6, ac un 1, a dyna 7. 100 00:06:59,600 --> 00:07:03,450 Ac ergo gwneud dilyniant hwn o dri darnau yn cynrychioli nifer 7. 101 00:07:03,450 --> 00:07:06,330 >> Felly yr holl amser hwn, tu mewn i'ch cyfrifiadurol, wedi bod unrhyw nifer o 102 00:07:06,330 --> 00:07:08,090 transistors, unrhyw nifer o ddarnau. 103 00:07:08,090 --> 00:07:10,380 Ond ar ddiwedd y dydd, rydym yn gallu cynrychioli gwybodaeth 104 00:07:10,380 --> 00:07:12,560 mor syml â hynny. 105 00:07:12,560 --> 00:07:16,770 Nawr yn anffodus, rydym wedi unig y cyfrifir hyd at 7 yn CS50 hyd yn hyn, ond 106 00:07:16,770 --> 00:07:18,550 gobeithio y gallwn ni wneud ychydig yn well na hynny. 107 00:07:18,550 --> 00:07:19,550 Ac yn wir y gallwn. 108 00:07:19,550 --> 00:07:23,570 >> Tybiwch ein bod ni fel bodau dynol yn unig penderfynu fympwyol ein bod yn mynd 109 00:07:23,570 --> 00:07:28,750 i gysylltu rhifau fel 1 a 2, 3, 4, 5, 6, 7, gyda llythrennau penodol o 110 00:07:28,750 --> 00:07:29,410 yr wyddor. 111 00:07:29,410 --> 00:07:32,350 Ac am resymau hanesyddol, yr wyf i'n mynd i cychwyn braidd yn fympwyol, ond rwy'n 112 00:07:32,350 --> 00:07:36,880 mynd i ddweud, bodau dynol, rydym yn mynd i penderfynu fel safon, yn fyd-eang, y 113 00:07:36,880 --> 00:07:43,200 65 cynrychioli nifer y llythyr A. 66 yn cynrychioli B. Dot, dot, dot. 114 00:07:43,200 --> 00:07:45,140 Bydd 90 cynrychioli'r Z. llythyr 115 00:07:45,140 --> 00:07:48,000 >> A gadewch i ni dybio, os ydym yn wir yn rhoi rhywfaint o meddwl i mewn iddo, gallem ddod i fyny 116 00:07:48,000 --> 00:07:50,860 gyda rhifau ar gyfer pwyntiau ebychnod a lythrennau bach, ac yn wir, 117 00:07:50,860 --> 00:07:52,710 pobl eraill wedi gwneud hynny i ni. 118 00:07:52,710 --> 00:07:56,410 Felly, erbyn hyn rydym wedi cael darnau gyda y gallwn gynrychioli rhifau, rhifau y mae 119 00:07:56,410 --> 00:08:00,130 gallwn gynrychioli llythyrau, a chyda llythyrau gallwn yn awr yn dechrau cyfansoddi 120 00:08:00,130 --> 00:08:02,650 negeseuon e-bost a chymeriadau argraffu ar y sgrin. 121 00:08:02,650 --> 00:08:05,850 >> Felly, gadewch i mi wahodd, os gallwn, wyth o wirfoddolwyr dewr - 122 00:08:05,850 --> 00:08:09,200 nad ydynt yn meddwl ymddangos nid yn unig yn ar gamera ond ar y rhyngrwyd - 123 00:08:09,200 --> 00:08:13,130 i ddod i fyny yma ac yn cynrychioli wyth o'r fath darnau, yn hytrach na'r rhain tri. 124 00:08:13,130 --> 00:08:14,380 Felly, beth am un, dau? 125 00:08:14,380 --> 00:08:16,290 Beth am dri? 126 00:08:16,290 --> 00:08:20,230 Beth am bedwar yng ngoleuni glas, pump ar y diwedd? 127 00:08:20,230 --> 00:08:21,250 Am rywun dros yma? 128 00:08:21,250 --> 00:08:25,320 Chwech o flaen, saith o flaen, ac wyth o flaen, yn ogystal. 129 00:08:25,320 --> 00:08:29,050 >> Felly, Fi jyst digwydd hyd i ddod barod gyda criw cyfan o slipiau o bapur. 130 00:08:29,050 --> 00:08:34,150 Ac ar y darnau hyn o bapur niferoedd sy'n cynrychioli pa colofnau 131 00:08:34,150 --> 00:08:35,809 rydych guys yn mynd i gynrychioli. 132 00:08:35,809 --> 00:08:36,740 Felly, byddwch yn - beth yw eich enw? 133 00:08:36,740 --> 00:08:37,570 >> MYFYRIWR: Anna Leah. 134 00:08:37,570 --> 00:08:40,370 >> DAVID Malan: Anna Leah, yr ydych yn fydd y golofn 128s. 135 00:08:40,370 --> 00:08:41,059 Ydych chi? 136 00:08:41,059 --> 00:08:41,510 >> MYFYRWYR: Chris. 137 00:08:41,510 --> 00:08:43,620 >> DAVID Malan: Chris yn yn y golofn 64s. 138 00:08:43,620 --> 00:08:44,070 Ydych chi? 139 00:08:44,070 --> 00:08:44,540 >> MYFYRWYR: Dan. 140 00:08:44,540 --> 00:08:46,970 >> DAVID Malan: Dan bydd yn y golofn 32s. 141 00:08:46,970 --> 00:08:47,470 >> MYFYRWYR: Pramit. 142 00:08:47,470 --> 00:08:49,430 >> DAVID Malan: Pramit yn yn y golofn 16 oed. 143 00:08:49,430 --> 00:08:50,290 >> MYFYRWYR: Lillian. 144 00:08:50,290 --> 00:08:51,904 >> DAVID Malan: bydd Lillian yn 8 oed. 145 00:08:51,904 --> 00:08:52,768 >> MYFYRWYR: Jill. 146 00:08:52,768 --> 00:08:55,025 >> DAVID Malan: Jill yn yn y golofn 4s. 147 00:08:55,025 --> 00:08:55,400 >> MYFYRWYR: Mary. 148 00:08:55,400 --> 00:08:57,000 >> DAVID Malan: Bydd Mary yn y 2s, a? 149 00:08:57,000 --> 00:08:57,470 >> MYFYRWYR: David. 150 00:08:57,470 --> 00:08:59,220 >> DAVID Malan: David yn yn y golofn 1s. 151 00:08:59,220 --> 00:09:02,030 Felly, pe gallech gamu guys ychydig ymlaen fel y gall pawb weld. 152 00:09:02,030 --> 00:09:05,370 Yr hyn nad ydych guys yn gweld yw bod ar y gefn y slipiau hyn o bapur yn 153 00:09:05,370 --> 00:09:09,760 ychydig taflen twyllo sydd ar fin cyfarwyddo yr wyth darnau naill ai 154 00:09:09,760 --> 00:09:12,380 godi eu llaw neu beidio godi eu llaw. 155 00:09:12,380 --> 00:09:14,100 Os yw eu llaw yn mynd i fyny, maent yn cynrychioli 1. 156 00:09:14,100 --> 00:09:17,120 Os yw eu llaw yn aros i lawr, eu bod yn cynrychioli 0. 157 00:09:17,120 --> 00:09:21,410 >> Yn y cyfamser, dylem y gynulleidfa yn yn gallu chyfrif i maes, yn seiliedig ar y 158 00:09:21,410 --> 00:09:26,490 mapio, pa dri-lythyr gair hyn Folks ar fin i sillafu allan. 159 00:09:26,490 --> 00:09:29,700 Felly, mewn dim ond hyn o bryd, rydych yn mynd i darllen y llinell gyntaf oddi ar gefn 160 00:09:29,700 --> 00:09:32,880 eich taflen twyllo, ac rydych naill ai mynd i godi neu beidio chodi eich llaw. 161 00:09:32,880 --> 00:09:35,710 Os ydych yn 1, yr ydych yn codi, os rydych yn 0, rydych yn sefyll yno 162 00:09:35,710 --> 00:09:38,594 lletchwith, yn union fel 'na. 163 00:09:38,594 --> 00:09:40,386 Go. 164 00:09:40,386 --> 00:09:43,945 Pa rif, yn gyntaf ac yn bennaf, yn cael eu guys hyn gynrychioli? 165 00:09:43,945 --> 00:09:47,140 166 00:09:47,140 --> 00:09:48,860 >> 66. 167 00:09:48,860 --> 00:09:49,560 66, dde? 168 00:09:49,560 --> 00:09:52,400 Mae gennym 1 yn y golofn 64s, o 1 yn y golofn 2s. 169 00:09:52,400 --> 00:09:56,340 Mae hynny'n rhoi 66 i mi, fel sy'n ymddangos ei fod yn cynrychioli'r B. Felly, 170 00:09:56,340 --> 00:09:57,075 rydych guys wedi sillafu - 171 00:09:57,075 --> 00:09:58,300 Iawn, mae hynny'n ddigon. 172 00:09:58,300 --> 00:09:59,430 B. 173 00:09:59,430 --> 00:10:01,610 >> Felly nawr gadewch i ni symud ymlaen i ein hail lythyr. 174 00:10:01,610 --> 00:10:03,530 Go. 175 00:10:03,530 --> 00:10:06,860 Pwy sydd gyflymaf yn y cwestiwn yma? 176 00:10:06,860 --> 00:10:07,750 Felly 79. 177 00:10:07,750 --> 00:10:11,840 Unwaith eto, os byddwn yn ychwanegu at yr holl o'r colofnau lle mae 'na 1, ar hyn o bryd, dim ond 178 00:10:11,840 --> 00:10:14,840 fel y gwnaethom o'r blaen gyda'r symlaf o enghreifftiau o 7, rydym yn awr yn 179 00:10:14,840 --> 00:10:16,140 gael y rhif 79. 180 00:10:16,140 --> 00:10:19,910 Sydd yn ôl ein mapiau yw'r lythyr O. Felly rydym yn bron yno. 181 00:10:19,910 --> 00:10:22,590 B, O. Ac yn olaf, ewch. 182 00:10:22,590 --> 00:10:26,420 183 00:10:26,420 --> 00:10:30,120 >> Beth maen nhw'n ei gynrychioli nawr? 184 00:10:30,120 --> 00:10:31,370 Llai o gonsensws. 185 00:10:31,370 --> 00:10:34,660 186 00:10:34,660 --> 00:10:36,460 Dyna dim ond murmur absoliwt. 187 00:10:36,460 --> 00:10:40,090 Ydy, mae'n mewn gwirionedd 87. 188 00:10:40,090 --> 00:10:40,490 Da. 189 00:10:40,490 --> 00:10:44,480 >> Felly, os ydym yn awr mapio bod yn ôl i - gadewch i ni dechrau ffonio ein siart ASCII, 190 00:10:44,480 --> 00:10:46,450 America Cod Safonol ar gyfer Cyfnewidfa Gwybodaeth. 191 00:10:46,450 --> 00:10:47,700 Mae hynny'n rhoi llythyr i ni - 192 00:10:47,700 --> 00:10:51,260 193 00:10:51,260 --> 00:10:54,810 Nid yw "bo" ond "bwa." Ac mae hynny'n berffaith ciw i chi guys i gymryd bwa 194 00:10:54,810 --> 00:10:56,100 ac ewch ar y cefn. 195 00:10:56,100 --> 00:10:56,980 Diolch yn fawr iawn. 196 00:10:56,980 --> 00:10:57,886 >> [Cymeradwyaeth] 197 00:10:57,886 --> 00:10:59,136 >> DAVID Malan: Gallwch eu cadw. 198 00:10:59,136 --> 00:11:01,850 199 00:11:01,850 --> 00:11:05,942 Er mewn gwirionedd, byddai unrhyw un fel lamp desg, hefyd? 200 00:11:05,942 --> 00:11:07,300 >> [Hoot O'R GYNULLEIDFA] 201 00:11:07,300 --> 00:11:08,390 >> DAVID Malan: lamp Desg? 202 00:11:08,390 --> 00:11:10,850 >> [Chwerthin] 203 00:11:10,850 --> 00:11:11,860 >> DAVID Malan: Really? 204 00:11:11,860 --> 00:11:13,230 Lampau desg ar gyfer pawb? 205 00:11:13,230 --> 00:11:14,310 Mae pob hawl. 206 00:11:14,310 --> 00:11:20,990 Felly, gan ddechrau gyda'r mwyaf syml iawn egwyddorion, rydym wedi awr nid yn unig y cyfrifir 207 00:11:20,990 --> 00:11:24,750 i fyny o 0 yr holl ffordd hyd at 7, rydym wedi cymryd yn ganiataol mai dim ond drwy daflu mwy 208 00:11:24,750 --> 00:11:28,080 ddarnau neu fwy o oleuadau neu fwy transistors ar y broblem hon, gallwn 209 00:11:28,080 --> 00:11:32,680 cynrychioli rhifau fwy ac yn fwy, a ergo, yn amrywio fwy ac yn fwy o 210 00:11:32,680 --> 00:11:33,780 wyddor, fel Saesneg. 211 00:11:33,780 --> 00:11:37,770 A dim ond gadewch i ni ar ffydd ar gyfer heddiw sydd yr un modd gallem ddechrau 212 00:11:37,770 --> 00:11:42,220 cynrychioli graffeg a fideo ac unrhyw nifer o gyfryngau eraill yr ydym ni'n â hwy 213 00:11:42,220 --> 00:11:43,610 cyfarwydd heddiw. 214 00:11:43,610 --> 00:11:49,240 >> Felly, mae hyn yn CS50, ac yn y dosbarth ochr yn ochr ydych chi, unwaith eto, mae llawer iawn o 215 00:11:49,240 --> 00:11:53,050 cyd-ddisgyblion sy'n cael cyn lleied profiad â chi. 216 00:11:53,050 --> 00:11:57,730 Ac yr wyf yn sôn am hyn yn unig oherwydd yn eithaf yn aml, gan gynnwys mor ddiweddar fel un o 217 00:11:57,730 --> 00:12:01,860 y freshman cynghori digwyddiadau ac ar sophomore gwanwyn diwethaf cynghori 218 00:12:01,860 --> 00:12:06,420 digwyddiad, rydym yn aml yn clywed fyfyrwyr ymwadu wrth ddod i fyny at y bwrdd CS, yn dda, 219 00:12:06,420 --> 00:12:10,070 Rydw i wedi bod yn meddwl am gymryd y dosbarth intro, ond dydw i ddim mewn gwirionedd yn 220 00:12:10,070 --> 00:12:11,120 person cyfrifiadur. 221 00:12:11,120 --> 00:12:13,220 Neu, ond mae pawb yn sicr yn gwybod mwy na fi. 222 00:12:13,220 --> 00:12:17,340 Ac yr wyf yn rhoi hyn yn y ffont mwyaf bosibl, i gyfleu neges hwn y 223 00:12:17,340 --> 00:12:18,730 nid yw hynny'n wir yn yr achos. 224 00:12:18,730 --> 00:12:21,100 >> Ac os ydych yn meddwl, dylai Yr wyf fi, mewn gwirionedd, fod yma? 225 00:12:21,100 --> 00:12:25,950 Yn sylweddoli nid yn unig bod y cwrs hwn yn Teitl Cyflwyniad i Cyfrifiadur 226 00:12:25,950 --> 00:12:31,740 Gwyddoniaeth, mae'n Cyflwyniad i Cyfrifiadur Gwyddoniaeth I. Felly, yn wir, 227 00:12:31,740 --> 00:12:33,170 ail gyflwyniad o'r fath. 228 00:12:33,170 --> 00:12:35,390 Felly, nad ydych yn, mewn gwirionedd, yn y lle anghywir. 229 00:12:35,390 --> 00:12:39,000 Ac ymhlith y nodau yr wyf wedi gyfer heddiw yn i leddfu unrhyw bryderon o'r fath i chi 230 00:12:39,000 --> 00:12:42,430 gallai fod, ond hefyd i beintio darlun o'r hyn sydd ar y gweill ar gyfer 231 00:12:42,430 --> 00:12:45,720 myfyrwyr llai ac yn fwy cyfforddus fel ei gilydd yn y cwrs hwn. 232 00:12:45,720 --> 00:12:49,320 >> Ond yn gyntaf, gair ar un o'r taflenni gennych heddiw, ymhlith y 233 00:12:49,320 --> 00:12:50,780 Mae nifer o gwestiynau cyffredin. 234 00:12:50,780 --> 00:12:54,290 Mae wedi bod yn weledigaeth o ni am beth amser awr i gyflwyno graddio newydd 235 00:12:54,290 --> 00:12:57,010 dewis i mewn i'r cwrs - sef, SADWRN / UNSAT. 236 00:12:57,010 --> 00:13:01,930 Athronyddol i mi, mae'n llawer llawer, llawer mwy pwysig bod y 237 00:13:01,930 --> 00:13:05,050 myfyrwyr yn y dosbarth hwn yn ymgysylltu â'r deunydd, yn cael eu herio gan y 238 00:13:05,050 --> 00:13:09,800 deunydd, ac yn poeni llawer, llawer llai am mecaneg sgoriau gwirioneddol 239 00:13:09,800 --> 00:13:12,590 graddau a llythyr yn semester diwedd, ond wir gofleidio'r 240 00:13:12,590 --> 00:13:13,970 cwrs ac ei ddeunydd. 241 00:13:13,970 --> 00:13:18,140 Ac yn wir mae hyn yn teimlo, yn fwy cyffredinol, ar gyfer yr hyn sy'n ddiddorol iddyn nhw, i 242 00:13:18,140 --> 00:13:21,390 teimlo herio a'i wobrwyo, ond heb ofni methu. 243 00:13:21,390 --> 00:13:25,030 >> Ac yn wir, mae hyn hefyd yn gylchol thema yn hyn ac eraill rhagarweiniol 244 00:13:25,030 --> 00:13:28,680 cyrsiau mewn meysydd eraill, eich bod wedi anesmwythder hwn pan ddaw i 245 00:13:28,680 --> 00:13:31,040 rhoi bysedd traed un yn dyfroedd anghyfarwydd. 246 00:13:31,040 --> 00:13:34,880 Yr wyf fy hun, yn ôl yn 1995, oedd yn freshman. 247 00:13:34,880 --> 00:13:37,990 Roeddwn yn canolbwyntio'n fawr iawn ar fod a crynodyddion Gov yma. 248 00:13:37,990 --> 00:13:41,060 Ac eto roeddwn bob amser yn tyfu i fyny gydag ychydig o ddiddordeb mewn gwyddoniaeth gyfrifiadurol. 249 00:13:41,060 --> 00:13:42,180 Yr wyf yn chwilfrydig bob amser. 250 00:13:42,180 --> 00:13:47,610 >> Ond yn ôl hynny, hyd yn oed, cefais ofn hwn o hyd yn oed gamu droed yn CS50, cymaint 251 00:13:47,610 --> 00:13:49,420 fel nad oeddwn hyd yn oed yn siopa ei blwyddyn freshman. 252 00:13:49,420 --> 00:13:53,460 A'r unig reswm yr wyf yn rhoi troed yn y flwyddyn sophomore drws oedd fy mod yn 253 00:13:53,460 --> 00:13:55,340 yn caniatáu i fynd ag ef pasio / methu. 254 00:13:55,340 --> 00:13:58,920 Ond hyd yn oed yn pasio / methu ofynnol fy mod yn cael hyd y nerf i wneud apwyntiad 255 00:13:58,920 --> 00:14:01,970 gyda'r Athro Kernehan ar y pryd, dod â'r ddalen fawr o bapur, a gofyn 256 00:14:01,970 --> 00:14:04,470 iddo am ei lofnod a'i caniatâd i archwilio 257 00:14:04,470 --> 00:14:05,700 dyfroedd anghyfarwydd hyn. 258 00:14:05,700 --> 00:14:09,030 >> Ac nid yw wedi helpu yn ystod y blynyddoedd diwethaf bod wrth wneud hyn yn CS50, pan fyddwn yn 259 00:14:09,030 --> 00:14:12,500 arfer bod yn pasio / methu, byddai modd dwsinau neu gannoedd o eich cyd-ddisgyblion 260 00:14:12,500 --> 00:14:15,970 rhaid i ddod i fyny, Duw a'n gwaredo, yn y blaen Sanders gyda'r ffurflen hon, y 261 00:14:15,970 --> 00:14:19,520 mewn rhai meddyliau cynrychioli anallu, Dare i mi ddweud, i berfformio 262 00:14:19,520 --> 00:14:20,800 yn wastad eich cyfoedion '. 263 00:14:20,800 --> 00:14:23,410 Pa yn chwerthinllyd, ond yr wyf yn meddwl mae y meddylfryd. 264 00:14:23,410 --> 00:14:27,210 Ac mae wedi bod erioed yn y diwylliant hwn y TAS / UNSAT, neu pasio / methu mwy 265 00:14:27,210 --> 00:14:30,610 yn gyffredinol, yn y cwrs hwn, neu, mewn gwirionedd ar y campws hwn. 266 00:14:30,610 --> 00:14:32,310 >> Felly, eleni rydym wedi newid hynny. 267 00:14:32,310 --> 00:14:35,630 Byddwn yn hanner ecstatig o y dosbarth hwn neu fwy a ddaeth i ben 268 00:14:35,630 --> 00:14:38,700 i fyny gymryd CS50 SADWRN / UNSAT. 269 00:14:38,700 --> 00:14:42,130 Ymhen blwyddyn, byddai'n wych os bron pawb. 270 00:14:42,130 --> 00:14:44,410 Wedi hynny efallai y byddwn yn gweithio ar raddau llythyr yn Harvard 271 00:14:44,410 --> 00:14:45,480 Coleg yn fwy cyffredinol. 272 00:14:45,480 --> 00:14:48,900 Ond am nawr, byddwn yn gwneud hyn o fewn ein maes eu hunain, a byddwn yn galonnog 273 00:14:48,900 --> 00:14:53,400 eich annog i adolygu hynny ac Cwestiynau Cyffredin ofyn cwestiynau fel y gwelwch yn dda, fel y 274 00:14:53,400 --> 00:14:58,000 gobeithio i chi, yn wahanol i mi, fydd ddim yn hollol yn cael yr un ffactor ofn pan 275 00:14:58,000 --> 00:15:01,040 archwilio beth sydd yn ôl pob tebyg lle anghyfarwydd. 276 00:15:01,040 --> 00:15:02,786 >> Felly, beth yw CS50? 277 00:15:02,786 --> 00:15:06,150 Mae'n gyflwyniad i mentrau deallusol o gyfrifiadur 278 00:15:06,150 --> 00:15:07,700 gwyddoniaeth a'r gelfyddyd o raglenni. 279 00:15:07,700 --> 00:15:08,770 Ond beth mae hynny'n ei olygu mewn gwirionedd? 280 00:15:08,770 --> 00:15:12,510 >> Wel, hyd yn hyn, buom yn siarad yn fyr iawn am gynrychioli gwybodaeth. 281 00:15:12,510 --> 00:15:15,070 Ond debyg ei bod yn eisiau mewn gwirionedd i wneud rhywbeth yn ei gylch. 282 00:15:15,070 --> 00:15:17,890 Mae angen i gyflwyno'r syniad o yr hyn y byddwn yn galw algorithm. 283 00:15:17,890 --> 00:15:21,540 Mae algorithm yn weithdrefn, proses, set o gyfarwyddiadau ar gyfer 284 00:15:21,540 --> 00:15:22,780 gwneud rhywbeth. 285 00:15:22,780 --> 00:15:25,620 >> A gall algorithm fod yn rhywbeth syml super. 286 00:15:25,620 --> 00:15:28,660 Er enghraifft, yn enghraifft y mae rhai o efallai y byddwch yn gyfarwydd yw hyn 287 00:15:28,660 --> 00:15:29,350 beth yma. 288 00:15:29,350 --> 00:15:32,510 Felly dyma y llyfr hwn yn dod yn fwyfwy dyddio, ond unwaith ar y tro, mae'n 289 00:15:32,510 --> 00:15:34,720 yn cynnwys llawer iawn o enwau a rhifau ffôn. 290 00:15:34,720 --> 00:15:37,710 Ac yn wir, os oeddwn i eisiau dod o hyd i rhywun yn y llyfr ffôn - 291 00:15:37,710 --> 00:15:39,800 dweud, rhywun a enwir Mike Smith - 292 00:15:39,800 --> 00:15:43,810 Gallwn i ddod o hyd i Mike Smith mewn nifer o ffyrdd weddol syml. 293 00:15:43,810 --> 00:15:47,700 Gallwn ddechrau ar ddechrau a symud ymlaen i dudalen 1, nid oes. 294 00:15:47,700 --> 00:15:49,240 Page 2, nid oes. 295 00:15:49,240 --> 00:15:49,960 Page 3. 296 00:15:49,960 --> 00:15:53,430 A yw hynny'n algorithm, yw bod broses, yn gywir? 297 00:15:53,430 --> 00:15:54,620 >> Felly, mae'n gywir, dde? 298 00:15:54,620 --> 00:15:58,070 Rwy'n fath o idiot i wneud yn y modd hwnnw, ond yn y pen draw byddaf yn 299 00:15:58,070 --> 00:16:02,670 ddod o hyd i'r cyfenw S, a, gobeithio, Mike yn yr adran honno, a byddaf yn dod yn 300 00:16:02,670 --> 00:16:04,100 wneud gyda fy algorithm. 301 00:16:04,100 --> 00:16:05,440 Ond yn sicr nid yw'n 'n athrylithgar. 302 00:16:05,440 --> 00:16:08,020 Mae'r rhan fwyaf o pob bod dynol rhesymol yn hyn o Ni fyddai ystafell wedi gwneud hynny. 303 00:16:08,020 --> 00:16:10,180 Beth fyddech chi wedi ei wneud? 304 00:16:10,180 --> 00:16:11,480 >> Byddech wedi mynd yn syth at y canol, dde? 305 00:16:11,480 --> 00:16:12,000 Yn fras i'r canol. 306 00:16:12,000 --> 00:16:16,310 A ydych yn sylweddoli, oh, y rhain yw'r Ms Felly, Mike Smith, enw olaf yn Smith, 307 00:16:16,310 --> 00:16:19,050 Nid yw, yn amlwg, yna yn y chwith hanner y llyfr. 308 00:16:19,050 --> 00:16:21,040 Rhaid iddo fod tuag at y S sydd yn y dde. 309 00:16:21,040 --> 00:16:24,090 Ac ar hyn o bryd, er bod y rhan fwyaf ohonom nid ydynt yn gwneud hyn mewn gwirionedd, gallwn 310 00:16:24,090 --> 00:16:27,125 rhwygo llythrennol y broblem hon yn ei hanner. 311 00:16:27,125 --> 00:16:27,640 >> [Bloeddio a chymeradwyaeth] 312 00:16:27,640 --> 00:16:28,950 >> DAVID Malan: Diolch yn fawr. 313 00:16:28,950 --> 00:16:30,150 >> [Bloeddio a chymeradwyaeth] 314 00:16:30,150 --> 00:16:34,660 >> DAVID Malan: Gallwch llythrennol rhwygo hwn problem yn ei hanner, gan adael i mi, 315 00:16:34,660 --> 00:16:36,120 llythrennol, hanner problem mor fawr. 316 00:16:36,120 --> 00:16:39,750 Felly, os yw hyn yn llyfr ffôn yn - ac mae'n debyg ei fod - tua 1,000 o dudalennau, yn awr 317 00:16:39,750 --> 00:16:40,840 dim ond 500. 318 00:16:40,840 --> 00:16:44,710 Os byddaf yn gwneud hyn eto ac yr wyf yn sylweddoli, oh, damn, yr wyf yn mynd yn rhy bell, Im 'yn y Telerau 319 00:16:44,710 --> 00:16:46,480 adran hon, gallaf yn yr un modd - 320 00:16:46,480 --> 00:16:48,030 ffigurol neu'n llythrennol - 321 00:16:48,030 --> 00:16:50,260 RIP y llyfr ffôn - yr oedd mewn gwirionedd yn llawer haws y pryd. 322 00:16:50,260 --> 00:16:53,610 Gallaf llythrennol RIP y llyfr ffôn yn ei hanner, gan adael i mi yn awr gyda 323 00:16:53,610 --> 00:16:55,186 Nid yw 1,000, nid 500 - 324 00:16:55,186 --> 00:16:56,680 250 o dudalennau. 325 00:16:56,680 --> 00:17:00,210 Ac yr wyf yn gallu mynd 125, a hanner hynny, ac hanner o hynny, a hanner hynny, 326 00:17:00,210 --> 00:17:04,760 nes o'r diwedd byddaf yn gadael gyda dim ond un dudalen sengl. 327 00:17:04,760 --> 00:17:06,430 >> [Chwerthin] 328 00:17:06,430 --> 00:17:07,589 >> DAVID Malan: Dyna'r rhan I methu ar. 329 00:17:07,589 --> 00:17:10,400 Un dudalen sengl y Mike gobeithio y mae. 330 00:17:10,400 --> 00:17:14,630 Nawr gall rhai gwahanol algorithmau yn fath o asesu neu ei gwerthuso yn 331 00:17:14,630 --> 00:17:15,270 ffordd wahanol. 332 00:17:15,270 --> 00:17:17,300 Mae'r un cyntaf yn llinellol iawn, dde? 333 00:17:17,300 --> 00:17:18,500 Trowch dudalen, chwiliwch am Mike. 334 00:17:18,500 --> 00:17:19,630 Trowch dudalen, chwiliwch am Mike. 335 00:17:19,630 --> 00:17:20,560 Mae'n llinellol iawn. 336 00:17:20,560 --> 00:17:23,339 Os oes un dudalen yn fwy yn y ffôn llyfr, mae'n fwy na thebyg yn mynd i fynd â mi 337 00:17:23,339 --> 00:17:27,380 un yn fwy yn ail, o amser un uned fwy, Fodd bynnag, rydym yn cyfrifiaduro amser. 338 00:17:27,380 --> 00:17:32,470 >> Felly, efallai y byddwn yn tynnu fel hyn y llinell hon yma, lle fel maint y 339 00:17:32,470 --> 00:17:34,700 cynnydd problem o'r chwith i'r dde - 340 00:17:34,700 --> 00:17:37,480 llyfr ffôn yn cael llai i fwy - 341 00:17:37,480 --> 00:17:41,080 ac amser yn mynd i gynyddu ar yr echelin fertigol, y mwyaf 342 00:17:41,080 --> 00:17:42,030 y llyfr ffôn. 343 00:17:42,030 --> 00:17:46,180 Felly, n yn unig newidyn cyffredinol gwyddonwyr cyfrifiadurol yn eu defnyddio i gynrychioli 344 00:17:46,180 --> 00:17:48,210 rhywfaint o werth, mae rhai rhif. 345 00:17:48,210 --> 00:17:50,740 Felly, n yn mynd i gynyddu llinol. 346 00:17:50,740 --> 00:17:53,040 Dyblu maint y llyfr ffôn, mae'n mynd i fynd â mi dwywaith gymaint 347 00:17:53,040 --> 00:17:54,780 amser, yn fwyaf tebygol, er mwyn dod o hyd i Mike. 348 00:17:54,780 --> 00:17:56,390 >> Nawr gallwn fod wedi bod yn smart am hyn, dde? 349 00:17:56,390 --> 00:17:57,800 Oeddwn yn cael diflasu yn gyflym. 350 00:17:57,800 --> 00:17:58,910 Allai fod wedi gwneud hyn drwy deuoedd. 351 00:17:58,910 --> 00:18:01,870 Felly dwy dudalen, ac yna bedair, yna chwe mis, ac yna wyth. 352 00:18:01,870 --> 00:18:05,220 A gallwn ddechrau hedfan trwy ei fod yn ychydig yn gyflymach, er ar fân berygl o 353 00:18:05,220 --> 00:18:09,210 mynd y tu hwnt Mike, ond nid yw'r gromlin yn mynd i fod yn bob un sy'n wahanol. 354 00:18:09,210 --> 00:18:12,550 Mae'n dal yn mynd i fod yn syth llinell, ond ychydig yn gyflymach. 355 00:18:12,550 --> 00:18:13,710 >> Ond yr hyn wnes i ei wneud? 356 00:18:13,710 --> 00:18:15,845 Fi 'n weithredol yn gwneud rhywbeth well o'u hanfod. 357 00:18:15,845 --> 00:18:21,990 I gyflawni hyn byddwn yn galw logarithmig amser, log o n, lle wyrdd hwn 358 00:18:21,990 --> 00:18:27,730 lein Mae llawer, llawer, llawer ymyl llai syth iddo. 359 00:18:27,730 --> 00:18:33,050 Ac yn hytrach, mae'n awgrymu, gan ei fod yn datrys y dulliau anfeidredd erioed mor raddol, 360 00:18:33,050 --> 00:18:36,700 y gallwn mewn gwirionedd yn cymryd a-tudalen 1,000 llyfr ffôn, dyblu ei faint 361 00:18:36,700 --> 00:18:39,610 y flwyddyn nesaf - oherwydd mae'n debyg llawer mwy o bobl yn symud i mewn i'r dref. 362 00:18:39,610 --> 00:18:43,250 >> Felly, yn awr yr wyf wedi cael 2,000 o dudalennau, ond sut llawer mwy o gamau yw bod callach 363 00:18:43,250 --> 00:18:45,200 algorithm mynd i gymryd? 364 00:18:45,200 --> 00:18:46,060 Dim ond un. 365 00:18:46,060 --> 00:18:48,060 Yr wyf yn golygu, mae hynny'n beth pwerus. 366 00:18:48,060 --> 00:18:51,400 Os ydym yn mynd i 4,000 o dudalennau y flwyddyn nesaf, hynny'n mynd i fynd â mi 367 00:18:51,400 --> 00:18:53,020 dim ond dau camau mwy. 368 00:18:53,020 --> 00:18:56,500 Felly, gallwch chi daflu fwy ac yn fwy problemau yn y mi, nid yn wahanol i'r we yn 369 00:18:56,500 --> 00:18:59,560 taflu problemau fwy ac yn fwy bob dydd am Googles a Facebooks o 370 00:18:59,560 --> 00:19:01,590 y byd, ac nid yw'n mor bwysig â hynny. 371 00:19:01,590 --> 00:19:05,840 Gan fy mod yn rhoi mwy o feddwl a gofal i fy algorithm â hwy i ddatrys 372 00:19:05,840 --> 00:19:07,020 problemau yn effeithlon. 373 00:19:07,020 --> 00:19:09,260 >> Ac yn wir, bydd hynny'n un o nodau'r cwrs hwn. 374 00:19:09,260 --> 00:19:11,230 Byddwch, ar hyd y ffordd, dysgu sut i raglennu. 375 00:19:11,230 --> 00:19:13,360 Byddwch yn dysgu sut i raglennu mewn unrhyw nifer o ieithoedd. 376 00:19:13,360 --> 00:19:16,670 Ond ar ddiwedd y dydd, mae'r cwrs yn ati i ddatrys problemau a chael 377 00:19:16,670 --> 00:19:20,490 yn well am ddatrys problemau - ac, fel yn achosion fel hyn, datrys problemau 378 00:19:20,490 --> 00:19:22,030 yn fwy effeithlon. 379 00:19:22,030 --> 00:19:23,990 >> Nawr hyd yn hyn, rydym wedi gwneud hyn weddol reddfol. 380 00:19:23,990 --> 00:19:27,420 Gadewch i ni gyflwyno rhywbeth yn deg enw generig pseudocode. 381 00:19:27,420 --> 00:19:29,150 Felly, byddwn yn y pen draw, yn y cwrs hwn, i 382 00:19:29,150 --> 00:19:30,570 gwahanol ieithoedd rhaglennu. 383 00:19:30,570 --> 00:19:34,280 Ond heddiw byddwn yn gwneud hynny yn Saesneg-fel cystrawen, ble 'ch jyst fath o ddweud 384 00:19:34,280 --> 00:19:37,330 beth ydych yn ei olygu, ond rydych yn erioed mor Nid gryno ac rydych yn poeni am 385 00:19:37,330 --> 00:19:38,960 gramadeg a brawddegau cyflawn. 386 00:19:38,960 --> 00:19:41,600 Rydych yn unig yn mynegi eich hun fel gryno ag y bo modd. 387 00:19:41,600 --> 00:19:45,400 >> Felly pseudocode yn Saesneg-fel gystrawen sy'n cynrychioli 388 00:19:45,400 --> 00:19:46,750 iaith raglennu. 389 00:19:46,750 --> 00:19:51,170 A thuag at y diben hwnnw, gadewch i mi yn cynnig y rydym yn awr yn modelu'r broses rydym yn unig 390 00:19:51,170 --> 00:19:54,990 ddisgrifir o gyfrif rhywbeth ychydig yn yn wahanol, y tro hwn yn cymryd 391 00:19:54,990 --> 00:19:59,040 edrych ar y fideo pum munud a gynhyrchwyd gan ein ffrindiau yn TED bod 392 00:19:59,040 --> 00:20:03,170 diffinio'r hyn pseudocode yw, diffinio beth meddwl algorithmig yw, a hyd yn oed 393 00:20:03,170 --> 00:20:07,030 er bod yr enghraifft yr ydych chi ar fin i weld yw, yn ei hun, super syml, mae'n 394 00:20:07,030 --> 00:20:09,820 mynd i ddechrau rhoi i ni y meddwl model, geirfa, er mwyn iddynt 395 00:20:09,820 --> 00:20:14,588 wneud llawer, llawer mwy cymhleth algorithmau yn eithaf cyflym. 396 00:20:14,588 --> 00:20:15,576 >> [DECHRAU chwarae fideo] 397 00:20:15,576 --> 00:20:29,920 >> [CHWARAE CERDDORIAETH] 398 00:20:29,920 --> 00:20:31,100 >> Adroddwr: Beth 'an algorithm? 399 00:20:31,100 --> 00:20:34,730 Mewn gwyddoniaeth gyfrifiadurol, algorithm yn set o gyfarwyddiadau ar gyfer datrys rhai 400 00:20:34,730 --> 00:20:36,620 problem cam wrth gam. 401 00:20:36,620 --> 00:20:39,650 Yn nodweddiadol, algorithmau yn cael eu gweithredu gan gyfrifiaduron, ond mae gan fodau dynol 402 00:20:39,650 --> 00:20:41,230 algorithmau, yn ogystal. 403 00:20:41,230 --> 00:20:43,290 Er enghraifft, sut y byddech yn mynd am gyfrif y nifer 404 00:20:43,290 --> 00:20:44,750 o bobl mewn ystafell? 405 00:20:44,750 --> 00:20:47,980 Wel, os ydych chi fel fi, byddech yn ôl pob tebyg pwynt ar bob person, un ar 406 00:20:47,980 --> 00:20:50,120 y tro, ac yn cyfrif hyd o 0. 407 00:20:50,120 --> 00:20:52,970 1, 2, 3, 4, ac yn y blaen. 408 00:20:52,970 --> 00:20:54,140 >> Wel, mae hynny'n algorithm. 409 00:20:54,140 --> 00:20:57,600 Yn wir, gadewch i ni geisio mynegi ei fod yn ychydig yn fwy ffurfiol yn pseudocode - 410 00:20:57,600 --> 00:21:00,700 Cystrawen Saesneg-fel sy'n debyg iaith raglennu. 411 00:21:00,700 --> 00:21:02,580 Gadewch N 0 cyfartal. 412 00:21:02,580 --> 00:21:06,970 Ar gyfer pob person yn yr ystafell, yn gosod N hafal i N plws 1. 413 00:21:06,970 --> 00:21:08,400 >> Sut i ddehongli pseudocode hwn? 414 00:21:08,400 --> 00:21:12,840 Wel, llinell un yn datgan, fel petai, newidyn a elwir N ac initializes 415 00:21:12,840 --> 00:21:14,250 ei werth i 0. 416 00:21:14,250 --> 00:21:17,550 Mae hyn yn unig yn golygu bod ar ddechrau ein algorithm, y peth y mae 417 00:21:17,550 --> 00:21:19,650 rydym yn cyfrif mae gwerth o 0. 418 00:21:19,650 --> 00:21:22,620 Wedi'r cyfan, cyn i ni ddechrau cyfrif, nid ydym wedi cyfrif unrhyw beth eto. 419 00:21:22,620 --> 00:21:25,340 Galw hon N amrywiol yn unig yw confensiwn. 420 00:21:25,340 --> 00:21:26,890 Gallwn fod wedi galw fwyaf unrhyw beth. 421 00:21:26,890 --> 00:21:30,560 >> Nawr llinell dau demarks ddechrau ddolen, cyfres o gamau a fydd yn 422 00:21:30,560 --> 00:21:32,310 ailadrodd rhai nifer o weithiau. 423 00:21:32,310 --> 00:21:35,910 Felly, yn ein enghraifft, y cam yr ydym yn cymryd yn cyfrif i bobl yn yr ystafell. 424 00:21:35,910 --> 00:21:38,730 O dan linell dau yw llinell tri, sy'n disgrifio yn union sut y 425 00:21:38,730 --> 00:21:40,160 byddwn yn mynd ati i gyfrif. 426 00:21:40,160 --> 00:21:43,440 Mae'r mewnoliad yn awgrymu ei fod yn tri lein a fydd yn ailadrodd. 427 00:21:43,440 --> 00:21:47,380 >> Felly, yr hyn y mae'r pseudocode ei ddweud yn bod ar ôl dechrau ar 0, ar gyfer pob 428 00:21:47,380 --> 00:21:50,690 person yn yr ystafell, byddwn ni cynyddu N o 1. 429 00:21:50,690 --> 00:21:53,050 Nawr yw'r algorithm hyn yn gywir? 430 00:21:53,050 --> 00:21:54,580 Wel, gadewch i rygnu arno ychydig. 431 00:21:54,580 --> 00:21:57,270 Ydy hyn yn gweithio os oes dau o bobl yn yr ystafell? 432 00:21:57,270 --> 00:21:58,170 Gadewch i ni weld. 433 00:21:58,170 --> 00:22:00,260 >> Yn llinell gyntaf, yr ydym yn ymgychwyn N i 0. 434 00:22:00,260 --> 00:22:03,660 Ar gyfer pob un o'r ddau berson, yna rydym gynyddran N erbyn 1. 435 00:22:03,660 --> 00:22:07,310 Felly, ar y daith gyntaf trwy'r dolen, rydym yn diweddaru N o 0 i 1. 436 00:22:07,310 --> 00:22:11,070 Ar yr ail daith drwy yr un dolen, rydym yn diweddaru N 1-2. 437 00:22:11,070 --> 00:22:15,780 Ac felly erbyn diwedd y algorithm yn, n yw 2, yn wir yn cyfateb i nifer y 438 00:22:15,780 --> 00:22:16,700 bobl yn yr ystafell. 439 00:22:16,700 --> 00:22:17,760 >> Hyd yn hyn, felly da. 440 00:22:17,760 --> 00:22:19,610 Beth am achos cornel, er bod? 441 00:22:19,610 --> 00:22:22,590 Gadewch i ni dybio bod 0 o bobl yn yr ystafell - ar wahân i mi, 442 00:22:22,590 --> 00:22:24,170 pwy sy'n gwneud y cyfrif. 443 00:22:24,170 --> 00:22:27,150 Yn llinell gyntaf, yr ydym yn ymgychwyn N i 0. 444 00:22:27,150 --> 00:22:30,280 Y tro hwn, fodd bynnag, nid llinell tri yn weithredu o gwbl gan nad oes 445 00:22:30,280 --> 00:22:31,370 person yn yr ystafell. 446 00:22:31,370 --> 00:22:35,260 Ac felly N parhau 0, sy'n cyd-fynd â'r nifer y bobl yn yr ystafell. 447 00:22:35,260 --> 00:22:36,420 Pretty syml, dde? 448 00:22:36,420 --> 00:22:39,630 >> Ond yn cyfrif pobl un ar y tro yn eithaf aneffeithlon, hefyd, na? 449 00:22:39,630 --> 00:22:40,920 Yn sicr gallwn wneud yn well. 450 00:22:40,920 --> 00:22:43,120 Beth am gyfrif yn ddau o bobl ar y tro? 451 00:22:43,120 --> 00:22:49,300 Yn hytrach na cyfrif 1, 2, 3, 4, 5, 6, 7, 8, ac yn y blaen, beth am gyfrif, 2, 452 00:22:49,300 --> 00:22:51,460 4, 6, 8, ac yn y blaen? 453 00:22:51,460 --> 00:22:53,700 Mae hyd yn oed yn swnio'n gynt, ac mae'n sicr y mae. 454 00:22:53,700 --> 00:22:56,240 >> Gadewch i ni yn mynegi optimization hwn yn pseudocode. 455 00:22:56,240 --> 00:22:57,800 Gadewch N 0 cyfartal. 456 00:22:57,800 --> 00:23:02,450 Ar gyfer pob pâr o bobl yn yr ystafell, gosod N gyfartal i N a 2. 457 00:23:02,450 --> 00:23:04,120 Newid yn eithaf syml, dde? 458 00:23:04,120 --> 00:23:06,750 Yn hytrach na chyfrif phobl un ar y tro, yn lle hynny rydym yn cyfrif 459 00:23:06,750 --> 00:23:08,300 eu dau ar y tro. 460 00:23:08,300 --> 00:23:10,980 Mae'r algorithm yn felly ddwywaith mor gyflym ag yr olaf. 461 00:23:10,980 --> 00:23:12,180 >> Ond a yw'n gywir? 462 00:23:12,180 --> 00:23:12,920 Gadewch i ni weld. 463 00:23:12,920 --> 00:23:15,330 Ydy hyn yn gweithio os oes dau o bobl yn yr ystafell? 464 00:23:15,330 --> 00:23:17,550 Yn llinell gyntaf, yr ydym yn ymgychwyn N i 0. 465 00:23:17,550 --> 00:23:20,920 Am y un pâr o bobl, yna rydym cynyddiad N gan ddau. 466 00:23:20,920 --> 00:23:24,860 Ac felly erbyn diwedd y algorithm yn, N yw 2, yn wir yn cyfateb i nifer y 467 00:23:24,860 --> 00:23:25,650 bobl yn yr ystafell. 468 00:23:25,650 --> 00:23:28,250 >> Gadewch i ni dybio nesaf fod 0 o bobl yn yr ystafell. 469 00:23:28,250 --> 00:23:30,840 Yn llinell gyntaf, yr ydym yn ymgychwyn N i 0. 470 00:23:30,840 --> 00:23:34,330 Fel o'r blaen, nid yw llinell tri yn gweithredu o gwbl, gan nad oes unrhyw barau 471 00:23:34,330 --> 00:23:35,380 o bobl yn yr ystafell. 472 00:23:35,380 --> 00:23:38,350 Ac felly N parhau 0, sydd yn wir cyfateb i nifer y 473 00:23:38,350 --> 00:23:39,570 bobl yn yr ystafell. 474 00:23:39,570 --> 00:23:42,280 >> Ond beth os oes tri bobl yn yr ystafell? 475 00:23:42,280 --> 00:23:44,130 Sut mae hyn yn pris algorithm? 476 00:23:44,130 --> 00:23:44,990 Gadewch i ni weld. 477 00:23:44,990 --> 00:23:47,460 Yn llinell gyntaf, yr ydym yn ymgychwyn N i 0. 478 00:23:47,460 --> 00:23:50,870 Am bâr o bobl hynny, yna rydym cynyddiad N erbyn 2. 479 00:23:50,870 --> 00:23:51,800 Ond yna beth? 480 00:23:51,800 --> 00:23:54,960 Nid oes pâr llawn arall o bobl yn yr ystafell, felly llinell dau dim 481 00:23:54,960 --> 00:23:56,180 bellach yn berthnasol. 482 00:23:56,180 --> 00:24:00,530 Ac felly erbyn diwedd y algorithm yn, N yn dal i 2, nad yw'n gywir. 483 00:24:00,530 --> 00:24:03,810 >> Yn wir, wedi dweud algorithm hwn yn bygi, oherwydd mae ganddo camgymeriad. 484 00:24:03,810 --> 00:24:05,820 Dewch iawn gyda rhai pseudocode newydd. 485 00:24:05,820 --> 00:24:09,670 Gadewch n 0 cyfartal i bob pâr o bobl yn yr ystafell. 486 00:24:09,670 --> 00:24:12,550 Gosod N gyfartal i N a 2. 487 00:24:12,550 --> 00:24:17,140 Os yw un person yn parhau i fod heb eu paru, gosod N hafal i N plws 1. 488 00:24:17,140 --> 00:24:20,140 I ddatrys y broblem benodol, rydym wedi cyflwyno, yn unol pedwar, a 489 00:24:20,140 --> 00:24:24,520 cyflwr, a elwir fel arall fel cangen mai dim ond executes os oes un 490 00:24:24,520 --> 00:24:26,640 person nad ydym allai pâr ag un arall. 491 00:24:26,640 --> 00:24:30,440 Ac felly yn awr, a oes un neu dri neu unrhyw nifer od o bobl yn 492 00:24:30,440 --> 00:24:33,290 yr ystafell, algorithm hwn yn awr y bydd yn eu cyfrif. 493 00:24:33,290 --> 00:24:34,560 >> Allwn ni wneud hyd yn oed yn well? 494 00:24:34,560 --> 00:24:38,820 Wel, gallem cyfrif mewn 3s neu 4s neu hyd yn oed 5 a 10, ond tu hwnt i hynny, mae'n 495 00:24:38,820 --> 00:24:41,360 mynd i gael ychydig anodd ei bwynt. 496 00:24:41,360 --> 00:24:44,660 Ar ddiwedd y dydd, p'un a gweithredu gan gyfrifiaduron neu bobl, 497 00:24:44,660 --> 00:24:46,750 algorithmau yn unig set cyfarwyddiadau gyda 498 00:24:46,750 --> 00:24:48,290 i ddatrys problemau. 499 00:24:48,290 --> 00:24:49,792 Roedd y rhain yn dim ond tri. 500 00:24:49,792 --> 00:24:52,404 Pa broblem y byddech yn datrys gyda algorithm? 501 00:24:52,404 --> 00:24:52,901 >> [VIDEO END Playback] 502 00:24:52,901 --> 00:24:55,883 >> DAVID Malan: Dyna'r unig dro Byddaf yn ymddangos ar ffurf cartŵn. 503 00:24:55,883 --> 00:25:01,050 Ond os yw'r stori yn gadael i ffwrdd, yn awr, yn cael ei sut y gallwn wneud yn well? 504 00:25:01,050 --> 00:25:04,680 Trioedd a pedwar, ni hawlio, gallwn ddibynnu pobl yn llawer cyflymach, ond gallwn 505 00:25:04,680 --> 00:25:06,290 wneud yn y bôn yn well na hynny? 506 00:25:06,290 --> 00:25:07,540 Ac yr wyf yn Wager y gallwn. 507 00:25:07,540 --> 00:25:11,980 >> Os byddwn yn cyflwyno ychydig o ein hunain pseudocode yma, dw i'n mynd i gynnig 508 00:25:11,980 --> 00:25:14,550 y gallwn gyflawni llinell fel hyn. 509 00:25:14,550 --> 00:25:17,280 Nid ydym yn mynd i gyfrif pobl un, dau, tri, pedwar. 510 00:25:17,280 --> 00:25:19,470 Nid ydym yn mynd i fynd dau, pedwar, chwech, wyth. 511 00:25:19,470 --> 00:25:23,390 Rydym yn mynd i wneud yn well sylfaenol drwy ailystyried y broblem, ac yn hyn o 512 00:25:23,390 --> 00:25:27,080 achos, leveraging sydd fel arall danddefnyddio adnoddau. 513 00:25:27,080 --> 00:25:31,460 >> Mewn dim ond hyn o bryd, yr wyf yn gobeithio y byddwch yn maddau a hiwmor ni drwy sefyll i fyny yn 514 00:25:31,460 --> 00:25:34,470 lle, a phryd rydym yn mynd i gofyn i bob un ohonoch i gymryd yn eich 515 00:25:34,470 --> 00:25:36,400 meddyliau y rhif 1. 516 00:25:36,400 --> 00:25:39,560 Rydych yn wedyn yn mynd i fwyfwy lletchwith, gan fod amser yn mynd heibio, dod o hyd i 517 00:25:39,560 --> 00:25:42,740 rhywun arall sy'n sefyll, cyfuno eich rhifau at ei gilydd 518 00:25:42,740 --> 00:25:43,720 drwy ychwanegu i fyny. 519 00:25:43,720 --> 00:25:47,490 Un ohonoch wedyn yn mynd i rasio i eistedd i lawr yn gyntaf, a'r person arall 520 00:25:47,490 --> 00:25:48,880 yn mynd i ailadrodd. 521 00:25:48,880 --> 00:25:53,090 >> Felly, mewn geiriau eraill, drwy hadu holl chi gyda'r rhif 1, ac yna 522 00:25:53,090 --> 00:25:57,800 cyfuno rhai 1s i 2s a 2s hynny i 4, gyda phawb yn gynyddol 523 00:25:57,800 --> 00:26:02,740 eistedd i lawr, dylem, ar ddiwedd y algorithm hwn, dim ond un benthyciad 524 00:26:02,740 --> 00:26:07,570 enaid nad oedd yn eistedd i lawr yn ddigon cyflym, ond sydd â'r cynulleidfaoedd gyfan cyfrif 525 00:26:07,570 --> 00:26:09,180 yn ei feddwl. 526 00:26:09,180 --> 00:26:13,730 >> Felly, yn mynd os byddech chi, gadewch i ymlaen a - cam un - yn sefyll i fyny yn ei le. 527 00:26:13,730 --> 00:26:15,600 A gweithredu. 528 00:26:15,600 --> 00:26:36,580 >> [DYRFA grwgnach] 529 00:26:36,580 --> 00:26:38,820 >> DAVID Malan: A ydych yn gwybod lle mae Lauren yn? 530 00:26:38,820 --> 00:26:40,179 729? 531 00:26:40,179 --> 00:27:23,350 >> [DYRFA grwgnach] 532 00:27:23,350 --> 00:27:24,340 >> DAVID Malan: Pob hawl? 533 00:27:24,340 --> 00:27:39,110 >> [DYRFA grwgnach] 534 00:27:39,110 --> 00:27:41,365 >> DAVID Malan: pob hawl, dylem yn agosáu at y diwedd. 535 00:27:41,365 --> 00:27:44,340 536 00:27:44,340 --> 00:27:47,670 Rydym yn gweld un cyd-sefyll yma o hyd. 537 00:27:47,670 --> 00:27:48,770 Pwy sydd angen arall i fod yn paru? 538 00:27:48,770 --> 00:27:50,020 Os ydych guys eisiau paru i ffwrdd. 539 00:27:50,020 --> 00:27:53,260 540 00:27:53,260 --> 00:27:56,520 Rhywun i fyny top. 541 00:27:56,520 --> 00:27:58,150 Pam nad ydw i'n roi help llaw yma. 542 00:27:58,150 --> 00:28:01,370 Ar gyfer yr ychydig iawn o bobl sy'n dal sefydlog, pa rifau ydych 543 00:28:01,370 --> 00:28:02,790 gael yn eich meddwl? 544 00:28:02,790 --> 00:28:04,020 >> MYFYRWYR: 78. 545 00:28:04,020 --> 00:28:06,010 >> DAVID Malan: 78 plws - 546 00:28:06,010 --> 00:28:07,840 pwy sy'n sefyll i lawr yma? 547 00:28:07,840 --> 00:28:08,370 >> MYFYRWYR: 39. 548 00:28:08,370 --> 00:28:09,590 >> DAVID Malan: Plus 39. 549 00:28:09,590 --> 00:28:12,310 Byd pwy arall sy'n dal i sefyll? 550 00:28:12,310 --> 00:28:13,650 81? 551 00:28:13,650 --> 00:28:15,960 OK, pwy arall? 552 00:28:15,960 --> 00:28:17,200 81 arall? 553 00:28:17,200 --> 00:28:17,860 Wow. 554 00:28:17,860 --> 00:28:19,210 Ac yna yr hyn sydd yn ôl? 555 00:28:19,210 --> 00:28:20,360 >> MYFYRWYR: 49. 556 00:28:20,360 --> 00:28:21,812 >> DAVID Malan: 49, yn ogystal? 557 00:28:21,812 --> 00:28:22,950 >> MYFYRWYR: 98. 558 00:28:22,950 --> 00:28:24,980 >> DAVID Malan: 98 plws? 559 00:28:24,980 --> 00:28:28,190 A yw hynny'n rhywun arall? 560 00:28:28,190 --> 00:28:29,155 12? 561 00:28:29,155 --> 00:28:30,460 Gwaith da. 562 00:28:30,460 --> 00:28:33,610 >> [Chwerthin] 563 00:28:33,610 --> 00:28:34,690 >> DAVID Malan: O, 112 - 564 00:28:34,690 --> 00:28:35,410 oh. 565 00:28:35,410 --> 00:28:36,220 Gwaith da! 566 00:28:36,220 --> 00:28:38,660 >> [Chwerthin] 567 00:28:38,660 --> 00:28:42,570 >> [Cymeradwyaeth] 568 00:28:42,570 --> 00:28:43,820 >> DAVID Malan: Unrhyw un arall yn dal i sefyll? 569 00:28:43,820 --> 00:28:46,710 570 00:28:46,710 --> 00:28:47,260 Mae'n ddrwg gennym? 571 00:28:47,260 --> 00:28:48,110 >> MYFYRWYR: 99. 572 00:28:48,110 --> 00:28:49,810 >> DAVID Malan: 99. 573 00:28:49,810 --> 00:28:52,620 Unrhyw un arall yn dal i sefyll? 574 00:28:52,620 --> 00:28:57,290 A chyfanswm nifer y myfyrwyr yma mewn gwirionedd, yn ôl - 575 00:28:57,290 --> 00:28:59,400 oes gennych chi rif? 576 00:28:59,400 --> 00:29:03,170 O, mae'r nifer gwirioneddol o bobl yn y ystafell, yn ôl y cyfrif sy'n 577 00:29:03,170 --> 00:29:07,660 y cymrodyr addysgu yn ei wneud ar ffordd y mae pawb yn, oedd 729. 578 00:29:07,660 --> 00:29:11,070 Felly, allan o roomful o fyfyrwyr Harvard oedd yn cyfrif eu hunain, y 579 00:29:11,070 --> 00:29:14,126 ateb yw 637. 580 00:29:14,126 --> 00:29:15,480 >> [Chwerthin] 581 00:29:15,480 --> 00:29:16,350 >> DAVID Malan: Mor agos. 582 00:29:16,350 --> 00:29:17,360 Ond yn dal. 583 00:29:17,360 --> 00:29:22,110 Iawn, felly dyna addysgu hyn o bryd, dde? 584 00:29:22,110 --> 00:29:24,120 Mae hyn yn awr yw hyn yr ydym yn disgrifio fel a bug. 585 00:29:24,120 --> 00:29:28,120 Rhywle ar hyd y ffordd, rydym yn gwneud peth rhifyddeg anghywir, neu rywun eistedd i lawr, 586 00:29:28,120 --> 00:29:29,930 neu ei adael, neu aeth rhywbeth o'i le. 587 00:29:29,930 --> 00:29:30,930 Ond mae hynny'n iawn. 588 00:29:30,930 --> 00:29:33,390 Oherwydd hyd yn oed o hyd, rydym yn got eithaf agos. 589 00:29:33,390 --> 00:29:37,480 A byddwn yn dadlau ein bod yn cyrraedd y anghywir ateb llawer cyflymach nag y byddwn wedi 590 00:29:37,480 --> 00:29:39,770 defnyddio fy ymagwedd fwy llinol. 591 00:29:39,770 --> 00:29:42,630 >> Felly, gadewch i ni gymryd yn ganiataol yn wir, rydym yn cael y gywir, ond mae ei feddwl yn awr am yr hyn 592 00:29:42,630 --> 00:29:46,870 oedd yn digwydd bob tro, yn erbyn fy algorithm pwyntio naïf eu hunain. 593 00:29:46,870 --> 00:29:48,420 Un, dau, tri. 594 00:29:48,420 --> 00:29:53,010 Os oes wir 729 neu 637 o bobl yma, a fyddai wedi cymryd i mi 595 00:29:53,010 --> 00:29:57,720 llythrennol 637 neu 729 pointings y bys ac 596 00:29:57,720 --> 00:29:59,490 incrementing cyfanswm fy nghyfrif. 597 00:29:59,490 --> 00:30:01,910 A gallwn i wneud ychydig yn well gan fynd dau, pedwar, chwech, wyth, a 598 00:30:01,910 --> 00:30:05,660 dwbl y cyflymder hwnnw, efallai hyd yn oed triphlyg neu pedwarplyg, yn dibynnu pa mor dda y gallaf 599 00:30:05,660 --> 00:30:07,110 gwneud hynny gyfrif yn fy mhen. 600 00:30:07,110 --> 00:30:10,720 >> Ond y dull hwn yr ydych guys yn cymryd yn sylfaenol wahanol. 601 00:30:10,720 --> 00:30:12,770 Gan fod ar y dechrau, bob un ohonoch yn sefyll i fyny. 602 00:30:12,770 --> 00:30:14,620 Felly yr holl 729. 603 00:30:14,620 --> 00:30:17,370 Ac yna llythrennol hanner ohonoch chi eistedd i lawr. 604 00:30:17,370 --> 00:30:19,720 Ac ar ôl hynny, un arall hanner ohonoch eistedd i lawr. 605 00:30:19,720 --> 00:30:22,650 Ac ar ôl hynny, un arall hanner ohonoch eistedd i lawr. 606 00:30:22,650 --> 00:30:27,470 >> A chyfanswm y nifer o weithiau y byddwch Gallai guys wedi eistedd i lawr yn fras 607 00:30:27,470 --> 00:30:31,740 wyth neu naw neu ddeg o gyfanswm amser, yn dibynnu ar yr hyn y cyfanswm ein cyfrif yn. 608 00:30:31,740 --> 00:30:33,300 A gallwn ddatrys o wneud hyn y ffordd arall. 609 00:30:33,300 --> 00:30:37,740 Pe bai gennym 1,024 o bobl yn yr ystafell, y cyfanswm nifer o weithiau gallech 610 00:30:37,740 --> 00:30:41,870 haneru 1,024 o bobl yw 10. 611 00:30:41,870 --> 00:30:43,370 >> Nawr meddwl am y peth yn i'r cyfeiriad arall. 612 00:30:43,370 --> 00:30:49,170 Tybiwch, chwerthinllyd, a oedd gennym, yn dweud phedwar biliwn o bobl yn yr ystafell hon, 613 00:30:49,170 --> 00:30:50,860 neu ystafell ychydig yn fwy. 614 00:30:50,860 --> 00:30:54,550 Sawl gwaith y byddem wedi mynd trwy algorithm hwn, fel bod hanner 615 00:30:54,550 --> 00:30:58,110 y dosbarth yn eistedd i lawr? 616 00:30:58,110 --> 00:31:03,050 Dim ond yn mynd i gymryd 32 o'r fath gweithrediadau, hyd yn oed mewn dosbarth o faint 617 00:31:03,050 --> 00:31:03,770 phedwar biliwn o. 618 00:31:03,770 --> 00:31:04,055 Pam? 619 00:31:04,055 --> 00:31:06,980 Oherwydd phedwar biliwn o yn mynd i ddau biliwn, yn mynd i un miliwn, yn mynd i 620 00:31:06,980 --> 00:31:09,925 500 miliwn, yn mynd i 250 miliwn, dot, dot, dot. 621 00:31:09,925 --> 00:31:14,940 Ni allaf ond wneud hynny adran rhyw 32 adegau, a phryd hynny, bawb ac eithrio 622 00:31:14,940 --> 00:31:17,820 byddai un person yn cael ei adael yn sefyll. 623 00:31:17,820 --> 00:31:21,590 >> A dyna, hefyd, yn fath o pwerus syniad bod yn gynyddol byddwn yn ceisio 624 00:31:21,590 --> 00:31:24,690 trosoledd yn y cwrs hwn, ac yn rhaglennu a gwyddoniaeth gyfrifiadurol mwy 625 00:31:24,690 --> 00:31:29,400 yn gyffredinol, germau hyn o syniad gyda y gallwn wedyn ddatrys problemau llawer, 626 00:31:29,400 --> 00:31:31,130 yn llawer mwy pwerus. 627 00:31:31,130 --> 00:31:34,610 Felly, rydym yn dechrau eithaf syml â hynny pseudocode a guy mewn ystafell, ond 628 00:31:34,610 --> 00:31:38,205 nawr gyda ystafell gyfan llawn o bobl rydym wedi ei wneud yn y bôn yn well. 629 00:31:38,205 --> 00:31:41,460 >> Wel, gadewch i ni yn awr symud o pseudocode i ryw cod gwirioneddol. 630 00:31:41,460 --> 00:31:44,200 Mae'r iaith rydych chi ar fin ei weld yn digwydd i gael ei alw JavaScript, a 631 00:31:44,200 --> 00:31:46,190 byddwn yn dychwelyd at hyn tuag at diwedd semester. 632 00:31:46,190 --> 00:31:49,960 Mae'n iaith raglennu yr ydych defnyddio i wneud gwefannau ac eraill o'r fath 633 00:31:49,960 --> 00:31:51,360 meddalwedd y dyddiau hyn. 634 00:31:51,360 --> 00:31:54,890 Ac rydym wedi ei ddefnyddio, diolch i ffrind o ni yn Stanford, i amgodio 635 00:31:54,890 --> 00:31:56,630 rhywfaint o wybodaeth gudd yma. 636 00:31:56,630 --> 00:31:59,500 Mae hyn yn y grefft o steganography, fel petai, lle gallwch guddio 637 00:31:59,500 --> 00:32:03,990 gwybodaeth yn yr hyn ymddangos fel arall yn fod sŵn neu yn gwbl wahanol 638 00:32:03,990 --> 00:32:05,220 ddelwedd yn gyfan gwbl. 639 00:32:05,220 --> 00:32:10,120 Ond gwreiddio yn y ddelwedd arbennig yn wir neges gudd o ryw fath. 640 00:32:10,120 --> 00:32:12,950 >> Felly, gadewch i mi fynd yn ei flaen ac yn tynnu i fyny yr un ddelwedd yma, mae hyn yn 641 00:32:12,950 --> 00:32:14,270 amser mewn porwr gwe. 642 00:32:14,270 --> 00:32:17,710 Ac yr wyf i'n mynd i chwifio fy llaw ar rai o'r fanylion ar gyfer heddiw, yn enwedig 643 00:32:17,710 --> 00:32:21,780 ar gyfer y rhai ohonoch sy'n edrych fel hyn nid yn unig JavaScript, ond Groeg, fel 644 00:32:21,780 --> 00:32:23,930 iaith anghyfarwydd yn gyfan gwbl. 645 00:32:23,930 --> 00:32:26,190 Ond mae hyn yn enghraifft o iaith raglennu. 646 00:32:26,190 --> 00:32:30,660 >> Ac ar hyn o bryd, yn cymryd ar ffydd y y llinell gyntaf o god - 647 00:32:30,660 --> 00:32:32,470 a thrwy cod, Fi jyst yn golygu testun. 648 00:32:32,470 --> 00:32:35,660 Testun y gallwn fod wedi ei deipio yn llythrennol i mewn i Microsoft Word, os cefais y 649 00:32:35,660 --> 00:32:37,630 feddalwedd gywir i yna gwneud rhywbeth yn ei gylch. 650 00:32:37,630 --> 00:32:42,120 Rhaglennu cod ffynhonnell, rhaglennu cod, mewn gwirionedd dim ond testun, ac mae'n 651 00:32:42,120 --> 00:32:45,420 yn edrych yn wahanol yn seiliedig ar pa iaith ydych yn ei ddefnyddio, nid yn wahanol i Saesneg a 652 00:32:45,420 --> 00:32:49,200 Sbaeneg a Rwsieg i gyd yn edrych yn wahanol pan fyddwch yn eu teipio ar eich bysellfwrdd. 653 00:32:49,200 --> 00:32:53,520 >> Felly mae hyn yn llinell gyntaf, ar hyn o bryd yn cymryd ar ffydd, yn syml yn agor graffig gan y 654 00:32:53,520 --> 00:32:56,160 rhyngrwyd, y graffeg swnllyd rydym yn unig yn gweld. 655 00:32:56,160 --> 00:32:59,900 Mae'r llinell nesaf yma yn enghraifft o ddolen, ac yr ydym mewn gwirionedd yn gweld bod yr un 656 00:32:59,900 --> 00:33:01,130 jargon yn y fideo TED. 657 00:33:01,130 --> 00:33:03,750 Mae dolen yn rhywbeth sy'n digwydd unwaith eto ac unwaith eto, ac er bod hyn 658 00:33:03,750 --> 00:33:08,440 yn edrych yn hollol cryptig, gyda'r keyword ar gyfer, a rhai cromfachau, a 659 00:33:08,440 --> 00:33:09,510 rhai hanner colon. 660 00:33:09,510 --> 00:33:13,070 Byddwn yn dod yn ôl at hynny cyn bo hir, ond y ddolen yno hanfod yn 661 00:33:13,070 --> 00:33:17,310 dweud wrth y rhaglen, ailadrodd dros yr holl o ddotiau swnllyd hynny, o'r chwith i'r 662 00:33:17,310 --> 00:33:18,980 dde, top i'r gwaelod. 663 00:33:18,980 --> 00:33:21,260 >> Oherwydd ar ddiwedd y dydd, delwedd fel hyn - a gallwch chi wneud mewn gwirionedd 664 00:33:21,260 --> 00:33:22,860 math o weld ar y taflunydd - 665 00:33:22,860 --> 00:33:25,280 mewn gwirionedd dim ond grid o ddotiau. 666 00:33:25,280 --> 00:33:29,730 Felly, gallwn adnabod pob un o'r dotiau hynny gan cydlynu, x, y, a gyda hyn 667 00:33:29,730 --> 00:33:33,890 rhaglen, yn awr gallwn ddechrau wneud rhywbeth i dotiau hynny. 668 00:33:33,890 --> 00:33:37,540 >> 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. 669 00:33:37,540 --> 00:33:41,000 Yn gyntaf yr wyf i'n mynd i fynd yn ei flaen a chael gwared hynny i gyd gwyrdd a glas 670 00:33:41,000 --> 00:33:43,520 sŵn, ac yr wyf i'n mynd i fynd yn ei flaen a theipiwch y canlynol 671 00:33:43,520 --> 00:33:45,710 cyfaddef cystrawen cryptig. 672 00:33:45,710 --> 00:33:48,020 im i gael delwedd. 673 00:33:48,020 --> 00:33:53,380 gosod glas yn y lleoliad x, coma, lleoliad y, i 0. 674 00:33:53,380 --> 00:33:55,610 Mewn geiriau eraill, yr wyf am i ddim ond trowch oddi ar yr holl glas 675 00:33:55,610 --> 00:33:56,920 dotiau yn y llun. 676 00:33:56,920 --> 00:33:59,800 >> Rydw i'n mynd i fynd yn ei flaen yn awr a chliciwch Run hwn / Achub botyma, a wnewch chi helpu 677 00:33:59,800 --> 00:34:02,850 sylwi ar yr ochr dde, y ddelwedd o ganlyniad yn ymddangos. 678 00:34:02,850 --> 00:34:06,120 Nawr ei wyrdd super, ond nid yw hynny'n syndod, oherwydd yr wyf yn llythrennol troi 679 00:34:06,120 --> 00:34:11,070 i ffwrdd, trwy wneud 1 a 0, pob un glas yn y llun. 680 00:34:11,070 --> 00:34:12,540 >> Wel, yn awr gadewch i ni wneud ychydig yn fwy. 681 00:34:12,540 --> 00:34:16,989 im i gael delwedd, dot setGreen, x, y. 682 00:34:16,989 --> 00:34:20,659 Ac mae hynny'n ei olygu yw ailadrodd o'r chwith i'r dde ac yna top i'r gwaelod. 683 00:34:20,659 --> 00:34:23,520 Trowch bod i ffwrdd gyda gwerth o 0, yn ogystal. 684 00:34:23,520 --> 00:34:24,750 Arbed. 685 00:34:24,750 --> 00:34:28,100 Ac ar y taflunydd, ni allwch mewn gwirionedd yn gweld unrhyw beth o gwbl. 686 00:34:28,100 --> 00:34:31,380 >> Ar fy sgrîn laptop, os byddaf yn edrych i mewn yn unig y ffordd iawn, gallaf weld ychydig o 687 00:34:31,380 --> 00:34:33,300 delwedd, oherwydd eu bod yn dal i fod rhywfaint o goch i mewn 'na. 688 00:34:33,300 --> 00:34:35,540 Os ydych chi wedi clywed erioed y acronym RGB - 689 00:34:35,540 --> 00:34:36,830 coch, gwyrdd, glas - 690 00:34:36,830 --> 00:34:39,110 mae'n cyfeirio at gyfansoddiad hwn o ddelwedd gan ddefnyddio 691 00:34:39,110 --> 00:34:40,230 dim ond y rhai tri lliw. 692 00:34:40,230 --> 00:34:43,159 Ac ar hyn o bryd, rydym wedi taflu i ffwrdd pob gwyrdd, i gyd las, ond 693 00:34:43,159 --> 00:34:44,500 Nid oes llawer o goch. 694 00:34:44,500 --> 00:34:45,920 >> Felly, gadewch i mi crank i fyny y coch. 695 00:34:45,920 --> 00:34:47,070 Sut alla i wneud hynny? 696 00:34:47,070 --> 00:34:49,300 Wel, yn gyntaf, yr wyf i'n mynd i ofyn y rhaglen hon cwestiwn. 697 00:34:49,300 --> 00:34:52,030 Rydw i'n mynd i fynd yn ei flaen a gadewch i ni alw yn amrywio, yn union fel mewn algebra. 698 00:34:52,030 --> 00:34:54,060 Gallwch gael x neu y neu z. 699 00:34:54,060 --> 00:34:57,230 Rydw i'n mynd i ddatgan newidyn ac yn dweud, eu rhoi yn y newidyn hwn, 700 00:34:57,230 --> 00:35:02,790 dros dro, gwerth y delweddau getRed werth ar x, y. 701 00:35:02,790 --> 00:35:05,870 >> Ac eto, byddwn yn dod yn ôl i bob y manylion hyn yn y dyfodol. 702 00:35:05,870 --> 00:35:10,630 Ond am nawr, dim ond yn cymryd ar ffydd y y llinell hon yn gofyn i'r rhaglen, beth 703 00:35:10,630 --> 00:35:12,740 yw gwerth coch yn x, y? 704 00:35:12,740 --> 00:35:14,450 Ar y dot penodol? 705 00:35:14,450 --> 00:35:15,710 >> Yna mi i'n mynd i wneud rhywbeth iddo. 706 00:35:15,710 --> 00:35:21,100 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 707 00:35:21,100 --> 00:35:24,760 hwb iddo gan wneud amseroedd coch, gadewch i ni ddweud, 10. 708 00:35:24,760 --> 00:35:26,870 Felly ei gynyddu gan ffactor o 10. 709 00:35:26,870 --> 00:35:29,880 Gadewch i mi chwyddo allan yn awr ac Gallai cliciwch Rhedeg / Achub. 710 00:35:29,880 --> 00:35:36,430 Ac voila, a oedd yno y cyfan amser, er bod ein llygaid dynol 711 00:35:36,430 --> 00:35:37,900 Ni allai eithaf ei weld. 712 00:35:37,900 --> 00:35:41,470 >> Felly, unwaith eto, mae hyn yn awr yw cod go iawn, yn enghraifft o iaith y byddwn yn dod 713 00:35:41,470 --> 00:35:42,770 yn ôl i cyn bo hir. 714 00:35:42,770 --> 00:35:46,670 Ond yn sylweddoli, yn enwedig y rhai ohonoch heb unrhyw brofiad o'r fath, mae'n eithaf 715 00:35:46,670 --> 00:35:50,280 cyn bo hir y bydd gennym ein hunain yn cod ysgrifennu fel 'na yno. 716 00:35:50,280 --> 00:35:54,520 Yn wir, yn offeryn rydych y mae pob braidd yn gyfarwydd, efallai, yw CS50 yn 717 00:35:54,520 --> 00:35:57,330 offeryn cwrs-siopa eu hunain, a oedd yn hailgychwyn mewn gwirionedd yr haf hwn gan rai 718 00:35:57,330 --> 00:36:01,070 o gyn-fyfyrwyr CS50 ei hun, yn awr yn troi TFS. 719 00:36:01,070 --> 00:36:04,740 >> Felly, mae hyn yn digwydd i fod yn wefan a adeiladwyd mewn iaith o'r enw PHP. 720 00:36:04,740 --> 00:36:08,510 Mae'n defnyddio cronfa ddata o'r enw MySQL, pethau byddwn yn cael ein dwylo â hwy 721 00:36:08,510 --> 00:36:10,190 budr yn ddiweddarach yn y semester. 722 00:36:10,190 --> 00:36:14,140 Ond credwch neu beidio, hyd yn oed rhywbeth fel hyn yn y pen draw yn lleihau i'r 723 00:36:14,140 --> 00:36:19,480 symlaf o ddolenni ac amodau a canghennau, fel y rhai a gwelsom dim ond 724 00:36:19,480 --> 00:36:21,530 funud yn ôl yn y fideo TED. 725 00:36:21,530 --> 00:36:25,180 >> 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 726 00:36:25,180 --> 00:36:28,010 ar gyfer y campws, ond yn hytrach rhywbeth cyn-fyfyriwr - tair 727 00:36:28,010 --> 00:36:29,080 fyfyrwyr, mewn gwirionedd - 728 00:36:29,080 --> 00:36:33,950 gwneud y flwyddyn ddiwethaf, Sierra, Daniel, a Roedd Sam, yr olaf o'r rhain ddim blaenorol 729 00:36:33,950 --> 00:36:36,370 profiad Programing pan gymerodd CS50. 730 00:36:36,370 --> 00:36:39,950 Ac ar gyfer eu prosiect terfynol, maent yn arddangos, yn y CS50 Ffair, mae 731 00:36:39,950 --> 00:36:43,720 cais o'r enw wrdly, sy'n rhaglen ar y we ar gyfer y maent yn gwneud 732 00:36:43,720 --> 00:36:47,670 fideo hwn fy mod yn meddwl y byddwn i'n rhannu i yn rhoi ymdeimlad o union beth yw eich 733 00:36:47,670 --> 00:36:49,280 bosibl erbyn diwedd tymor. 734 00:36:49,280 --> 00:37:57,170 >> [CHWARAE CERDDORIAETH] 735 00:37:57,170 --> 00:38:00,570 >> DAVID Malan: Dyna o Zero Wythnos Wythnos 12 y flwyddyn ddiwethaf. 736 00:38:00,570 --> 00:38:05,470 >> [Cymeradwyaeth] 737 00:38:05,470 --> 00:38:09,520 >> DAVID Malan: Fel teaser, hefyd, mewn gwirionedd i godi blys arnoch yw beth sy'n 738 00:38:09,520 --> 00:38:14,580 bosibl, efallai eich bod wedi gweld yn barod, neu a allai weld yn fuan, market.cs50.net, a 739 00:38:14,580 --> 00:38:17,710 offeryn newydd sy'n tîm y cwrs wedi bod yn gweithio ar, y tro hwn yn 740 00:38:17,710 --> 00:38:21,530 cydweithrediad â Harvard Myfyrwyr Asiantaethau, fel bod gan ddechrau eleni 741 00:38:21,530 --> 00:38:24,980 ac yn parhau gobeithio i mewn i hyn yn dod yr haf bydd gennych safon 742 00:38:24,980 --> 00:38:27,890 cyfle ar y campws i brynu a gwerthu pethau sydd o ddiddordeb i chi. 743 00:38:27,890 --> 00:38:32,220 A chyda partneriaeth drwy HSA, byddwch yn hefyd yn gallu i ollwng eitemau i ffwrdd 744 00:38:32,220 --> 00:38:35,950 yn un o'r siopau corfforol HSA ar ryw adeg yn y dyfodol, er mwyn 745 00:38:35,950 --> 00:38:39,150 pethau ddirprwy, yn enwedig wrth i chi gradd ac nid ydynt o reidrwydd eisiau 746 00:38:39,150 --> 00:38:44,110 taflu pethau, ond mewn gwirionedd yn ei dalu ymlaen at Folks a allai dilyn chi 747 00:38:44,110 --> 00:38:45,270 yma ar y campws. 748 00:38:45,270 --> 00:38:46,740 Felly mwy am hynny i ddod. 749 00:38:46,740 --> 00:38:49,830 >> Ond ychydig yn fwy diriaethol, yn offeryn sydd wedi dod allan o'r CS50 yn ddiweddar 750 00:38:49,830 --> 00:38:52,760 blynedd, y mae efallai y bydd rhai ohonoch yn Efallai cyfarwydd ac eraill ohonoch yn 751 00:38:52,760 --> 00:38:57,940 googling nawr, yn CS50.net/2x, byddwch yn dod o hyd i ddolen i estyniad Chrome 752 00:38:57,940 --> 00:39:01,250 sy'n dangosol o sut y gallwch defnyddio JavaScript, yr un iaith a 753 00:39:01,250 --> 00:39:06,660 defnyddio gyda'r tŵr Eiffel funud yn ôl, i weithredu cyflymder chwarae 2x 754 00:39:06,660 --> 00:39:09,000 ar gyfer yr holl iSites fideos Harvard. 755 00:39:09,000 --> 00:39:11,880 Mae hyn yn rhywbeth sy'n cael ei hadeiladu i mewn i 'n fideo chwaraewr CS50 ei hun. 756 00:39:11,880 --> 00:39:14,870 Ond mae hyn, hefyd, os ydych yn dechrau gloddio i mewn i'r cod ffynhonnell, a gallwn eich 757 00:39:14,870 --> 00:39:18,840 hapus wneud ar gael, byddwch yn gweld sut y gallwch hyd yn oed ddatrys problemau fel 'na, 758 00:39:18,840 --> 00:39:23,180 cyflymu widgets mewn gwefannau gyda yr ydych chi eisoes yn gyfarwydd yn dda. 759 00:39:23,180 --> 00:39:26,630 >> Felly gair nawr ar y cwrs ac disgwyliadau a'r hyn sydd o'n blaenau. 760 00:39:26,630 --> 00:39:29,445 Yn gyffredinol, byddwn yn wir yn casglu yma ar ddydd Llun a dydd Mercher - er 761 00:39:29,445 --> 00:39:31,490 dydd Gwener yma, byddwn yn casglu oherwydd Wythnos Siopa - 762 00:39:31,490 --> 00:39:34,640 1:00-14:00, er weithiau tan 2:30. 763 00:39:34,640 --> 00:39:38,700 O ystyried y gallai, felly, eich eisiau, neu rhaid i chi gymryd rhai dosbarth yn 14:00 764 00:39:38,700 --> 00:39:42,480 ymlaen, neu hyd yn oed cyn, yn sylweddoli y cwrs yn gefnogol o'r hyn a elwir 765 00:39:42,480 --> 00:39:45,900 cofrestru ar y pryd, lle gallwn eich cefnogi deiseb i'r Bwrdd Ad a 766 00:39:45,900 --> 00:39:49,400 eich preswyl deoniaid ar eich rhan os gennych gwrthdaro rhywle yn y 767 00:39:49,400 --> 00:39:50,790 1:00-02:30 range. 768 00:39:50,790 --> 00:39:54,110 Pennaeth i'r URL-lein ar gyfer manylion ychwanegol. 769 00:39:54,110 --> 00:39:57,750 >> Ond o ran y strwythur cefnogi sy'n nodweddu CS50, ar gyfer myfyrwyr 770 00:39:57,750 --> 00:40:01,750 mwy a llai cyfforddus fel ei gilydd, rydym yn cynnig llwybrau gwahanol adrannau. 771 00:40:01,750 --> 00:40:04,730 Ac mae hyn yn ychydig o wythnosau i ffwrdd, ond cyn bo hir, byddwch yn cael eich gofyn i 772 00:40:04,730 --> 00:40:05,770 lefel eich cysur. 773 00:40:05,770 --> 00:40:08,590 Ydych chi ymhlith y rhai llai cyfforddus, yn fwy cyfforddus, neu 774 00:40:08,590 --> 00:40:10,520 rhywle yn y canol? 775 00:40:10,520 --> 00:40:13,150 >> A bydd yn rhaid dair gwahanol traciau sy'n darparu ar gyfer 776 00:40:13,150 --> 00:40:14,470 union cynulleidfaoedd hynny. 777 00:40:14,470 --> 00:40:17,900 Felly, ar unrhyw bwynt yn y tymor dylech hyd yn oed yn teimlo fel eich bod yn cystadlu 778 00:40:17,900 --> 00:40:21,390 yn erbyn unrhyw fyfyriwr sydd â mwy o neu lai o gefndir na chi. 779 00:40:21,390 --> 00:40:24,160 Yn wir, mae'r cwrs yn cael ei olygu i fod yn llawer mwy cydweithredol a llawer 780 00:40:24,160 --> 00:40:25,650 yn fwy agored na hynny. 781 00:40:25,650 --> 00:40:29,030 >> O ran y broblem setiau, byddwch yn dod o hyd i, hefyd, yn ychwanegol at y 782 00:40:29,030 --> 00:40:32,130 argraffiad safonol problem bob wythnos gosod, mae yn aml yn "haciwr 783 00:40:32,130 --> 00:40:37,010 rhifyn "sydd i fod i gael eu targedu yn y 5% i 10% neu lai o'r 784 00:40:37,010 --> 00:40:40,270 demograffig pwy sydd wir ymhlith y rhai yn fwy cyfforddus ac os hoffech gael rhagor 785 00:40:40,270 --> 00:40:43,960 o her na'r safon rhifyn o'r pset disgwyl. 786 00:40:43,960 --> 00:40:46,390 Mwy o fanylion ar hynny fod dod o hyd yn y maes llafur. 787 00:40:46,390 --> 00:40:49,430 >> Ond hefyd yn gall gael manylion ar y cyrsiau diwrnod yn hwyr. 788 00:40:49,430 --> 00:40:51,570 Yn nodweddiadol problem yn gosod yn ddyledus ar ddydd Iau. 789 00:40:51,570 --> 00:40:55,550 Fodd bynnag, gallwch ymestyn llawer o'ch terfynau amser hyn yn disgyn o ddydd Iau i 790 00:40:55,550 --> 00:41:00,010 Dydd Gwener yn syml drwy gyfarfod â ni hanner ffordd, fel petai, gan ateb ychydig cynhesu 791 00:41:00,010 --> 00:41:03,370 cwestiynau yn rhai o problem yr wythnos setiau, bydd hynny yn awtomatig 792 00:41:03,370 --> 00:41:05,710 wedyn yn rhoi 24 awr ychwanegol i chi. 793 00:41:05,710 --> 00:41:09,120 Byddwn hefyd yn galw heibio eich isaf sgôr, yn unol â'r maes llafur. 794 00:41:09,120 --> 00:41:12,170 >> Er mwyn rhoi syniad o'r hyn y mae'r broblem setiau yn cael eu - oherwydd ei fod yn wir 795 00:41:12,170 --> 00:41:15,120 problem y cwrs yn gosod y yn y pen draw diffinio bron bob 796 00:41:15,120 --> 00:41:18,760 profiad myfyriwr, yn fwy felly nag darlithoedd, yn fwy felly nag adrannau, yn fwy 797 00:41:18,760 --> 00:41:21,230 felly na'r rhan fwyaf o unrhyw agwedd ar y cwrs. 798 00:41:21,230 --> 00:41:25,140 Y llynedd, er enghraifft, rydym yn dechrau, fel y byddwn yn cychwyn eleni, gyda Scratch. 799 00:41:25,140 --> 00:41:29,150 Yn arbennig dydd Gwener yma, byddwn yn defnyddio, ar gyfer un diwrnod o amser yn unig, a graffigol 800 00:41:29,150 --> 00:41:32,260 iaith raglennu, byddwn ni ag ef dechrau rhaglenni drwy lusgo a 801 00:41:32,260 --> 00:41:37,580 gollwng darnau pos mai dim ond cydosod yn gorfforol os yw'n gwneud synnwyr 802 00:41:37,580 --> 00:41:38,990 i wneud hynny yn rhesymegol. 803 00:41:38,990 --> 00:41:43,460 >> Yr wythnos nesaf, byddwn ni yn gyflym newid i C, gweddol hen, ond bach iawn ac yn 804 00:41:43,460 --> 00:41:48,510 iaith syml a fydd yn ein galluogi i wir yn mynd 0-60 yn ystod y cwrs 805 00:41:48,510 --> 00:41:52,290 dim ond ychydig wythnosau, ac yna parlay rhai yr un sgiliau a gwybodaeth 806 00:41:52,290 --> 00:41:56,160 cysyniadau rhaglennu sylfaenol i ieithoedd ar lefel uwch fel PHP, 807 00:41:56,160 --> 00:41:58,240 JavaScript, ac eto mae eraill yn dal i. 808 00:41:58,240 --> 00:42:02,560 >> Y llynedd, y trydydd pset yn y cwrs oedd o cryptograffeg, a 809 00:42:02,560 --> 00:42:06,380 gais parth-benodol lle rydym yn herio myfyrwyr i weithredu unrhyw 810 00:42:06,380 --> 00:42:11,140 rhaglenni nifer o dulliau cêl-ysgrifennu, y mae i sgrialu neu ddehongli gwybodaeth, 811 00:42:11,140 --> 00:42:11,880 i amgryptio iddo. 812 00:42:11,880 --> 00:42:16,300 Ar gyfer y rhifyn haciwr, ar y llaw arall, rhoesom ffeil y myfyrwyr haciwr 813 00:42:16,300 --> 00:42:19,900 o gyfrifiadur Unix safonol sy'n cynnwys enwau defnyddwyr a chyfrineiriau, 814 00:42:19,900 --> 00:42:22,740 yr olaf o'r rhain yn amgryptio, ac yr ydym yn herio rhai haciwr 815 00:42:22,740 --> 00:42:26,850 myfyrwyr i dadgryptio, hyd eithaf eu gallu, cyfrineiriau hynny, yn dal ar y 816 00:42:26,850 --> 00:42:27,770 yr un parth. 817 00:42:27,770 --> 00:42:30,580 >> Scramble, gêm y mae rhai ohonoch yn gyfarwydd, efallai. 818 00:42:30,580 --> 00:42:34,410 Darn fforensig, lle rydym yn gofyn i fyfyrwyr i adennill data a oedd wedi bod 819 00:42:34,410 --> 00:42:38,530 dileu fel arall o fy digidol ei hun cerdyn fflach compact camera, trwy 820 00:42:38,530 --> 00:42:42,740 mewn gwirionedd yn ysgrifennu meddalwedd i chyfrif i maes, lle'r oedd y sero a'r rhai yn 821 00:42:42,740 --> 00:42:46,850 y camera digidol yn flaenorol Cyfansoddodd graffig JPEG? 822 00:42:46,850 --> 00:42:49,710 >> Un her o fath y llynedd ymwneud ysgrifennu'r cyflymaf 823 00:42:49,710 --> 00:42:53,160 sillafu gwiriwr posibl, cystadlu yn erbyn ffrindiau a chyd-ddisgyblion os 824 00:42:53,160 --> 00:42:53,860 byddent yn ei hoffi. 825 00:42:53,860 --> 00:42:56,330 Gweithredu n pwff Huff ', rhaglen cywasgu. 826 00:42:56,330 --> 00:43:01,930 Ac yna yn dod i ben y semester gyda CS50 Cyllid, cais ar y we gyda 827 00:43:01,930 --> 00:43:06,570 yr ydych yn creu gwefan eTrade-fel i brynu a gwerthu stoc, felly i 828 00:43:06,570 --> 00:43:09,860 siarad, gan mewn gwirionedd yn tynnu bron Yahoo! dyfyniadau amser real 829 00:43:09,860 --> 00:43:10,450 Cyllid. 830 00:43:10,450 --> 00:43:13,590 >> Yr hyn na wnaethom y llynedd oedd un set problem sydd ar ôl 831 00:43:13,590 --> 00:43:14,810 serch hynny yn ffefryn. 832 00:43:14,810 --> 00:43:18,400 Os nad ydych erioed wedi mynd i shuttle.cs50.net, byddwch yn gweld defnyddiwr 833 00:43:18,400 --> 00:43:19,670 rhyngwynebu ychydig fel hyn. 834 00:43:19,670 --> 00:43:23,530 Ond ddwy flynedd yn ôl, y dosbarth rhoi ar waith, gan ddefnyddio Google Maps a 835 00:43:23,530 --> 00:43:28,570 Google Earth plug-mewn ac ychydig o savvy â gyrru o gwmpas y campws, 836 00:43:28,570 --> 00:43:33,290 fel bod y nod y gêm oedd, fel y gallwch weld rhai o wynebau, 837 00:43:33,290 --> 00:43:37,530 yw i yrru o gwmpas y campws yn chwilio am staff, cymrodyr addysgu a CAs, a 838 00:43:37,530 --> 00:43:40,080 pan fyddwch yn gwneud, eu rhoi ar eich bws gwennol. 839 00:43:40,080 --> 00:43:44,035 Nid oedd yr un ohonynt yn ymddangos mewn gwirionedd i fod yma, felly rydym yn mynd i fynd i mewn i cod twyllo. 840 00:43:44,035 --> 00:43:47,150 >> [Chwerthin] 841 00:43:47,150 --> 00:43:48,430 >> DAVID Malan: Dyna ni. 842 00:43:48,430 --> 00:43:49,240 Mae pob hawl. 843 00:43:49,240 --> 00:43:51,750 A dyma nawr yw'r staff wedi'i addurno ar draws campws. 844 00:43:51,750 --> 00:43:54,530 Ac fel y gwelwch, ar y dde-law ochr y sgrin, y bws gwennol 845 00:43:54,530 --> 00:43:55,510 â seddi gwag. 846 00:43:55,510 --> 00:43:59,000 A'r amcan oedd i ysgrifennu'r Cod ag ef i efelychu hyn 847 00:43:59,000 --> 00:44:01,790 gyrru a codi a gollwng oddi ar deithwyr. 848 00:44:01,790 --> 00:44:04,960 Mae hynny'n un, hefyd, gan ddefnyddio iaith o'r enw JavaScript. 849 00:44:04,960 --> 00:44:10,030 Felly, yn sylweddoli bod rhaglenni fel 'na fydd yn fod ar ein un llwybr hwn 850 00:44:10,030 --> 00:44:10,910 flwyddyn, yn ogystal. 851 00:44:10,910 --> 00:44:13,640 >> Mewn termau, erbyn hyn, o gymorth ychwanegol, rydym wedi oriau swyddfa. 852 00:44:13,640 --> 00:44:16,520 Fel y byddech wedi gweld yn eich cartref eich hun neuadd fwyta neu yn Annenberg, 853 00:44:16,520 --> 00:44:19,280 byddwn yn yn y tŷ bwyta neuaddau bedair noson yr wythnos - 854 00:44:19,280 --> 00:44:24,450 Leverett, Pfoho, Eliot a Annenberg eleni, 20:00-11:00. 855 00:44:24,450 --> 00:44:26,830 A beth rydym yn meddwl y bydden ni'n ei wneud eleni yn rhywbeth ychydig yn wahanol. 856 00:44:26,830 --> 00:44:29,650 >> Os ydych chi wedi clywed rumblings y llynedd ei fod ychydig yn rhy anodd, mae hyn yn 857 00:44:29,650 --> 00:44:32,800 oriau swyddfa eleni, gan y byddwn yn disgrifio yr wythnos nesaf, yn fwy organig, 858 00:44:32,800 --> 00:44:36,900 lle ar ôl cyrraedd, byddwch yn anfon at un tabl penodol 859 00:44:36,900 --> 00:44:39,860 lle mae aelodau lluosog staff aros, a byddwn yn gwneud pethau yn llawer mwy 860 00:44:39,860 --> 00:44:40,440 organig. 861 00:44:40,440 --> 00:44:43,740 Dim mwy ciw, dim mwy iPad, ond yn hytrach yn cael mwy cartrefol 862 00:44:43,740 --> 00:44:47,300 sgyrsiau o gwmpas bwrdd o ddim ond wyth neu o fyfyrwyr, er mwyn i ni 863 00:44:47,300 --> 00:44:50,880 fras syniad o'r hyn fel arall yn Byddai fod yn ddosbarth llawer llai. 864 00:44:50,880 --> 00:44:54,120 >> Rydym yn cynnig, yn ogystal, y pethau hyn yr ydym Gelwir walkthroughs, fideos ffilmio yn 865 00:44:54,120 --> 00:44:57,330 ymlaen llaw gan un o addysgu'r cwrs cymrodyr, Zamyla, lle mae'n 866 00:44:57,330 --> 00:45:00,690 eich teithiau cerdded drwy problem yr wythnos setiau, gan gynnig awgrymiadau a driciau ar gyfer y 867 00:45:00,690 --> 00:45:02,640 heriau sydd o'n blaen. 868 00:45:02,640 --> 00:45:06,230 Ac i'r gwrthwyneb, ar ôl gosod problemau yn ddyledus, y flwyddyn hon, rydym bydd hefyd yn rhyddhau 869 00:45:06,230 --> 00:45:09,100 clipiau bach ffoniwch post-mortem fod mewn gwirionedd i chi gerdded trwy'r 870 00:45:09,100 --> 00:45:13,630 atebion cynrychioliadol, yn dda ac yn drwg, trwy y gallwch gasglu sut 871 00:45:13,630 --> 00:45:17,550 gallech gael neu a ddylai gael gweithredu eich ateb eich hun. 872 00:45:17,550 --> 00:45:20,500 >> A beth byddwn yn cynnig am y tro cyntaf eleni, yn ogystal, yn enwedig 873 00:45:20,500 --> 00:45:23,420 gyfer y myfyrwyr hynny sy'n manteisio ar y cwrs arall 874 00:45:23,420 --> 00:45:28,580 adnoddau, ond serch hynny yn cael trafferth yn rhy fawr, mae'r cwrs 875 00:45:28,580 --> 00:45:33,030 ei hun yn paru myfyrwyr hynny, fel y adnoddau yn caniatáu, gyda thiwtoriaid fel bod 876 00:45:33,030 --> 00:45:35,840 mae gennych lawer mwy cartrefol gyfle nag neuaddau bwyta tŷ 877 00:45:35,840 --> 00:45:38,700 caniatáu ar gyfer cymorth un-i-un. 878 00:45:38,700 --> 00:45:42,780 >> Erbyn hyn, mae cipolwg terfynol ar rai o'r gemau diwedd yn y golwg. 879 00:45:42,780 --> 00:45:44,580 Efallai y byddwch yn gyfarwydd â y CS50 Hackathon. 880 00:45:44,580 --> 00:45:48,120 Wel, yn dod ym mis Rhagfyr, o 8:00 PM 07:00, ar ddechrau 881 00:45:48,120 --> 00:45:51,410 Cyfnod Darllen, bydd yn gyfle i gasglu gyda ffrindiau yn y dosbarth - 882 00:45:51,410 --> 00:45:53,130 byddai hyn yn tua 9:00 - 883 00:45:53,130 --> 00:45:56,550 yn ystod yr ydych yn blymio i mewn i'ch terfynol gweithredu prosiect ochr yn ochr â 884 00:45:56,550 --> 00:45:59,910 cyd-ddisgyblion, ffrindiau, a bwyd. 885 00:45:59,910 --> 00:46:03,680 Byddai hyn yn tua 1:00, pan y llwyth cyntaf o fwyd gyrraedd. 886 00:46:03,680 --> 00:46:08,470 Ac mae hyn yn ymwneud â 04:00 y flwyddyn benodol yn y CS50 Hackathon. 887 00:46:08,470 --> 00:46:12,000 >> Ond y gwir uchafbwynt y cwrs yn i fod i Ffair CS50, ar draws y campws 888 00:46:12,000 --> 00:46:15,790 arddangosfa o eich prosiectau terfynol eu hunain, y mae teulu a ffrindiau i gyd yn 889 00:46:15,790 --> 00:46:18,730 gwahodd, fel ein recriwtwyr a ein ffrindiau o ddiwydiant. 890 00:46:18,730 --> 00:46:22,170 Mae hyn, er enghraifft, yn cipolwg ar y 2,000 o bobl a mwy sydd wedi mynychu 891 00:46:22,170 --> 00:46:23,160 mlynedd diwethaf. 892 00:46:23,160 --> 00:46:27,180 Nid yw ymadroddion fel hyn yn anghyffredin, ac yn yr un modd yn gwneud eich 893 00:46:27,180 --> 00:46:29,660 cyd-ddisgyblion ymhyfrydu mewn pethau rydych wedi ei gyflawni. 894 00:46:29,660 --> 00:46:33,170 >> Ac mewn gwirionedd, tuag at perwyl hwnnw, rydym wedi digwyddiad ddechrau-of-dymor, yn ogystal. 895 00:46:33,170 --> 00:46:37,400 Os yw pethau fel yr apęl hon i chi, neu eich bod o leiaf yn chwilfrydig ynghylch beth 896 00:46:37,400 --> 00:46:41,590 hyn, yn gwybod bod traddodiad newydd y Gelwir cwrs CS50 Diwrnod Pos. 897 00:46:41,590 --> 00:46:45,710 Ac roedd hyn yn sefydlu un neu ddau o flynyddoedd yn ôl i wir arwydd i gampws 898 00:46:45,710 --> 00:46:48,930 Nid yw bod gwyddoniaeth gyfrifiadurol yn ymwneud â rhaglennu, ac yn sicr nid 899 00:46:48,930 --> 00:46:51,960 am gofleidio dim ond y myfyrwyr hynny sydd â phrofiad blaenorol. 900 00:46:51,960 --> 00:46:54,200 Mae'n iawn am ddatrys problemau yn fwy cyffredinol. 901 00:46:54,200 --> 00:46:57,360 >> Ac felly pos Day, yn ystod yr ychydig blynyddoedd bellach, mae wedi datblygu i fod yn 'n glws 902 00:46:57,360 --> 00:47:00,500 partneriaeth gyda'n ffrindiau yn Facebook, lle bydd yna wych 903 00:47:00,500 --> 00:47:04,830 gwobrau a pizza ar draws yr afon yn i-labordy ddydd Sadwrn nesaf. 904 00:47:04,830 --> 00:47:09,180 Ewch i'r URL gyda dau neu dri ffrindiau os hoffech chi gymryd rhan 905 00:47:09,180 --> 00:47:10,830 yn y traddodiad newydd. 906 00:47:10,830 --> 00:47:14,180 >> Felly, hoffwn ofyn i chi bod yn cadw un peth mewn golwg, ac rydym wedi cael dim ond 907 00:47:14,180 --> 00:47:17,070 dau clip munud ar y i gau heddiw. 908 00:47:17,070 --> 00:47:19,640 73% yw'r rhif i'w gofio. 909 00:47:19,640 --> 00:47:23,900 Cacen, hefyd, byddwch yn aros y tu allan i'r transept wrth i ni ohirio mewn dim ond 910 00:47:23,900 --> 00:47:26,710 cwpl o eiliadau, sy'n draddodiad y cwrs, yn ogystal. 911 00:47:26,710 --> 00:47:29,860 Ond mae hyn yn y dyfyniad allweddol o'r maes llafur y cwrs i gadw mewn cof. 912 00:47:29,860 --> 00:47:32,820 Yr hyn sy'n bwysig yn y pen draw yn y cwrs hwn yw nid yn gymaint lle rydych yn y pen draw 913 00:47:32,820 --> 00:47:36,580 perthynas i'ch cyd-ddisgyblion, ond lle chi, yn Wythnos 12, yn y pen draw o gymharu â 914 00:47:36,580 --> 00:47:37,960 eich hun yn Wythnos 0. 915 00:47:37,960 --> 00:47:43,670 >> Ond mae'r cipolwg y byddwn yn gadael i chi â hwy yma heddiw yw hyn yr un olaf ei yma 916 00:47:43,670 --> 00:47:47,580 gan ein un Daniel, a wnaeth y fideo wrdly ychydig funudau'n ôl. 917 00:47:47,580 --> 00:47:50,000 Yr wyf yn eich gadael gyda cipolwg hwn o'r hyn sydd o'n blaenau. 918 00:47:50,000 --> 00:47:53,360 Ac wrth i ni wneud hyn, pe gallem gael CS50 staff o du blaen yr ystafell 919 00:47:53,360 --> 00:47:57,280 i ddod i fyny i'r llwyfan i beintio holl y mwyaf o ddarlun gweledol o ran 920 00:47:57,280 --> 00:47:59,100 beth yn eich disgwyl eleni - 921 00:47:59,100 --> 00:48:00,350 mynd yn lletchwith. 922 00:48:00,350 --> 00:48:02,200 923 00:48:02,200 --> 00:48:05,188 Byddwn yn gorffennaf gyda hyn yma ar y sgrin. 924 00:48:05,188 --> 00:48:18,634 >> [CHWARAE CERDDORIAETH] 925 00:48:18,634 --> 00:48:21,124 >> DAVID Malan: Mae hwn yn CS50. 926 00:48:21,124 --> 00:50:00,226 >> [CERDDORIAETH - MATT & KIM, "Mae'n iawn"] 927 00:50:00,226 --> 00:50:03,245 >> SIARADWR 1: Rwyf wrth fy modd CS50 yn fwy na chathod. 928 00:50:03,245 --> 00:50:06,030 >> SIARADWR 2: Whoaaaa! 929 00:50:06,030 --> 00:50:06,990 >> [Chwerthin] 930 00:50:06,990 --> 00:50:08,140 >> DAVID Malan: Mae hyn, felly, yw CS50. 931 00:50:08,140 --> 00:50:10,050 Byddwn yn eich gweld ar ddydd Gwener. 932 00:50:10,050 --> 00:50:13,370 >> [Cymeradwyaeth ac yn bloeddio] 933 00:50:13,370 --> 00:50:17,540 >> Adroddwr: Yn y CS50 nesaf, sef llwyfan Nid demo yn mynd yn ôl y bwriad. 934 00:50:17,540 --> 00:50:19,080 >> DAVID Malan: Rydym yn awyddus i ddod o hyd i Mike Smith yn y llyfr ffôn. 935 00:50:19,080 --> 00:50:20,380 Wel, beth yw eich greddf? 936 00:50:20,380 --> 00:50:23,750 Efallai y byddwn yn neidio yn fras i ganol y llyfr ffôn, cipolwg i lawr, gweld bod 937 00:50:23,750 --> 00:50:26,830 Dwi M, ac yr wyf yn gwybod yn awr fod Mike Nid Smith yn gyfeiriad at y chwith. 938 00:50:26,830 --> 00:50:27,840 Rhaid iddo fod ar y dde. 939 00:50:27,840 --> 00:50:30,515 Ac felly ar hyn o bryd, rydym yn Gall llythrennol rhwygo - 940 00:50:30,515 --> 00:50:33,300 ar hyn o bryd, gallwn llythrennol rhwygo - 941 00:50:33,300 --> 00:50:36,490 ar hyn o bryd, gallwn ffigurol rwygo'r llyfr ffôn yn ei hanner. 942 00:50:36,490 --> 00:50:38,954 >> [Strymio ukelele]