1 00:00:00,000 --> 00:00:03,440 >> [MUZIKO Ludante] 2 00:00:03,440 --> 00:01:57,217 3 00:01:57,217 --> 00:02:00,710 >> [Aplaŭdo] 4 00:02:00,710 --> 00:02:05,700 5 00:02:05,700 --> 00:02:09,669 >> DAVID J. Malan: Jen CS50, Harvard University enkonduko 6 00:02:09,669 --> 00:02:12,370 al la intelektulo entreprenoj de komputiko 7 00:02:12,370 --> 00:02:14,180 kaj la arto de programado. 8 00:02:14,180 --> 00:02:17,530 Nun, se vi estas inter tiuj kiuj ĉiujare sidas tie 9 00:02:17,530 --> 00:02:21,450 kun iom de nervoj en via menso tian ke vi ne kredas ke vi apartenas tien, 10 00:02:21,450 --> 00:02:24,270 Vi pensas, ke la plimulto Iu sidantaj ĉirkaŭ vi 11 00:02:24,270 --> 00:02:27,730 scias multe pli ol vi, estas ja pli komforta ol vi ĉe komputilo 12 00:02:27,730 --> 00:02:30,430 scienco aŭ komputiloj pli ĝenerale, realigi 13 00:02:30,430 --> 00:02:36,140 ke 78% de la lernantoj, kiuj nun preni CS50 havi neniun antaŭan sperton. 14 00:02:36,140 --> 00:02:39,570 >> Ja, ekzistas 100 dots tie sur la ekrano, 78 el kiuj 15 00:02:39,570 --> 00:02:43,540 estas solida verda, kion signifas al vi, se vi estas inter tiu demografia, 16 00:02:43,540 --> 00:02:46,420 estas tre bona kompanio tie sur ekstere. 17 00:02:46,420 --> 00:02:50,320 Kaj se vi estas anstataŭe inter la 22% de CS50 studentoj kiuj faras ja 18 00:02:50,320 --> 00:02:53,920 havas antaŭan sperton, ĉu en alta lernejo aŭ iu alia programo, 19 00:02:53,920 --> 00:02:56,430 rimarkas ke vi ankaŭ estos esti defiita en la kurso. 20 00:02:56,430 --> 00:02:59,930 >> Ne nur ni havas malsamajn temojn por studentoj malpli komforta kaj pli 21 00:02:59,930 --> 00:03:03,789 komforta egale en sekcioj, ni ankaŭ tn hacker eldonoj 22 00:03:03,789 --> 00:03:06,080 de plej problemo aroj kiuj defios tiuj lernantoj 23 00:03:06,080 --> 00:03:09,650 kun tiu aldona sperto esplori simila materialo 24 00:03:09,650 --> 00:03:12,140 sed el pli kompleksa perspektivo. 25 00:03:12,140 --> 00:03:13,900 >> Sed kio estas komputiko? 26 00:03:13,900 --> 00:03:17,750 Nu, finfine, kio tuj afero kiel vi esploras ĉi kampo estas ne 27 00:03:17,750 --> 00:03:20,500 tiel kie vi finos relativa al via samklasanoj, 28 00:03:20,500 --> 00:03:25,350 sed kie vi mem finas en Semajno 12 kontre kie vi komencas ĉi tie 29 00:03:25,350 --> 00:03:26,720 en semajno nulo. 30 00:03:26,720 --> 00:03:31,850 Nun komputilo science-- bone, ni nomas ĝin la scienco de computation-- 31 00:03:31,850 --> 00:03:35,910 kie kalkulado estas vere nur fancy maniero diri, prenante iuj enigo, 32 00:03:35,910 --> 00:03:39,460 produkti iuj eligo, kaj fari tiel per kurante algoritmoj, 33 00:03:39,460 --> 00:03:43,700 aroj de instrukcioj por solvanta iu problemo je tiuj enigoj 34 00:03:43,700 --> 00:03:48,460 por produkti iun eligo aŭ solvo en kiuj vi interesiĝas. 35 00:03:48,460 --> 00:03:51,310 >> Do ni ĵus havis okazon vojaĝi ekster 36 00:03:51,310 --> 00:03:53,170 al Kalifornio por kunveni kun lernantino. 37 00:03:53,170 --> 00:03:54,650 Ŝia nomo estas Susan Wojcicki. 38 00:03:54,650 --> 00:03:57,190 Kaj ŝi ŝatus paroli al vi tie en video 39 00:03:57,190 --> 00:04:01,690 atesti kiom aplikebla eĉ nur gusto de komputilo 40 00:04:01,690 --> 00:04:03,770 scienco ĉe la enkonduka nivelo povas esti. 41 00:04:03,770 --> 00:04:06,870 Eĉ se vi ne iru persekuti komputiko kiel kampo, 42 00:04:06,870 --> 00:04:09,330 aŭ eĉ inĝenierio, aŭ tigo pli ĝenerale, 43 00:04:09,330 --> 00:04:12,360 vi vidos, fakte, kiel iu Kompreneble tiel influis lian vivon. 44 00:04:12,360 --> 00:04:16,630 Kaj ŝi nur simple prenis ĝin kiam ŝi estis altranga tie en Harvard College. 45 00:04:16,630 --> 00:04:19,482 >> Se ni povus malhelan la lumojn por Susan. 46 00:04:19,482 --> 00:04:20,690 Susan WOJCICKI: Saluton, mondo. 47 00:04:20,690 --> 00:04:22,100 Mi Susan Wojcicki. 48 00:04:22,100 --> 00:04:24,110 Mi estas la CEO de YouTube. 49 00:04:24,110 --> 00:04:29,150 Kaj mi prenis CS50 kiam mi estis altranga ĉe Harvard en 1990. 50 00:04:29,150 --> 00:04:31,220 Mi estis vere historion kaj literaturon granda. 51 00:04:31,220 --> 00:04:36,760 >> Kaj mia junior somero, Mi rimarkis ke mi eble 52 00:04:36,760 --> 00:04:39,060 volis lerni ion pri komputiloj. 53 00:04:39,060 --> 00:04:40,930 Kaj tiel, mi revenis. 54 00:04:40,930 --> 00:04:42,500 Mi prenis CS50. 55 00:04:42,500 --> 00:04:46,940 Estis malfacile, sed estis la plej miriga klaso mi prenis. 56 00:04:46,940 --> 00:04:49,630 >> Ĝi ŝanĝis kiom mi pensas pri ĉio. 57 00:04:49,630 --> 00:04:55,810 Kaj kiam mi diplomiĝis de Harvard en 1990, mi iris al Silicon Valley. 58 00:04:55,810 --> 00:04:57,140 Kaj mi trovis laboron. 59 00:04:57,140 --> 00:05:00,150 Kaj mi laboras en tech tiam. 60 00:05:00,150 --> 00:05:02,650 DAVID J. Malan: Nun kio Susan ne menciis en ĉi tiu video, 61 00:05:02,650 --> 00:05:05,340 ke tio efektive en ŝia garaĝo ke Google mem estis 62 00:05:05,340 --> 00:05:07,420 fondita de Larry kaj Sergey. 63 00:05:07,420 --> 00:05:11,169 >> Nun ni ankaŭ etendis al niaj amikoj ĉe code.org, organizo kiu 64 00:05:11,169 --> 00:05:13,460 dum la pasinta jaro estis atingi popolon aparte 65 00:05:13,460 --> 00:05:16,520 ekscitita pri komputiko kaj programado, precipe. 66 00:05:16,520 --> 00:05:20,590 Sed valoras notanta ke programado ne komputiko mem. 67 00:05:20,590 --> 00:05:22,090 Komputika ne plani. 68 00:05:22,090 --> 00:05:24,560 Prefere programado estas nur tool-- per kiuj vi ĉiuj 69 00:05:24,560 --> 00:05:27,510 Estos tro bone familiara por sesmonato de end-- 70 00:05:27,510 --> 00:05:30,650 tia, ke oni povas apliki ne nur al estontaj kursoj en CS 71 00:05:30,650 --> 00:05:33,670 sed al kiom kampoj de kie vi venas, en homaroj, 72 00:05:33,670 --> 00:05:36,090 sociaj sciencoj, natura scienco, aŭ simile. 73 00:05:36,090 --> 00:05:39,740 >> Ja, permesi kelkaj aliaj Lernantoj kaj iliaj kolegoj 74 00:05:39,740 --> 00:05:43,400 por paroli al la aplikeblon de la kampo, ke lin atendas. 75 00:05:43,400 --> 00:05:52,340 76 00:05:52,340 --> 00:05:57,350 >> Bill Gates: Mi estis 13 kiam mi unue akiris aliron al komputilo. 77 00:05:57,350 --> 00:06:00,485 >> Jack Dorsey: Miaj gepatroj aĉetis min Macintosh en 1984 78 00:06:00,485 --> 00:06:01,640 Kiam mi estis ok jaroj aĝa. 79 00:06:01,640 --> 00:06:02,990 >> Mark Zuckerberg: mi estis en la sesa grado. 80 00:06:02,990 --> 00:06:04,670 >> SPEAKER 1: mi lernis programi en kolegio. 81 00:06:04,670 --> 00:06:09,080 >> RUCHI SANGHVI: Freshman jaro, unue semestro, Intro al Komputila Scienco. 82 00:06:09,080 --> 00:06:11,850 >> Bill Gates: Mi verkis programon kiu ludis tic-tac-piedfingro. 83 00:06:11,850 --> 00:06:14,100 >> Drew HOUSTON: mi kredas ke estis bela humilaj komencoj. 84 00:06:14,100 --> 00:06:16,370 Mi kredas ke la unua programo Mi skribis demandis tion kiel, 85 00:06:16,370 --> 00:06:17,820 kio estas via plej ŝatata koloro? 86 00:06:17,820 --> 00:06:18,696 Aŭ kiom vi aĝas? 87 00:06:18,696 --> 00:06:21,070 HELENA SILENOK: Mi unue lernis kiel fari verda rondo 88 00:06:21,070 --> 00:06:23,670 kaj ruĝa kvadrato aperas sur la ekrano. 89 00:06:23,670 --> 00:06:25,420 Gabe Newell: La unua tempo mi fakte havis 90 00:06:25,420 --> 00:06:27,360 io venas supre kaj diru, saluton, mondo. 91 00:06:27,360 --> 00:06:29,710 Kaj mi faris komputilon fari. 92 00:06:29,710 --> 00:06:30,850 Estis nur miriga. 93 00:06:30,850 --> 00:06:33,224 >> Mark Zuckerberg: Lerni al programo ne dividi 94 00:06:33,224 --> 00:06:35,450 kiel voli lerni ĉiuj komputiko 95 00:06:35,450 --> 00:06:38,630 aŭ klopodante majstri ĉi disciplino aŭ io simila. 96 00:06:38,630 --> 00:06:41,591 Ĝi ĵus komencis ekstere ĉar mi volis fari ĉi tiun simplan aferon. 97 00:06:41,591 --> 00:06:44,340 Mi volis fari iun kiu estis amuza por mi kaj miaj fratinoj. 98 00:06:44,340 --> 00:06:46,399 >> Kaj mi skribis tion iom programo. 99 00:06:46,399 --> 00:06:48,440 Kaj tiam esence nur aldonis iom al tio. 100 00:06:48,440 --> 00:06:49,930 Kaj tiam, kiam mi bezonis lerni ion novan, 101 00:06:49,930 --> 00:06:52,210 Mi rigardis ĝin, ĉu en libro aŭ en Interreto, 102 00:06:52,210 --> 00:06:53,240 kaj aldonis iom al tio. 103 00:06:53,240 --> 00:06:56,300 >> Drew HOUSTON: Estas vere ne kontraste ludi instrumenton aŭ io 104 00:06:56,300 --> 00:07:00,007 aŭ ludante sporto. 105 00:07:00,007 --> 00:07:01,090 DAVID J. Malan: Bone. 106 00:07:01,090 --> 00:07:04,120 Do ni nun reale plonĝi en iom pli profundaj. 107 00:07:04,120 --> 00:07:07,430 Kion signifas tiuj enigoj kaj eligoj ke ni parolas tie ĉi? 108 00:07:07,430 --> 00:07:09,110 >> Do kio pri io simpla? 109 00:07:09,110 --> 00:07:12,120 Vi verŝajne konas, eĉ se vi havas sen familiareco kun komputiko 110 00:07:12,120 --> 00:07:16,570 ajn, ke komputiloj iel uzi kaj komprenas nur nuloj kaj. 111 00:07:16,570 --> 00:07:20,500 Sed kiel eblas kiu eble estos donita kiel multe hodiaŭa labortabloj kaj tekkomputiloj egale 112 00:07:20,500 --> 00:07:21,280 povas fari? 113 00:07:21,280 --> 00:07:24,310 >> La DNA de la tago, la sola alfabeto, ke ili komprenu 114 00:07:24,310 --> 00:07:26,410 estas nulo aŭ unu. 115 00:07:26,410 --> 00:07:27,470 Nu, konsideru tion. 116 00:07:27,470 --> 00:07:30,840 Ni, homoj, emas uzi la dekuma sistemo. "Dec" signifu 10. 117 00:07:30,840 --> 00:07:33,970 Kaj tio estas 10 ĉar ni havas 10 ciferoj, 0 tra naŭ. 118 00:07:33,970 --> 00:07:36,180 >> Nun komputiloj, per kontrasto, emas uzi duuma. 119 00:07:36,180 --> 00:07:37,270 "Bi" signifanta du. 120 00:07:37,270 --> 00:07:39,560 Do ili emas uzi nur nul kaj unu. 121 00:07:39,560 --> 00:07:42,680 Sed rezultu, ke eĉ nur kun nuloj kaj, ke 122 00:07:42,680 --> 00:07:45,900 Estas sufiĉe granda alfabeto kun kiu reprezentas pli 123 00:07:45,900 --> 00:07:48,490 ajna peco de datumoj vi volas, ĉu ĝi estas numero, 124 00:07:48,490 --> 00:07:52,100 ĉu ĝi estas letero, ĉu ĝi estas grafika aŭ vídeo sur la ekrano. 125 00:07:52,100 --> 00:07:57,140 >> Konsideru, ekzemple, kiel ni homoj tipe interpreti ĉi numeron tie. 126 00:07:57,140 --> 00:08:00,010 Tiu estas ĝuste tri ciferoj, unu, du, tri. 127 00:08:00,010 --> 00:08:04,570 Sed ni scias, ĉi tiu nombro innately nun kiel 123. 128 00:08:04,570 --> 00:08:05,510 Sed kial estas tiu? 129 00:08:05,510 --> 00:08:07,570 >> Nu, se vi opinias reen eble grado lernejo, 130 00:08:07,570 --> 00:08:11,700 Vi verŝajne instruis pensi tiuj nombroj kiel estante en kolumnojn, 131 00:08:11,700 --> 00:08:14,700 kie oni trovas en la centoj loko, la du estas en la dekoj loko, 132 00:08:14,700 --> 00:08:16,360 kaj la tri en la lokon de unuoj. 133 00:08:16,360 --> 00:08:17,790 Kial estas ke vere utila? 134 00:08:17,790 --> 00:08:19,665 Nu, pensu pri la súper simpla aritmetiko 135 00:08:19,665 --> 00:08:22,219 ke ni ĉiuj estis fari por jaroj nun. 136 00:08:22,219 --> 00:08:24,510 Efektive, se vi devas unu en la centoj lokon, 137 00:08:24,510 --> 00:08:29,610 vi faru rapidan math 100 fojojn 1 plus 10 fojojn 2-- 138 00:08:29,610 --> 00:08:33,059 ĉar du estas en la dekoj place-- plus 1 fojoj 3-- 139 00:08:33,059 --> 00:08:34,830 ĉar tri estas en la lokon de unuoj. 140 00:08:34,830 --> 00:08:37,039 Do, kompreneble, se ni fakte multipliki ĉi ekstere, 141 00:08:37,039 --> 00:08:39,600 kion ni vere reprezentas kun tiu pattern-- unu 142 00:08:39,600 --> 00:08:46,150 du three-- estas 100 plus 20 plus 3, kiuj, kompreneble, estas 123. 143 00:08:46,150 --> 00:08:51,130 >> Nun duuma, kaj komputiloj vere, funde paroli la saman lingvon 144 00:08:51,130 --> 00:08:51,680 kion ni faras. 145 00:08:51,680 --> 00:08:53,400 Ili nur havas malgrandan alfabeton. 146 00:08:53,400 --> 00:08:57,100 Do komputiloj nur havas nulojn kaj aĵoj je ilia dispono. 147 00:08:57,100 --> 00:09:02,500 Do dum ni homoj havas esence potencoj de 10 en ĉiu de ĉi tiuj places-- 148 00:09:02,500 --> 00:09:06,810 10 al la nulo, 10 al la dek al la du, donante al vi 110 kaj 100 149 00:09:06,810 --> 00:09:07,700 respektive. 150 00:09:07,700 --> 00:09:12,140 >> Ĉar komputiloj havas nur du valoroj ili povas kompreni, nulo kaj unu, 151 00:09:12,140 --> 00:09:16,600 ili devas uzi malsamajn valorojn en tiuj kolumnoj, unu, du, kvar. 152 00:09:16,600 --> 00:09:20,480 Kaj se ni konservis tuj, ok, 16, 32, 64, ktp. 153 00:09:20,480 --> 00:09:24,220 Sed la mastro kaj la pensmaniero estas ekzakte la sama. 154 00:09:24,220 --> 00:09:27,340 >> Do per tiu logiko, iu, kiel farus Mi irad reprezentanta la numeron 155 00:09:27,340 --> 00:09:28,530 en duuma? 156 00:09:28,530 --> 00:09:33,080 Se vi neniam eĉ pensis pri antauxvidante, kion via gut diri? 157 00:09:33,080 --> 00:09:33,777 >> Publiko: Unu. 158 00:09:33,777 --> 00:09:34,610 DAVID J. Malan: Unu. 159 00:09:34,610 --> 00:09:35,660 Ĝuste. 160 00:09:35,660 --> 00:09:38,100 Ni nur bezonas unu en la karaj loko ĉar la nuloj 161 00:09:38,100 --> 00:09:40,610 sufiĉas por doni nin nek kvar nek du. 162 00:09:40,610 --> 00:09:42,440 Do unu fojojn unu egalas unu. 163 00:09:42,440 --> 00:09:43,940 Nun aĵoj iom interesa. 164 00:09:43,940 --> 00:09:46,830 Se mi volas prezenti en Duuma la numeron two-- sed, 165 00:09:46,830 --> 00:09:49,790 denove, eĉ se vi neniam parolis tiun lingvon antaŭ, 166 00:09:49,790 --> 00:09:54,680 kiel do ni reprezenti en duuma la valoron ni homoj scias kiel du? 167 00:09:54,680 --> 00:09:55,570 Nulo unu nulo. 168 00:09:55,570 --> 00:09:57,620 Nur metu unu en la kolumno kiun vi volas. 169 00:09:57,620 --> 00:09:59,560 >> Nun Fariĝas bela facila probable nun. 170 00:09:59,560 --> 00:10:02,950 Do se mi volas reprezenti three-- ne ekzistas tri kolumno. 171 00:10:02,950 --> 00:10:06,770 Do, denove, mi povas nun aldoni tiujn valorojn kune por meti tie. 172 00:10:06,770 --> 00:10:10,320 Do 2 fojojn 1 plus 1 fojoj 1 estas, kompreneble, 3. 173 00:10:10,320 --> 00:10:13,480 >> Nun aĵoj iom amuza en ke tiuj fariĝis nuloj. 174 00:10:13,480 --> 00:10:15,480 Kaj reprezenti kvar, mi alvenas ĉi. 175 00:10:15,480 --> 00:10:19,310 Kaj se ni pliigo malrapide here-- ke estus kvin. 176 00:10:19,310 --> 00:10:20,700 Tiu estus ses. 177 00:10:20,700 --> 00:10:22,100 Tiu estus sep. 178 00:10:22,100 --> 00:10:25,310 >> Sed nun mi ŝajnas havi kolizii problemo. 179 00:10:25,310 --> 00:10:30,520 Kiel povus mi veturas sur reprezenti eight-- estus la proksima valoro. 180 00:10:30,520 --> 00:10:31,900 Yeah, do ni bezonas novan bitoj. 181 00:10:31,900 --> 00:10:33,899 Kaj efektive, se vi havas aŭdis ĉi tiun frazon antaŭ, 182 00:10:33,899 --> 00:10:37,380 bitoj, tio estas nur mallonga por binara cifero, nulo aŭ unu. 183 00:10:37,380 --> 00:10:41,520 >> Kaj tial mi okazi esti reprezentanto nur tri tiaj bitoj tie. 184 00:10:41,520 --> 00:10:44,900 Sed se mi havus vojon de stoki ne tri malsamaj bitoj, sed kvar, 185 00:10:44,900 --> 00:10:47,250 certe mi povus reprezenti ok, kaj tiam naŭ, kaj tiam 186 00:10:47,250 --> 00:10:49,400 10, kaj eĉ pli kaj pli alten. 187 00:10:49,400 --> 00:10:52,140 >> Sed kiu tiam vokas en demando kiom ni povas 188 00:10:52,140 --> 00:10:54,540 irad reprezenti tiujn aferoj en la unua loko. 189 00:10:54,540 --> 00:10:56,950 Estas unu afero desegni ilin tien sur tobogano, 190 00:10:56,950 --> 00:11:00,660 sed kiel vi reprezentas ilin se estas mekanika aparato? 191 00:11:00,660 --> 00:11:04,390 Kio komputilo faras al reprezenti la eniroj kaj eliroj ke 192 00:11:04,390 --> 00:11:09,020 fundamente difini kalkulado ĉe la fino de la tago? 193 00:11:09,020 --> 00:11:12,090 >> Nu, kio pri io súper simpla kiel tio? 194 00:11:12,090 --> 00:11:13,200 Estas nur ampolo. 195 00:11:13,200 --> 00:11:15,460 Kaj mi povas deĉenigi ĉi ampolo iri sur 196 00:11:15,460 --> 00:11:17,920 deturnante iuj elektro sur kaj permesante elektronoj 197 00:11:17,920 --> 00:11:22,585 flui tra, kiu ŝanĝas sian ŝtata aŭ ĝian valoron, por tiel diri. 198 00:11:22,585 --> 00:11:24,460 Ekzemple, tiu estas malnova lernejo tablo lampo 199 00:11:24,460 --> 00:11:27,250 tie kun tiaj ampolo interne. 200 00:11:27,250 --> 00:11:29,940 Kaj ĝuste nun ne vere fari ion utilan. 201 00:11:29,940 --> 00:11:32,680 Sed kiam mi ŝtopi ŝin en elektra ingo 202 00:11:32,680 --> 00:11:36,390 kaj uzu tiun switch-- aŭ Ni povas eĉ nomas ĝin transistoro 203 00:11:36,390 --> 00:11:39,970 aŭ pensas de ĝi kiel such-- Mi povas nun reprezentas ĉu 204 00:11:39,970 --> 00:11:44,120 tiu valoro, kie la ampolo estas evidente ekstere, aŭ tiun valoron. 205 00:11:44,120 --> 00:11:46,060 Tiu valoro aŭ tiun valoron. 206 00:11:46,060 --> 00:11:47,520 Tiu valoro ks. 207 00:11:47,520 --> 00:11:51,220 >> Do ene de komputilo, supozeble, estas multe pli malgrandaj pecoj de aparataro, 208 00:11:51,220 --> 00:11:52,970 sed ke fine de la tago simple havi 209 00:11:52,970 --> 00:11:55,360 uzi electricity-- eble kapti it-- 210 00:11:55,360 --> 00:11:59,730 kaj poste aux teni ion on aŭ subteni ion. 211 00:11:59,730 --> 00:12:02,021 Kompreneble, tio ne estas aparte interese fari 212 00:12:02,021 --> 00:12:03,270 kun nur unu ampolo. 213 00:12:03,270 --> 00:12:06,726 >> Fakte, kiom alte mi povas rakonti en binara kun ĉi skribtablo lampon tien? 214 00:12:06,726 --> 00:12:07,420 >> Publiko: Unu. 215 00:12:07,420 --> 00:12:08,545 >> DAVID J. Malan: Unu, ĉu ne? 216 00:12:08,545 --> 00:12:11,020 Mi bezonas pli da skribtablo lampoj se mi efektive volas rakonti pli alta. 217 00:12:11,020 --> 00:12:12,210 Sed ni povas fari pli bone ol tio. 218 00:12:12,210 --> 00:12:14,460 Ĉar la ampoloj kiuj ni metu en tion 219 00:12:14,460 --> 00:12:17,730 fakte amatoro ampoloj ol la pasintaj tempoj permesus. 220 00:12:17,730 --> 00:12:20,310 Kaj ili estas reale reto ampoloj. 221 00:12:20,310 --> 00:12:23,160 Kaj aroj da kompanioj fari tion tiuj tagoj. 222 00:12:23,160 --> 00:12:25,190 >> Sed rezultu ke ĉi tiu en aparta 223 00:12:25,190 --> 00:12:27,680 venas kun trajto per kiu Vi povas ŝanĝi liajn kolorojn. 224 00:12:27,680 --> 00:12:30,810 Do ekzemple, se vi ornamita via dormejo ĉambron 225 00:12:30,810 --> 00:12:33,200 kun kelkaj el tiuj lumo bulboj, dependanta sur via humoro, 226 00:12:33,200 --> 00:12:35,366 dependanta sur kiu venas, depende de la vetero, 227 00:12:35,366 --> 00:12:37,360 depende de la tempo de tago, vi povas reale 228 00:12:37,360 --> 00:12:40,300 ŝanĝi la kolorojn de la bulbojn en via ĉambro. 229 00:12:40,300 --> 00:12:43,740 Kaj tio estas ĉar tiuj lumo bulbojn kaj aliaj kiel ĝi havas kio estas 230 00:12:43,740 --> 00:12:48,010 nomita API, apliko programado interfaco, kiu 231 00:12:48,010 --> 00:12:50,920 estas temo kun kiu vi estos bone konanta de semestro la fino. 232 00:12:50,920 --> 00:12:53,710 >> Kaj tio estas nur fantazio, kamufla maniero diri, 233 00:12:53,710 --> 00:12:57,570 vi povas plani tiujn lumo bulboj fari vian proponon. 234 00:12:57,570 --> 00:13:00,360 Vi povas sendi ilin mesaĝojn samkiel vi, homo, 235 00:13:00,360 --> 00:13:03,640 povas sendi mesaĝon al reta servilo dirante al mi la hodiaŭaj novaĵoj 236 00:13:03,640 --> 00:13:05,110 aŭ donu al mi mian retpoŝton. 237 00:13:05,110 --> 00:13:08,010 >> Vi povas sendi pli arcano mesaĝojn al tiuj ampoloj 238 00:13:08,010 --> 00:13:09,700 diri, ŝalti kaj malŝalti. 239 00:13:09,700 --> 00:13:11,370 Sed tio ne estas ĉiu tiu interesa. 240 00:13:11,370 --> 00:13:14,280 Vi povas diri, ŝalti kolorigitaj ŝalti verda turnigxu sur blua, 241 00:13:14,280 --> 00:13:15,990 ĉiuj kun la sama ampolo. 242 00:13:15,990 --> 00:13:20,990 Kaj vi povas eĉ kun iom pli savvy, diru, turnu vin al blua 243 00:13:20,990 --> 00:13:24,710 kiam ĝi estas morna tago ekstere, ekz. 244 00:13:24,710 --> 00:13:27,910 Ĝi povas fakte fliki en meteorológico API kaj eltrovi 245 00:13:27,910 --> 00:13:32,260 kion la vetero aux la tempon de tago, aŭ aliaj tiaj ekigiloj. 246 00:13:32,260 --> 00:13:35,550 >> Do, fakte, du el CS50 propra stabanojn 247 00:13:35,550 --> 00:13:38,827 Dan Bradley kaj Ansel Duff tie, afable kauxzis 248 00:13:38,827 --> 00:13:40,410 ni tutan faskon da tiuj ampoloj. 249 00:13:40,410 --> 00:13:42,910 Kaj ili konstruis CS50 La unua iam duuma bulboj, 250 00:13:42,910 --> 00:13:46,850 kie ni reprezentis here-- kun tiuj ludaj iom magnets-- 251 00:13:46,850 --> 00:13:49,780 diversaj anstataŭiloj ni aludis nur iom semajnoj. 252 00:13:49,780 --> 00:13:52,572 >> Do vojo tien estas karaj loko, du, kvar. 253 00:13:52,572 --> 00:13:54,030 Kaj ni ne vidis pli alta ol tio. 254 00:13:54,030 --> 00:13:55,613 Sed kompreneble, ili estas potencoj de du. 255 00:13:55,613 --> 00:13:59,490 Ok, 16, 32, 64, kaj 128. 256 00:13:59,490 --> 00:14:03,320 Do se mi nun volas esti iom amatoro ol uzi tiun malnovan lernejon ŝaltilo, 257 00:14:03,320 --> 00:14:07,310 Mi havas ĉi tie en ĉi tiu iPad súper simpla interfaco 258 00:14:07,310 --> 00:14:10,440 ke Dan Bradley, iama studento kaj nun instruas ulo, 259 00:14:10,440 --> 00:14:13,510 programed uzante HTML kaj JavaScript, kiu 260 00:14:13,510 --> 00:14:15,685 estas markado kaj programado lingvoj respektive. 261 00:14:15,685 --> 00:14:17,560 Kaj vi povas verŝajne see-- eĉ en la back-- 262 00:14:17,560 --> 00:14:21,670 tie estas granda plus kaj granda minus, plus unu butonon por ĉiu de ĉi tiuj bulboj. 263 00:14:21,670 --> 00:14:25,740 Kaj kion tio tuj permesos min ne estas, ekzemple, alklaku la alpago 264 00:14:25,740 --> 00:14:28,250 kaj nun reprezentas, de Certe, kiu nombro? 265 00:14:28,250 --> 00:14:28,750 Unu. 266 00:14:28,750 --> 00:14:30,220 Kaj mi povas bati lin denove. 267 00:14:30,220 --> 00:14:31,480 Du. 268 00:14:31,480 --> 00:14:32,800 Tri. 269 00:14:32,800 --> 00:14:33,950 Kvar. 270 00:14:33,950 --> 00:14:35,200 Kvin. 271 00:14:35,200 --> 00:14:36,360 Ses. 272 00:14:36,360 --> 00:14:36,880 Sep. 273 00:14:36,880 --> 00:14:40,740 >> Kaj tie nun ni atingas ke seguidilla, sed ni havas kvaran iom tiu fojo, 274 00:14:40,740 --> 00:14:42,180 tial nun ni havas ok. 275 00:14:42,180 --> 00:14:44,000 Do ni povus fari tion dum iu tempo. 276 00:14:44,000 --> 00:14:46,530 Fakte, kiel flanken, kiom alta ni povus kalkuli? 277 00:14:46,530 --> 00:14:48,318 Iu ajn? 278 00:14:48,318 --> 00:14:49,270 >> Publiko: 255. 279 00:14:49,270 --> 00:14:51,420 >> DAVID J. Malan: 255, dekstra? 280 00:14:51,420 --> 00:14:54,900 Ne tro maltrankviliĝu pri la math por nun, sed tio estas sufiĉe deca nombro. 281 00:14:54,900 --> 00:14:59,140 Sed fakte tio ligis nur kiom pecoj de informo: 282 00:14:59,140 --> 00:15:01,760 kiel leteron, aŭ grafika ke ni povus reprezenti. 283 00:15:01,760 --> 00:15:02,697 >> Sed ne gravas nun. 284 00:15:02,697 --> 00:15:04,530 Mi tuj iros antaŭen kaj turni ilin ĉiuj ekstere. 285 00:15:04,530 --> 00:15:09,670 Se mi povus, mi ŝatus peti volontulo, nia unua volunteer-- 286 00:15:09,670 --> 00:15:11,342 ho, hello-- sur scenejo. 287 00:15:11,342 --> 00:15:14,050 La ruzo estas vi devas esti komforta aperante, kiel vi klare 288 00:15:14,050 --> 00:15:17,421 estas fronte al ĉiuj viaj samklasanoj, tiel kiel sur la interreto. 289 00:15:17,421 --> 00:15:20,420 Kaj lasu min rigardi iom pli tie the-- kion pri cxi tie en la blanka ĉemizo? 290 00:15:20,420 --> 00:15:20,920 Kaj transdonos supren. 291 00:15:20,920 --> 00:15:22,071 Venu supren. 292 00:15:22,071 --> 00:15:22,820 Kio estas via nomo? 293 00:15:22,820 --> 00:15:23,760 >> Publiko: Jackie. 294 00:15:23,760 --> 00:15:24,718 >> DAVID J. Malan: Jackie. 295 00:15:24,718 --> 00:15:25,820 Jackie, venu supren. 296 00:15:25,820 --> 00:15:29,820 Do kio estas ankaŭ sur tiu iPad estas butono nomata Ludo Mode. 297 00:15:29,820 --> 00:15:32,570 Kaj ĉi Ludo Mode estas tuj permesos min enigo 298 00:15:32,570 --> 00:15:35,780 anticipe apartan decimalan nombro, la nombroj Ni homoj estas 299 00:15:35,780 --> 00:15:36,760 familiara kun. 300 00:15:36,760 --> 00:15:39,820 Kaj tiam vi estos defiita tien por uzi la butonojn 301 00:15:39,820 --> 00:15:42,140 sur la top-- unu por ĉiu el tiuj bulbs-- 302 00:15:42,140 --> 00:15:45,050 por vere elkompreni la ŝablono de ampoloj 303 00:15:45,050 --> 00:15:46,970 kiu reprezentas la numeron en demando. 304 00:15:46,970 --> 00:15:47,790 >> Mi bedaŭras, kio estas via nomo denove? 305 00:15:47,790 --> 00:15:48,250 >> Publiko: Jackie. 306 00:15:48,250 --> 00:15:48,620 >> DAVID J. Malan: Jackie. 307 00:15:48,620 --> 00:15:48,920 Bone. 308 00:15:48,920 --> 00:15:49,740 Bonan renkonti vin. 309 00:15:49,740 --> 00:15:54,580 >> Do lasu min antaŭeniri kaj programo en por la mondo por vidi la numeron 15. 310 00:15:54,580 --> 00:15:56,360 Ni gardu gxin malgranda unue ĉi tie. 311 00:15:56,360 --> 00:15:58,240 Kaj mi tuj iras en Ludo Mode. 312 00:15:58,240 --> 00:16:01,160 Kaj mi tuj specifi, donu al ni la numeron 15. 313 00:16:01,160 --> 00:16:01,900 >> OK. 314 00:16:01,900 --> 00:16:05,510 Kaj nun kun ĉiuj watching-- se Vi volas eble stari ĉi vojon, 315 00:16:05,510 --> 00:16:09,970 ĉar tio vicigas up-- antaŭeniri kaj mastrumi ok butonoj kune la supro 316 00:16:09,970 --> 00:16:12,530 turni la bulbojn en aŭ ekstere kiel vi decidos. 317 00:16:12,530 --> 00:16:13,530 >> Publiko: OK. 318 00:16:13,530 --> 00:16:17,720 >> DAVID J. Malan: Kaj ne trompas batante plus 15 fojojn. 319 00:16:17,720 --> 00:16:19,275 Ho, ni tuj faros. 320 00:16:19,275 --> 00:16:20,069 >> Publiko: Ho, atendu. 321 00:16:20,069 --> 00:16:20,610 Mi tiom pardonpetas. 322 00:16:20,610 --> 00:16:22,660 >> DAVID J. Malan: Vi povas ankaŭ turni la ampoloj sur individue 323 00:16:22,660 --> 00:16:24,076 kun ĉiu el tiuj butonoj supre. 324 00:16:24,076 --> 00:16:24,844 Publiko: Oh, OK. 325 00:16:24,844 --> 00:16:27,429 Do estus like-- 326 00:16:27,429 --> 00:16:28,220 DAVID J. Malan: Bone. 327 00:16:28,220 --> 00:16:29,100 Do nun ni havas ok. 328 00:16:29,100 --> 00:16:31,280 Do ni paŭzo por la aŭdienco engaĝiĝi tie. 329 00:16:31,280 --> 00:16:34,300 Kio nombro estas Jackie aktuale reprezentas? 330 00:16:34,300 --> 00:16:34,800 11. 331 00:16:34,800 --> 00:16:35,730 Do ni estas preskaŭ tie. 332 00:16:35,730 --> 00:16:38,360 333 00:16:38,360 --> 00:16:39,630 Kaj bonega. 334 00:16:39,630 --> 00:16:41,487 Do ni havas niajn unuajn venkinto. 335 00:16:41,487 --> 00:16:42,445 Gratulojn. 336 00:16:42,445 --> 00:16:48,200 >> Kaj ni pensis, ke ni devus iuj fabelaj Giveaways. 337 00:16:48,200 --> 00:16:50,860 Se vi ŝatus esti tia dormejo ĉambro tien surterene, 338 00:16:50,860 --> 00:16:56,126 Vi povas mem havi fina projekto uzante nun tiu API, danke al Jackie. 339 00:16:56,126 --> 00:16:57,050 Do now-- 340 00:16:57,050 --> 00:16:58,902 >> [Aplaŭdo] 341 00:16:58,902 --> 00:17:01,690 342 00:17:01,690 --> 00:17:04,839 >> --if ni povis, pli tiaj ĉirkaŭ tio. 343 00:17:04,839 --> 00:17:07,690 Ho, nun ĉiuj volas iun ampoloj. 344 00:17:07,690 --> 00:17:11,790 Por la tn hacker eldono, Ni tuj ramplo ĝin a-- ho, 345 00:17:11,790 --> 00:17:12,770 yeah, noncommittal. 346 00:17:12,770 --> 00:17:16,010 Mi pensas vi venas nun Se via mano tuj malsupren. 347 00:17:16,010 --> 00:17:16,800 Kio estas via nomo? 348 00:17:16,800 --> 00:17:17,424 >> Publiko: Alex. 349 00:17:17,424 --> 00:17:19,440 DAVID J. Malan: Alex, venu ĉi tien. 350 00:17:19,440 --> 00:17:26,190 Do por Alex, ni tuj programo en iomete pli granda nombro. 351 00:17:26,190 --> 00:17:27,790 Eble en ordo. 352 00:17:27,790 --> 00:17:29,110 La nombro 50. 353 00:17:29,110 --> 00:17:29,744 >> Publiko: OK. 354 00:17:29,744 --> 00:17:31,660 DAVID J. Malan: Sed, kiel Mi said-- kaj vi povus 355 00:17:31,660 --> 00:17:33,580 volas stari ĉi tie ĝis ke la butonoj laŭliniigi 356 00:17:33,580 --> 00:17:37,115 kiel vi expect-- sed mi faris nomas la hacker eldono. 357 00:17:37,115 --> 00:17:47,125 So-- bonŝancon! 358 00:17:47,125 --> 00:17:48,416 >> [Ridado] 359 00:17:48,416 --> 00:17:58,570 360 00:17:58,570 --> 00:18:02,050 >> Vi povos turni ilin se you-- OK. 361 00:18:02,050 --> 00:18:02,880 Bonega. 362 00:18:02,880 --> 00:18:03,675 Mirinda. 363 00:18:03,675 --> 00:18:04,341 Gratulojn. 364 00:18:04,341 --> 00:18:08,730 >> [Aplaŭdo] 365 00:18:08,730 --> 00:18:10,355 Mi supozas ke mi devus pagi supren. 366 00:18:10,355 --> 00:18:11,830 Gratulojn al Alex tiel. 367 00:18:11,830 --> 00:18:12,330 OK. 368 00:18:12,330 --> 00:18:15,550 >> Do la finfina takeaway jen espereble, sincere, 369 00:18:15,550 --> 00:18:18,109 la simplicity-- la simpleco kun kiu 370 00:18:18,109 --> 00:18:20,650 vi povas akiri iuj bela lumo bulboj, ŝajne en [inaudible]. 371 00:18:20,650 --> 00:18:23,000 Sed ili reprezentas, finfine, la samaj ideoj 372 00:18:23,000 --> 00:18:26,310 kun kiuj ni homoj estas Jam tro familiara. 373 00:18:26,310 --> 00:18:28,660 Do kio eble la proksima paŝo en la progreso 374 00:18:28,660 --> 00:18:30,920 provi fari ion interesaj kun datumoj 375 00:18:30,920 --> 00:18:34,950 kaj reprezentas enigoj, kiuj ne nur nombroj sed estas eble leteroj aŭ pli? 376 00:18:34,950 --> 00:18:37,820 >> Nu, ĝi rezultas ke la komputila mondo, por multaj jaroj, 377 00:18:37,820 --> 00:18:43,300 simple adoptis arbitra sed konsekvenca normo kiu mapas nombroj 378 00:18:43,300 --> 00:18:44,610 leteroj de la alfabeto. 379 00:18:44,610 --> 00:18:47,120 Ekzemple, tie ĉi estas ekstrakto de tiu surĵeto. 380 00:18:47,120 --> 00:18:48,350 Ĝi nomiĝas ASCII. 381 00:18:48,350 --> 00:18:53,220 A-S-C-mi-mi. Kaj tio estas simple tablon kiu mapas majuskla letters-- 382 00:18:53,220 --> 00:18:56,600 en ĉi case-- por decimalaj numeroj. 383 00:18:56,600 --> 00:18:57,890 >> Sed kio estas la implikaĵo? 384 00:18:57,890 --> 00:19:01,090 Nu, se vi vere volas reprezenti iu kiel retpoŝto aŭ tekston 385 00:19:01,090 --> 00:19:03,310 en retpaĝo, vi evidente volas montri 386 00:19:03,310 --> 00:19:06,100 la homa literoj de la alfabeto, ne nombroj. 387 00:19:06,100 --> 00:19:09,140 Do laŭ la kunteksto de la programo 388 00:19:09,140 --> 00:19:12,600 ke uzanto uzas, se estas foliumilo aŭ retpoŝta kliento, 389 00:19:12,600 --> 00:19:16,090 nombroj certe povas esti interpretita kiel leteroj. 390 00:19:16,090 --> 00:19:20,290 Tio estas, la mastroj de bitoj povas facile interpretebla kiel leteroj. 391 00:19:20,290 --> 00:19:24,700 >> Kaj kion ni povas havi estas la litero A estaĵo 392 00:19:24,700 --> 00:19:28,410 reprezentitaj kiel 65, B estante reprezentita kiel 66. 393 00:19:28,410 --> 00:19:30,900 Do se ni havas súper vorteto, kiel hi, 394 00:19:30,900 --> 00:19:35,740 kion komputilo farus finfine vendejo en dekuma sed vere en duuma, 395 00:19:35,740 --> 00:19:40,070 uzante iu sekvenco de bitoj, utiligante iom da elektro iel, 396 00:19:40,070 --> 00:19:44,010 estus la du nombroj 72 kaj 73. 397 00:19:44,010 --> 00:19:46,780 >> Sed la mastro de bitoj kiuj reprezentas tiujn valorojn. 398 00:19:46,780 --> 00:19:49,820 Do tiuj do kiel ni povas reprezenti nian eniroj kaj eliroj. 399 00:19:49,820 --> 00:19:52,630 Kaj sufiĉas diri, ni povas fari pli kompleksajn reprezentoj 400 00:19:52,630 --> 00:19:56,450 fine kun aĵoj kiel grafikaĵoj, filmetoj, muziko, kaj pli 401 00:19:56,450 --> 00:19:58,190 kiel ni vidos poste tiu termino. 402 00:19:58,190 --> 00:20:00,630 >> Tiel ke nur lasas tiam algoritmoj, tiuj aroj 403 00:20:00,630 --> 00:20:03,490 de instrukcioj per kiuj ni solvi realajn problemojn. 404 00:20:03,490 --> 00:20:05,820 Ni pasante en enigoj por algoritmoj. 405 00:20:05,820 --> 00:20:09,630 Kaj tiuj algoritmoj produktas eliroj, espereble korekta eliroj 406 00:20:09,630 --> 00:20:14,160 kaj mi esperas, ankaŭ, kompetente kolektis eliroj. 407 00:20:14,160 --> 00:20:16,890 En aliaj vortoj, ĝi estas unu afero implementar ion korekte. 408 00:20:16,890 --> 00:20:20,790 Estas alia afero implementar io bone aŭ kompetente. 409 00:20:20,790 --> 00:20:23,690 >> Ekzemple, unu pruvo ke ni ŝatis la kurson 410 00:20:23,690 --> 00:20:24,460 Estas ĉi tiu. 411 00:20:24,460 --> 00:20:26,345 Sed tion estas akirantaj pli malfacile trovi. 412 00:20:26,345 --> 00:20:28,930 Sed tio estas ja malnova lernejo telefono libro, ene de kiu 413 00:20:28,930 --> 00:20:32,580 Estas 1.000 plus paĝoj nomoj kaj telefonnumeroj. 414 00:20:32,580 --> 00:20:34,830 Kaj se mi volis serĉi iu en ĉi tiu telefono libro, 415 00:20:34,830 --> 00:20:38,640 Mi povis simple fari tre naiva algoritmo. 416 00:20:38,640 --> 00:20:42,150 Mi povis malfermi al la unua paĝo, kaj Mi povus komenci al serĉi, diru, ke iu 417 00:20:42,150 --> 00:20:43,130 nomita Mike Smith. 418 00:20:43,130 --> 00:20:46,160 Kaj se li ne estas sur la unua paĝo, mi progresus al la dua, 419 00:20:46,160 --> 00:20:49,120 kaj poste la tria, kaj tiam la kvara, ktp, 420 00:20:49,120 --> 00:20:51,430 ĝis mi fine trovos Mike Smith. 421 00:20:51,430 --> 00:20:53,010 >> Nun ke algoritmo korekta? 422 00:20:53,010 --> 00:20:53,896 >> Publiko: Jes. 423 00:20:53,896 --> 00:20:54,248 >> DAVID J. Malan: Jes. 424 00:20:54,248 --> 00:20:56,039 Se li estas en tie, mi eventuale trovi lin. 425 00:20:56,039 --> 00:20:58,820 Sed estas defendeble ne tre eficiente, certe ne fastas, 426 00:20:58,820 --> 00:21:01,200 ĉar, mia dio, kial mi estas malŝparas mian tempon turnadon 427 00:21:01,200 --> 00:21:04,500 tra ĉiuj tiuj paĝoj kiam mi povis certe faros ĉi fizike pli rapida? 428 00:21:04,500 --> 00:21:08,210 >> Nu, eta optimumigo, tiel paroli, povus esti ne unu paĝo samtempe, 429 00:21:08,210 --> 00:21:11,610 sed du, kvar, ses, ok, 10. 430 00:21:11,610 --> 00:21:12,725 Ankoraŭ korekta? 431 00:21:12,725 --> 00:21:14,030 >> Publiko: Ne 432 00:21:14,030 --> 00:21:17,040 >> DAVID J. Malan: Do ne se mi por Ekzemple salti super Mike Smith. 433 00:21:17,040 --> 00:21:20,530 Sed tiel longe, kiel mi ripetas pedalo unu paĝo, se mi ekapero li, 434 00:21:20,530 --> 00:21:25,240 eble ni povus korekti kion povus alie esti Gotcha. 435 00:21:25,240 --> 00:21:26,020 >> Sed estas pli bone? 436 00:21:26,020 --> 00:21:27,469 Ĉu pli rapida? 437 00:21:27,469 --> 00:21:28,010 Mi volas diri, yeah. 438 00:21:28,010 --> 00:21:30,950 Estas laŭvorte duoble rapida se mi faras du paĝoj en tempo. 439 00:21:30,950 --> 00:21:35,720 Do se mi origine havis 1.000 paĝoj, Nun mi nur devas klaki 500 fojojn 440 00:21:35,720 --> 00:21:39,429 ne tute 1.000 paĝojn por akiri potenciale en la plej malbona kazo 441 00:21:39,429 --> 00:21:41,220 al la fino de la telefono libro, kie iu 442 00:21:41,220 --> 00:21:44,380 kiel Mike Smith aŭ iu kun posta nomo povus reale esti. 443 00:21:44,380 --> 00:21:46,540 >> Sed, kompreneble, ni homoj certe ne estas 444 00:21:46,540 --> 00:21:49,250 tuj estos fari tion, certe Ne ĉe tiu punkto en niaj vivoj. 445 00:21:49,250 --> 00:21:51,454 Kio estas racia homa verŝajne faros? 446 00:21:51,454 --> 00:21:52,870 Publiko: Iru rekte al the9 S aj jaroj. 447 00:21:52,870 --> 00:21:53,860 DAVID J. Malan: Iru rekte al la S-a? 448 00:21:53,860 --> 00:21:55,563 Kjel mi iru rekte al la S-a? 449 00:21:55,563 --> 00:21:57,342 >> Publiko: Rip ĝin en duono. 450 00:21:57,342 --> 00:21:59,050 DAVID J. Malan: Bone, ne estas markiloj. 451 00:21:59,050 --> 00:22:02,116 Do, jes, se estis ja etiketo aŭ pegajosa langeton por S, 452 00:22:02,116 --> 00:22:03,240 ni devas salti rajtas tie. 453 00:22:03,240 --> 00:22:05,420 Sed ĝi estas sufiĉe nenoca. 454 00:22:05,420 --> 00:22:08,480 Do la plej bona mi povas fari estas malglate al la S sekcio aŭ eble malafable 455 00:22:08,480 --> 00:22:09,650 en la mezo. 456 00:22:09,650 --> 00:22:12,110 Sed la ŝlosilo takeaway now-- kaj la intuicion 457 00:22:12,110 --> 00:22:14,430 ke vi prenis por koncedita por jaroj probably-- 458 00:22:14,430 --> 00:22:17,103 estas ke kion vi nun scii pri ĉi tiu problemo? 459 00:22:17,103 --> 00:22:19,320 >> Publiko: [inaudible] 460 00:22:19,320 --> 00:22:22,290 >> DAVID J. Malan: Mike Smith estas sekura ne en tiu duono de la problemo 461 00:22:22,290 --> 00:22:25,600 ĉar Smith venas post la mezo kiu estas malglate la M sekcio, 462 00:22:25,600 --> 00:22:26,510 ŝajnas esti. 463 00:22:26,510 --> 00:22:30,340 Do kiel vi eble vidis en Vizitoj, ni nun povas laŭvorte 464 00:22:30,340 --> 00:22:31,737 dissxiros tiun problemon en duono. 465 00:22:31,737 --> 00:22:32,320 Publiko: Woo! 466 00:22:32,320 --> 00:22:33,690 DAVID J. Malan: Estas atingi facilan kaj pli facila. 467 00:22:33,690 --> 00:22:34,666 [Aplaŭdo] 468 00:22:34,666 --> 00:22:36,618 Tie vi iru. 469 00:22:36,618 --> 00:22:39,060 [Ridado] 470 00:22:39,060 --> 00:22:41,870 Kaj nun mi fundamente havas la saman problemon, 471 00:22:41,870 --> 00:22:43,866 sed estas laŭvorte duone tiel granda. 472 00:22:43,866 --> 00:22:45,240 Mi ankoraŭ serĉas Mike Smith. 473 00:22:45,240 --> 00:22:47,950 Kaj mi daresay, mi povas ankoraŭ serĉi lin en la sama maniero, 474 00:22:47,950 --> 00:22:51,200 dividi la problemon en duono denove, ŝirante la problemon denove 475 00:22:51,200 --> 00:22:54,140 duono, kiu nun min lasas kun problemo kvarono de la grandeco, 476 00:22:54,140 --> 00:22:58,710 draste ĵeti ke duono forigis, ripeti tiun procezon denove kaj denove 477 00:22:58,710 --> 00:23:01,150 kaj denove, ekrigardante malsupren je ĉiu punkto vidi 478 00:23:01,150 --> 00:23:03,400 se Mike Smith estas La paĝo en demando. 479 00:23:03,400 --> 00:23:06,190 >> Sed se mi faras ĉi rajto, finfine mi trovas min 480 00:23:06,190 --> 00:23:11,085 kun nur unu paĝo sur kiu Mike Smith estas se ĝi estas ĝuste en la telefono libro. 481 00:23:11,085 --> 00:23:13,510 Kompreneble, mi povis neniam nomos Mike denove. 482 00:23:13,510 --> 00:23:18,800 Sed la punkto estas, ke se ni komencis kun 1.000 paĝoj, mia unua algoritmo, 483 00:23:18,800 --> 00:23:21,620 klaki la paĝo, eble 1.000 times-- certe malpli ĉar estas 484 00:23:21,620 --> 00:23:26,430 S nomo kaj ne Z nomon, sed kiel kiom 1.000 paĝojn potenciale. 485 00:23:26,430 --> 00:23:27,590 >> Dua algoritmo, bona. 486 00:23:27,590 --> 00:23:28,480 500 paĝoj. 487 00:23:28,480 --> 00:23:31,230 Tria algoritmo, kvankam, kiom da paŝoj farus gxin 488 00:23:31,230 --> 00:23:35,520 preni dividi 1.000 paĝo telefono libro en duono tiel? 489 00:23:35,520 --> 00:23:37,000 10, donu aŭ preni. 490 00:23:37,000 --> 00:23:40,770 Do nur per klakanta tra tiu telefono libro, plonĝado kaj venkanta, 491 00:23:40,770 --> 00:23:46,130 tiel diri, 10 fojoj mi faros Mian vojon malsupren al nur unu sola paĝo. 492 00:23:46,130 --> 00:23:48,880 >> Kaj tiel ni povas kapti ĉi intuicion nun iomete grafike 493 00:23:48,880 --> 00:23:51,320 se vi nur konsideri tiu súper simpla grafeo. 494 00:23:51,320 --> 00:23:55,470 Ni estas sur la x-akso, aŭ horizontale akso, estas la grandeco de mia problemo, 495 00:23:55,470 --> 00:23:57,100 la nombron de paĝoj en la telefono libro. 496 00:23:57,100 --> 00:23:59,040 Kaj komputilaj sciencistoj ĝenerale ŝatas nomi 497 00:23:59,040 --> 00:24:02,180 la amplekso de problemo n, kie n estas nur iuj variablo kiu 498 00:24:02,180 --> 00:24:04,310 represents-- en tiu case-- numeron da paĝoj. 499 00:24:04,310 --> 00:24:07,412 >> La vertikala, aŭ y-akso, jen tuj estos la tempo por solvi, 500 00:24:07,412 --> 00:24:09,870 eble la nombro de paĝo turnoj, eble la nombro de sekundoj 501 00:24:09,870 --> 00:24:11,960 aŭ minutoj ajn via unueco de mezuro estas. 502 00:24:11,960 --> 00:24:14,337 Kaj tiu ruĝa linio reprezentas la unua algoritmo, 503 00:24:14,337 --> 00:24:16,670 ĉar tie estas unu al unu interrilato inter nombro 504 00:24:16,670 --> 00:24:18,880 de paĝoj kaj kvanto de tempo kiu postrestas. 505 00:24:18,880 --> 00:24:22,240 >> Se Verizon duobligas la nombron de paĝoj en la telefono libro sekva jaro, 506 00:24:22,240 --> 00:24:24,590 mia kurado time-- la lernotempo ekzekuti 507 00:24:24,590 --> 00:24:27,610 ke unue algorithm-- duobligas en la plej malbona kazo. 508 00:24:27,610 --> 00:24:30,690 Sed la dua algoritmo, kie mi klakanta du, 509 00:24:30,690 --> 00:24:33,650 postulas malpli da tempo por donita amplekso problemon. 510 00:24:33,650 --> 00:24:36,090 Do se mi havas multajn paĝoj here-- avizo 511 00:24:36,090 --> 00:24:38,870 ke la flava linio sugestas malpli da tempo por solvi. 512 00:24:38,870 --> 00:24:42,490 Kaj efektive, ĝi reprezentas, ni diros, n super du. 513 00:24:42,490 --> 00:24:47,717 >> Sed kio estas la formo de la tria kaj fina kurbo tuj aspekti? 514 00:24:47,717 --> 00:24:50,800 Jes, ĝi estas ja tuj look-- mi ne scias kion vi intencis diri. 515 00:24:50,800 --> 00:24:52,300 Sed ni vidu kion vi intencis diri. 516 00:24:52,300 --> 00:24:53,280 >> Publiko: Kiel tio. 517 00:24:53,280 --> 00:24:57,060 >> DAVID J. Malan: Ĝi tuj aspekti tiu, logaritma slope-- exactly-- 518 00:24:57,060 --> 00:24:59,770 per vi havas ĉi scivola deklivo. 519 00:24:59,770 --> 00:25:01,235 Ĝi ne plu rekto. 520 00:25:01,235 --> 00:25:05,000 Kaj kio estas konvinka pri tio estas, ke kvankam la grafo nun ekstermitaj, 521 00:25:05,000 --> 00:25:07,790 vi povas extrapolar en via gravas ke verda linio ne 522 00:25:07,790 --> 00:25:10,060 tuj pliigos en alton ke multe 523 00:25:10,060 --> 00:25:13,500 kiel vi procedi plu malsupren ke horizontala akso. 524 00:25:13,500 --> 00:25:15,890 >> Ja, Verizon, por Ekzemple, eblus duobligi 525 00:25:15,890 --> 00:25:19,100 la nombron de paĝoj en la telefono libro inter tiu jaro kaj la proksima jaro 526 00:25:19,100 --> 00:25:22,140 de 1000 ĝis 2000 paĝoj, sed ne granda interkonsento. 527 00:25:22,140 --> 00:25:24,960 Kun ĉi tiu tria kaj lasta, tie estas intuicia algoritmo 528 00:25:24,960 --> 00:25:26,209 la dividadon kaj konkerante. 529 00:25:26,209 --> 00:25:29,000 Ĝi tuj prenos min kiom pli paŝas apud jaro trovi iun 530 00:25:29,000 --> 00:25:29,700 like Mike Smith? 531 00:25:29,700 --> 00:25:30,560 >> Publiko: Unu. 532 00:25:30,560 --> 00:25:31,230 >> DAVID J. Malan: Ekzistas nur unu. 533 00:25:31,230 --> 00:25:34,430 Kaj oni povas kvarobligas ĝin, ĝi estas tuj prenos min nur du pli paŝoj 534 00:25:34,430 --> 00:25:35,210 ks. 535 00:25:35,210 --> 00:25:38,730 Kaj tiu estas testamento al ĝuste kiel kelkaj zorgema dezajno 536 00:25:38,730 --> 00:25:42,437 kaj iom aprezon por kio viaj enigoj estas povas fari eĉ pli bone. 537 00:25:42,437 --> 00:25:44,270 Nun ni trompas a iom en la senco 538 00:25:44,270 --> 00:25:46,350 ke ni utiligante supozo. 539 00:25:46,350 --> 00:25:48,500 Kio estas mia supozo pri nia telefono libro 540 00:25:48,500 --> 00:25:52,720 kiu min permesis dividi kaj venki en tiu intuicia kaj ankoraŭ ĝusta vojo? 541 00:25:52,720 --> 00:25:53,705 >> Publiko: [inaudible] 542 00:25:53,705 --> 00:25:54,580 DAVID J. Malan: Jes. 543 00:25:54,580 --> 00:25:55,440 Do ĝi estis ordigita. 544 00:25:55,440 --> 00:25:57,392 Estis alfabetizado per la telefono libro kompanio. 545 00:25:57,392 --> 00:26:00,100 Se ĝi estis en hazarda ordo, ke estus infere telefono libro, 546 00:26:00,100 --> 00:26:02,850 sed certe ne prunti al la algoritmo 547 00:26:02,850 --> 00:26:05,950 Mi uzis, ĉar vi neniam nur okazi tra Mike Smith 548 00:26:05,950 --> 00:26:09,210 se vi trompe dividadon en duono en tiu maniero por hazardo. 549 00:26:09,210 --> 00:26:12,060 >> Do ni nun formaligi kio estas klare intuicia. 550 00:26:12,060 --> 00:26:13,950 Do io nomata _pseudocode_ estas kie ni 551 00:26:13,950 --> 00:26:15,780 komenci kelkaj el niaj komencaj problemoj. 552 00:26:15,780 --> 00:26:20,410 Kaj tio estas ĝenerala maniero de priskribi algoritmon aŭ komputila programo, 553 00:26:20,410 --> 00:26:24,150 Ne uzante C aŭ C ++ aŭ Java, aŭ iu specifa lingvo, 554 00:26:24,150 --> 00:26:27,430 sed nur per la angla, kun kion ajn homo povus esti familiara. 555 00:26:27,430 --> 00:26:31,220 >> Kaj ni povus skribi la _pseudocode_ pro tiu problemo jene. 556 00:26:31,220 --> 00:26:33,520 Paŝi unu, repreni la telefono libro. 557 00:26:33,520 --> 00:26:35,840 Ŝtupo du, malfermita al mezo de telefono libro. 558 00:26:35,840 --> 00:26:37,730 Paŝo tri, rigardu la nomojn. 559 00:26:37,730 --> 00:26:40,630 Paŝi kvar, se Smith estas inter names-- 560 00:26:40,630 --> 00:26:42,960 >> Kaj nun tiu estas interesa konstruo. 561 00:26:42,960 --> 00:26:44,290 Estas decido punkto. 562 00:26:44,290 --> 00:26:47,920 Estas forko en la vojo, se vi Mi, branĉo, por tiel diri. 563 00:26:47,920 --> 00:26:50,810 Do mi tuj Krommarĝenon nur konvencio step-- 564 00:26:50,810 --> 00:26:53,950 Ne five-- kio estas diru, mi vokos Mike. 565 00:26:53,950 --> 00:26:57,290 Do tiu deŝovon, tute arbitra homa konvencio, sed estas 566 00:26:57,290 --> 00:27:01,160 simple signifis transdoni semantike ke se Smith estas inter nomoj 567 00:27:01,160 --> 00:27:03,310 tiam mi devus voki Mike. 568 00:27:03,310 --> 00:27:06,630 >> Dume en ŝtupo ses, avizo ke la deŝovon foriris. 569 00:27:06,630 --> 00:27:10,980 Do alia estas alia forko en la vojo, alia vojo mi povus vojaĝi. 570 00:27:10,980 --> 00:27:14,130 Do alie se Smith estas pli frue en la libro, kio estas 571 00:27:14,130 --> 00:27:16,964 mia sekva paŝo probable tuj estos tie? 572 00:27:16,964 --> 00:27:18,380 Publiko: Vi iros al la maldekstra flanko. 573 00:27:18,380 --> 00:27:21,004 DAVID J. Malan: Jes, do iru al maldekstre duono de la telefono libro. 574 00:27:21,004 --> 00:27:24,140 Forĵetu la dekstran duonon se Smith estas antaŭe en la libro. 575 00:27:24,140 --> 00:27:27,140 Tiel malfermita al la mezo de maldekstre duono de la libro. 576 00:27:27,140 --> 00:27:30,240 >> Kaj tiam paŝon ok, iru al linio tri. 577 00:27:30,240 --> 00:27:34,520 Kaj tio estas kurioza buklo min indukti, rekursio tiel diri. 578 00:27:34,520 --> 00:27:35,990 Sed pli en kiuj en la estonteco. 579 00:27:35,990 --> 00:27:39,590 >> Mi uzas mian saman algoritmon, miaj saman _pseudocode_, 580 00:27:39,590 --> 00:27:43,020 por solvi la saman problemon denove ĉar lin sola kiu estas ŝanĝita 581 00:27:43,020 --> 00:27:46,550 estas la grandeco de la problemo, ne mia celo, kaj ne la homo 582 00:27:46,550 --> 00:27:47,340 Mi serĉas. 583 00:27:47,340 --> 00:27:51,610 Do mi povas reutilizar la algoritmo ke mi jam difinita. 584 00:27:51,610 --> 00:27:53,580 >> Else se Smith estas poste en book-- vi povus 585 00:27:53,580 --> 00:27:56,200 guess-- malfermita al la mezo de la dekstran duonon de la libro. 586 00:27:56,200 --> 00:27:58,350 Kaj denove, iru al linio tri. 587 00:27:58,350 --> 00:28:01,480 Else-- kio estas la fina linio en tiu programo tuj estos? 588 00:28:01,480 --> 00:28:03,580 Se li ne estas inter la nomojn en la paĝo mi estas 589 00:28:03,580 --> 00:28:06,870 plu, se li ne estas antaŭe en la libro kaj ne poste 590 00:28:06,870 --> 00:28:09,899 en la libro, kion mi scias veras pri Mike Smith nun? 591 00:28:09,899 --> 00:28:11,190 Publiko: Li ne estas en la libro. 592 00:28:11,190 --> 00:28:12,731 DAVID J. Malan: Li ne estas en la libro. 593 00:28:12,731 --> 00:28:16,040 Do la plej bona mi povas fari estas simple rezigni kaj halti ĉi programo. 594 00:28:16,040 --> 00:28:16,540 Bone. 595 00:28:16,540 --> 00:28:20,350 Do, je tiu punkto, ni preni rapida ĝiras de kelkaj el kio atendas. 596 00:28:20,350 --> 00:28:23,620 Kaj fakte, mi aliĝis tien per nombro de CS50 bastonon. 597 00:28:23,620 --> 00:28:26,940 Se tiuj uloj povis ĉiuj aliĝi min tie sur la scenejo. 598 00:28:26,940 --> 00:28:28,900 >> [Aplaŭdo] 599 00:28:28,900 --> 00:28:35,280 600 00:28:35,280 --> 00:28:38,170 >> Atentas vin, tiu estas nur subaro de CS50 bastonon 601 00:28:38,170 --> 00:28:42,380 ĉar ĉiu jaro ni havas preskaŭ 100 personaro membroj en listoj kompreneble helpantoj, 602 00:28:42,380 --> 00:28:44,410 instruante uloj, kaj pli. 603 00:28:44,410 --> 00:28:45,700 Venu supren. 604 00:28:45,700 --> 00:28:48,820 Do ili kunigos nin tien mallerte por nur momento 605 00:28:48,820 --> 00:28:54,230 kiel ni donu ventego ĝiras de kio Vi devus atendi ĉi tie en la kurso. 606 00:28:54,230 --> 00:28:59,640 >> Do unuavice ni havos SAT / UNS kiel grading opcion en la kurso. 607 00:28:59,640 --> 00:29:03,180 Tio signifis intence esti eblo per 608 00:29:03,180 --> 00:29:05,570 se vi estas iomete maltrankvila ĉe esti en la kurso, 609 00:29:05,570 --> 00:29:09,390 kaj vi timos failure-- eĉ se sincere fiasko signifas vundi vian GPA, 610 00:29:09,390 --> 00:29:13,180 prenanta B kaj ne A-- kiu estas precize kion, certe por ponteton 611 00:29:13,180 --> 00:29:15,750 Kompreneble kiel CS50 kaj aliaj enkondukaj kursoj 612 00:29:15,750 --> 00:29:17,540 ĉi grading opcio estas intencita por permesi. 613 00:29:17,540 --> 00:29:19,930 >> Mi tutkore kuraĝigi students-- speciale 614 00:29:19,930 --> 00:29:23,090 se sur la fence-- komenci la Kompreneble SAT / UNS, eĉ restas SAT / UNS. 615 00:29:23,090 --> 00:29:27,310 Sed vi certe povas ŝalti al letero grado de la kvina lundo en la termino. 616 00:29:27,310 --> 00:29:31,560 >> Sincere, dorso, kiam mi Estis novulo en 1995, 617 00:29:31,560 --> 00:29:34,630 Mi mem eĉ ne prenis CS50 ĉar mi ne iru la nervo 618 00:29:34,630 --> 00:29:36,540 por fakte paŝo piedon en la klasĉambro. 619 00:29:36,540 --> 00:29:40,020 Ŝajnis domajno tro nekonataj al mi kaj vere nur 620 00:29:40,020 --> 00:29:43,080 por tiuj amikoj miaj, sincere, kiuj estis programado 621 00:29:43,080 --> 00:29:45,570 ĉar ili six- aŭ eble 10-jaroj-malnova. 622 00:29:45,570 --> 00:29:48,640 Kaj tio estis nur ĉar mi trovis povi preni CS50 en mia tago 623 00:29:48,640 --> 00:29:52,720 en la ekvivalenta versio de SAT / UNS-- pass / malsukcesas reen en la day-- 624 00:29:52,720 --> 00:29:53,850 ke eĉ mi prenis 50. 625 00:29:53,850 --> 00:29:57,440 Kaj iel aŭ alia, mi tien kun vi hodiaŭ. 626 00:29:57,440 --> 00:30:00,690 >> Nun dume kion ajn vi devus teni en menso 50 627 00:30:00,690 --> 00:30:01,910 estas samtempaj numerplato. 628 00:30:01,910 --> 00:30:03,785 Kontraŭe al la famoj kiuj vi eble auxdis, 629 00:30:03,785 --> 00:30:07,650 Vi povas, fakte, samtempe enskribi en CS50 kaj alia klaso kiu 630 00:30:07,650 --> 00:30:12,150 kunvenas la sama aŭ iu superposición tempo CS50 la prelegoj rajton tie. 631 00:30:12,150 --> 00:30:16,420 Vidu la Syllabus por detaloj de la implementación de gxi. 632 00:30:16,420 --> 00:30:19,540 >> Prelegoj, dume, kontraŭe al kio estas oficiale en la katalogo, 633 00:30:19,540 --> 00:30:22,060 ĝenerale nur renkonti por nur unu horo. 634 00:30:22,060 --> 00:30:24,240 Okaze oni povas kuri iom longa. 635 00:30:24,240 --> 00:30:26,800 Sed memoru ke la golon en CS50 la prelegoj 636 00:30:26,800 --> 00:30:28,980 estas provizi vin kun conceptual superrigardon, 637 00:30:28,980 --> 00:30:31,830 espereble iuj manifestacioj, eble eĉ iuj Giveaways, 638 00:30:31,830 --> 00:30:34,390 de kio atendas por la semajno kiu sekvas. 639 00:30:34,390 --> 00:30:37,730 >> Kaj tiel en prelegoj, ni esploros tiuj temoj kaj ekzemploj kune, 640 00:30:37,730 --> 00:30:41,420 alportante studentoj sur scenejo, kaj Staff supren sur scenejon tiel ofte kiel ni povas, 641 00:30:41,420 --> 00:30:43,740 por nur kelkaj horoj ĉiun semajnon. 642 00:30:43,740 --> 00:30:47,435 Sekcioj, dume, estos proponu tiujn ulojn here-- multaj 643 00:30:47,435 --> 00:30:50,060 ili instruis kamaradoj, iuj el ili kompreneble assistants-- volo 644 00:30:50,060 --> 00:30:51,160 pasante ĉiusemajne. 645 00:30:51,160 --> 00:30:52,940 >> Kaj kio estas ŝlosilo por subteni en menso estas ke ni 646 00:30:52,940 --> 00:30:55,920 ĉu have-- ne kontraste Unua Noktoj, la muziko class-- 647 00:30:55,920 --> 00:30:59,220 malsamaj aŭtoveturejoj de sekcioj por studentojn malpli komfortaj, pli 648 00:30:59,220 --> 00:31:01,150 komforta, kaj ie en inter. 649 00:31:01,150 --> 00:31:03,559 Kaj sincere, vi scias se vi estas malpli komforta. 650 00:31:03,559 --> 00:31:05,600 Kaj vi verŝajne scias se vi estas pli komforta. 651 00:31:05,600 --> 00:31:09,920 Se vi ne estas vere certa ke vi estas per difino ie en inter. 652 00:31:09,920 --> 00:31:12,850 Do kiam temas tempon sekcio en semajno aŭ tiel, per la Syllabus, 653 00:31:12,850 --> 00:31:14,070 ni petas vin, ke demando. 654 00:31:14,070 --> 00:31:16,890 Kaj vi povas mem elekti Based sur via propra komforto nivelo 655 00:31:16,890 --> 00:31:22,220 kaj estu kun students-- kun verda dots-- simila en komforto nivelo al vi. 656 00:31:22,220 --> 00:31:25,710 >> Dume, ni havas problemon aroj, kiu volas finfine 657 00:31:25,710 --> 00:31:28,310 difini vian sperton en tiu kurso. 658 00:31:28,310 --> 00:31:30,370 Ili proponis tipe en multnombraj eldonoj. 659 00:31:30,370 --> 00:31:34,150 Insigno eldono kiun ni atendas pli ĉiu lernanto en la kurso por pritrakti 660 00:31:34,150 --> 00:31:37,900 sed ankaŭ tn hacker eldono kiuj proponas neniun formon de ekstra kredito 661 00:31:37,900 --> 00:31:41,980 kategorie sed vere la bragging rajtoj diri ke vi provis kaj pritraktis 662 00:31:41,980 --> 00:31:45,250 la kurso hacker eldonojn kiuj alproksimigi la simila materialo 663 00:31:45,250 --> 00:31:47,370 sed de pli kompleksaj angulo. 664 00:31:47,370 --> 00:31:49,480 >> Kion ni proponas por la norma eldono, cxar 665 00:31:49,480 --> 00:31:51,420 denove, súper plimulto de lernantoj, estas ne 666 00:31:51,420 --> 00:31:54,060 nur marŝi-throughs, kiuj estas videos ĉefitaj de la kurso bastono 667 00:31:54,060 --> 00:31:57,840 ke vere promeni vin tra la Kompreneble problemoj kaj eblaj dezajno 668 00:31:57,840 --> 00:31:58,910 implementaciones. 669 00:31:58,910 --> 00:32:01,434 Kaj ni ankaŭ, post la Fakte, proponi postmortems, 670 00:32:01,434 --> 00:32:03,350 per se vi scivolas kiel vi povus havi 671 00:32:03,350 --> 00:32:05,930 aŭ devus esti solvita iuj problemon, la instruistaro 672 00:32:05,930 --> 00:32:08,640 irados vin tra tiuj en video ankaŭ. 673 00:32:08,640 --> 00:32:14,350 >> Dume, kio atendas tro trovas kvin malfrua tempo kaj al la fakto 674 00:32:14,350 --> 00:32:16,680 ke ni falos via malalta problemo starigis partituro. 675 00:32:16,680 --> 00:32:20,370 Ni certe estimas ke en interŝanĝo cxar la laborŝarĝo ke 50 atendas 676 00:32:20,370 --> 00:32:24,020 de vi, vivo ricevas la vojon kelkfoje, se ne kvinfoje. 677 00:32:24,020 --> 00:32:26,150 Kaj tiel ĉi proponos vi iom de fleksebleco, 678 00:32:26,150 --> 00:32:29,400 etendante vian limdato de, diru, Ĵaŭdo tagmeze al vendredo tagmeze. 679 00:32:29,400 --> 00:32:33,150 Vidu la Syllabus la efektivigo detaloj largxo. 680 00:32:33,150 --> 00:32:34,702 >> Nun kio nun atendas? 681 00:32:34,702 --> 00:32:36,660 Kaj ĝi estas nur okazanta Min nun kiom longe 682 00:32:36,660 --> 00:32:38,333 Mi havas vin infanoj stari ĉi tie sur la scenejo. 683 00:32:38,333 --> 00:32:39,060 >> [Ridado] 684 00:32:39,060 --> 00:32:41,867 >> DAVID J. Malan: Sed ni atingos la klimataj metas antaux longe. 685 00:32:41,867 --> 00:32:43,700 Do kio atendas en terminoj de la problemo aroj? 686 00:32:43,700 --> 00:32:47,099 Nu, eble teaser de kion ni ĉiuj faris lastan jaron kun via antaŭuloj. 687 00:32:47,099 --> 00:32:49,140 En la unua problemo aro lasta jaro, ni enkondukis 688 00:32:49,140 --> 00:32:51,630 Scratch, grafika programlingvo ke 689 00:32:51,630 --> 00:32:54,570 permesas plani laŭvorte por trenante kaj delasante puzlo pecoj 690 00:32:54,570 --> 00:32:57,220 kiel tiuj, kiuj estas memoras la konstruojn 691 00:32:57,220 --> 00:32:59,260 vidos nur unu semajno tial, kiam ni ŝanĝi 692 00:32:59,260 --> 00:33:01,870 al pli tradicia lingvo, konata kiel C. 693 00:33:01,870 --> 00:33:03,930 >> Pasintjare ni pluiris al tiu problemo aro, 694 00:33:03,930 --> 00:33:06,720 engaĝante por ĉifriko, la grimpadi informo 695 00:33:06,720 --> 00:33:10,410 teni ĝin de registaraj aŭ amikoj okulojn ke vi ne volas vidi ĝin. 696 00:33:10,410 --> 00:33:12,540 Kodita en tie estas mesaĝo kiu baldaŭ vi 697 00:33:12,540 --> 00:33:15,740 povos deĉifri aŭ de-scramble. 698 00:33:15,740 --> 00:33:17,960 >> Breakout estis problemo metis lastan jaron, kien 699 00:33:17,960 --> 00:33:21,530 vi uzu tiujn novajn trovita programado kapablecojn por fakte implementar 700 00:33:21,530 --> 00:33:24,840 ludo wherein-- kiel vi eble memoras de childhood-- 701 00:33:24,840 --> 00:33:28,040 la celo estis Bash la brikoj kiuj estas sur la pinto de la ekrano 702 00:33:28,040 --> 00:33:30,190 tie, amasigante noti survoje, 703 00:33:30,190 --> 00:33:35,460 kaj efektivigi viajn proprajn algoritmojn kun kiu tiu solvo finfine 704 00:33:35,460 --> 00:33:37,357 permesas ludi la ludon. 705 00:33:37,357 --> 00:33:39,440 Dume, poste en la semestro, ni donos al vi 706 00:33:39,440 --> 00:33:43,470 vortaro de 143.091 anglaj vortoj. 707 00:33:43,470 --> 00:33:46,300 Kaj vi estos defiita skribi programon kiu 708 00:33:46,300 --> 00:33:50,260 literumi ĉekoj, dokumentoj, per ŝarĝi ke multaj vortoj en memoro 709 00:33:50,260 --> 00:33:52,300 kiel kompetente kiel ebla. 710 00:33:52,300 --> 00:33:54,240 Ĝenerale pitting vin kontraŭ viaj samklasanoj 711 00:33:54,240 --> 00:33:56,610 Se vi elektas en iom de defio en ĉefo tabulo 712 00:33:56,610 --> 00:34:00,090 por vidi kiu povas uzi la malplej duaj de rultempo, 713 00:34:00,090 --> 00:34:03,550 kaj la malplej kvanto de megabajtoj da memoro, 714 00:34:03,550 --> 00:34:08,659 kaj fakte Pliprecizigi viaj programoj esti nekredeble de rimedoj eficiente ne 715 00:34:08,659 --> 00:34:09,820 nur tempon. 716 00:34:09,820 --> 00:34:13,239 >> Pasintjare tro, ni rigardis la fino de la semestro ĉe ttt programado. 717 00:34:13,239 --> 00:34:16,230 Kaj efektive, ni faru tion denove ĉi jaro kun multnombraj problemo aroj, 718 00:34:16,230 --> 00:34:20,290 enkonduki vin al la teknikoj kaj la pensmanieron per kiu vi povas apliki 719 00:34:20,290 --> 00:34:23,489 tiuj programado kapablecoj por retejoj, dinamikaj retejoj, 720 00:34:23,489 --> 00:34:26,639 retejojn kiuj efektive solvi problemoj kaj kondutos malsame 721 00:34:26,639 --> 00:34:30,620 kaj ne simple statikaj ejoj kun statika informo. 722 00:34:30,620 --> 00:34:32,854 >> La fina projekto finfine difinos, kvankam, 723 00:34:32,854 --> 00:34:34,770 La klimakso de la kurso por lernantoj, kiuj 724 00:34:34,770 --> 00:34:37,228 vi estos defiita implementar plej ion de intereso 725 00:34:37,228 --> 00:34:40,590 al vi, tiel longe kiel ĝi iel flamo sur la kurso lecionoj. 726 00:34:40,590 --> 00:34:42,930 >> Kaj ke vi vidis la video ĉe la komenco, 727 00:34:42,930 --> 00:34:47,340 Ni finos la semestro kun la CS50 Hackathon, kiu se, nekonataj, 728 00:34:47,340 --> 00:34:51,420 komencos ĉe 7:00 PM nokton kaj enflui 7:00 AM la sekva mateno. 729 00:34:51,420 --> 00:34:53,614 Ĉirkaŭ 9:00 am, ni ordo en la unua vespermanĝo. 730 00:34:53,614 --> 00:34:55,489 Ĉirkaŭ 1:00 AM, ni ordo en duan vespermanĝon. 731 00:34:55,489 --> 00:34:57,490 Kaj se vi estas ankoraŭ starante ĉe 5:00 AM, ni 732 00:34:57,490 --> 00:35:00,320 volo shuttle buso al IHOP por matenmanĝo. 733 00:35:00,320 --> 00:35:04,980 >> La CS50 Foiro, dume, estas evento al kiu 2.000 plus fakultato, studentoj, 734 00:35:04,980 --> 00:35:07,850 kaj bastono el trans campus volo veni vidi vian atingoj 735 00:35:07,850 --> 00:35:10,150 en la kurso kaj la fino projektoj kaj kreaĵoj 736 00:35:10,150 --> 00:35:14,960 ke vi kreas vian tekkomputiloj, labortabloj, aŭ eble eĉ ampoloj. 737 00:35:14,960 --> 00:35:17,340 >> Dume, oficejo horoj kaj la apogo strukturo. 738 00:35:17,340 --> 00:35:20,480 Kaj nun ĝi jam estis bona tempo por alporti al vi ĉiujn supren. 739 00:35:20,480 --> 00:35:24,310 >> Oficejo horoj okazos kvar noktoj semajne por multnombraj horoj ĉiunokte 740 00:35:24,310 --> 00:35:27,710 kun ĝenerale 20 al 30 de la Kompreneble bastono deĵoras senprokraste 741 00:35:27,710 --> 00:35:31,240 provizi vin kun intima unu-sur-unu ŝancojn subteno 742 00:35:31,240 --> 00:35:33,790 kun la paso de la problemo aroj. 743 00:35:33,790 --> 00:35:36,120 Tutoring tro estos disponebla, aparte 744 00:35:36,120 --> 00:35:39,630 por studentoj malpli comfortable-- aŭ Supozeble almenaŭ comfortable-- por kiu 745 00:35:39,630 --> 00:35:41,869 oficejo horoj ne estas la plej akcelis medio 746 00:35:41,869 --> 00:35:43,660 kaj certe ne la plej streso-libera. 747 00:35:43,660 --> 00:35:47,430 Speciale kiam templimoj estas premita, ni proactivamente duo vi mem 748 00:35:47,430 --> 00:35:51,440 kun membro de la stabo labori kun en iu regula horaro kiel viaj necesecoj 749 00:35:51,440 --> 00:35:53,850 kaj ilia horaro permesas. 750 00:35:53,850 --> 00:35:55,260 >> Kaj bastono. 751 00:35:55,260 --> 00:36:01,020 Permesu al mi prezenti Davon, Rob, kaj Gabriel, ĉijara kapoj. 752 00:36:01,020 --> 00:36:02,370 Se vi estus ĉiu ŝatas say-- 753 00:36:02,370 --> 00:36:03,349 >> [Aplaŭdo] 754 00:36:03,349 --> 00:36:03,849 --a vorto. 755 00:36:03,849 --> 00:36:05,328 [Aplaŭdo] 756 00:36:05,328 --> 00:36:10,270 757 00:36:10,270 --> 00:36:13,220 Davon super tie estas la Certe la direktisto, kiu 758 00:36:13,220 --> 00:36:15,730 signifas en lia plentempa rolon li helpas kun la ekzekuto 759 00:36:15,730 --> 00:36:18,424 kaj loĝistiko de CS50. 760 00:36:18,424 --> 00:36:19,340 DAVON: Yeah, hi, knaboj. 761 00:36:19,340 --> 00:36:20,965 Vi vidos multajn al mi en oficejo horoj. 762 00:36:20,965 --> 00:36:22,110 Mi povas instrui sekcioj. 763 00:36:22,110 --> 00:36:25,150 Kaj se vi pafos retmesaĝoj antaŭe, Mi probable respondi. 764 00:36:25,150 --> 00:36:27,670 Do mi vidos multan vi ĉiuj semestro. 765 00:36:27,670 --> 00:36:29,890 Kaj bonvenon al CS50. 766 00:36:29,890 --> 00:36:38,330 >> DAVID J. Malan: Nun Gabriel, kiu mem estis nur novulo lastan jaron, 767 00:36:38,330 --> 00:36:41,820 sed dum la pasintaj kelkaj jaroj havas estis operaciante sian propran version de CS50 768 00:36:41,820 --> 00:36:44,660 en Brazilo, per kiu li elŝutis ĉiuj kurso content-- 769 00:36:44,660 --> 00:36:46,890 kio estas klare esti filmado kaj metita online-- 770 00:36:46,890 --> 00:36:51,480 tiel ke li povus traduki ĝin al Portugala kaj tiam instruu pli ol 100 771 00:36:51,480 --> 00:36:54,610 el lia samklasanoj super la kurso de paro de jaroj, 772 00:36:54,610 --> 00:36:57,650 instruante en sia denaska lingvo la kurso kursaro. 773 00:36:57,650 --> 00:36:58,964 >> GABRIEL: Saluton. 774 00:36:58,964 --> 00:37:00,912 >> [Aplaŭdo] 775 00:37:00,912 --> 00:37:06,669 776 00:37:06,669 --> 00:37:07,710 GABRIEL: Saluton, mi estas Gabriel. 777 00:37:07,710 --> 00:37:09,340 Mi la kapon TF de la kurso. 778 00:37:09,340 --> 00:37:10,780 Kaj mi esperas, ke vi amas CS50. 779 00:37:10,780 --> 00:37:12,830 Jen CS50. 780 00:37:12,830 --> 00:37:14,697 >> DAVID J. Malan: Nun por Rob. 781 00:37:14,697 --> 00:37:15,780 Ho, vi volas enkondukon? 782 00:37:15,780 --> 00:37:16,696 >> ROB: Ne, mi ne scias. 783 00:37:16,696 --> 00:37:18,225 [Ridado] 784 00:37:18,225 --> 00:37:19,475 DAVID J. Malan: Kaj Rob Boden. 785 00:37:19,475 --> 00:37:22,300 [Ridado] 786 00:37:22,300 --> 00:37:23,800 ROB: Saluton, mi estas Rob. 787 00:37:23,800 --> 00:37:27,220 Tiu estas mia kvina jaro implikita kun la kurso. 788 00:37:27,220 --> 00:37:29,220 Ĉiujare estas nur pli kaj pli bona klaso, 789 00:37:29,220 --> 00:37:31,550 tial vi uloj estas klare tuj estos imponega. 790 00:37:31,550 --> 00:37:33,181 Mi esperas ke vi ĉiuj havas amuzon kun ĝi. 791 00:37:33,181 --> 00:37:34,430 Mi tuj amuzos kun ĝi. 792 00:37:34,430 --> 00:37:36,670 Do vidu vin. 793 00:37:36,670 --> 00:37:38,445 >> DAVID J. Malan: Kaj tempo ne permesas us-- 794 00:37:38,445 --> 00:37:39,670 >> [Aplaŭdo] 795 00:37:39,670 --> 00:37:41,661 >> Tempo ne permesis al ni enkonduki ĉiuj 796 00:37:41,661 --> 00:37:44,660 sur la scenejo kaj ĉiuj liaj kolegoj kiuj aĉetojn klasoj hodiaŭ. 797 00:37:44,660 --> 00:37:47,390 Sed permesu al mi prezenti Belinda kaj CS50 Puzlo 798 00:37:47,390 --> 00:37:49,550 Tago, kiu atendas ĉi venanta Sabato, kiu 799 00:37:49,550 --> 00:37:51,800 Estas la unua de la Certe la grandskala okazaĵoj. 800 00:37:51,800 --> 00:37:54,300 >> Ĉi tiu en aparta signifis al martelo domo la punkto 801 00:37:54,300 --> 00:37:57,580 ke komputiko estas finfine ne pri programado, sed prefere 802 00:37:57,580 --> 00:37:59,280 pri problemo solvanta pli ĝenerale. 803 00:37:59,280 --> 00:38:01,450 Kaj Puzzle Tago, kiel vi vidu, venigos vin 804 00:38:01,450 --> 00:38:04,207 kaj via samklasanoj together-- Ni esperas, ke tiu sabato. 805 00:38:04,207 --> 00:38:04,961 >> Belinda: OK. 806 00:38:04,961 --> 00:38:05,750 Saluton, infanoj. 807 00:38:05,750 --> 00:38:06,740 Do dankon. 808 00:38:06,740 --> 00:38:10,120 Do kiel nia ilustras kapitano diris mia nomo Belinda. 809 00:38:10,120 --> 00:38:12,100 Mi estas sophomore ĉe Quincy House. 810 00:38:12,100 --> 00:38:15,730 >> Mi nur ŝatas vin, knaboj, kaptis CS50 lasta jaro, vere amis ŝin. 811 00:38:15,730 --> 00:38:17,960 Mi havas debilidad por vi uloj en la tria vico. 812 00:38:17,960 --> 00:38:21,384 Kaj Mi fieras diri, mi estas nun en la rilato 813 00:38:21,384 --> 00:38:22,300 kun CS50 [inaudible]. 814 00:38:22,300 --> 00:38:22,799 OK. 815 00:38:22,799 --> 00:38:26,140 Tio estis mia lama versio de ŝerco. 816 00:38:26,140 --> 00:38:28,320 >> Ĉiuokaze, do movi plu, nur volis inviti 817 00:38:28,320 --> 00:38:31,439 vi uloj ĉiujn al la i-laboratorio aux HBS abelujoj. 818 00:38:31,439 --> 00:38:33,730 Ni tuj estos devi Puzzle Tago de 12:00 al 3:00. 819 00:38:33,730 --> 00:38:37,680 Kaj estas granda ŝanco por vi infanoj por kontentigi vian proksimulon CS amikojn 820 00:38:37,680 --> 00:38:42,780 solvos iu ne-CS enigmoj, kiel Kapitano menciis, kaj manĝas ankaŭ iom da libera manĝo, 821 00:38:42,780 --> 00:38:46,910 gajni iom timinda premiojn, kiel donaco kartoj, $ 75 po persono, 822 00:38:46,910 --> 00:38:48,400 kaj also-- kio estis tio? 823 00:38:48,400 --> 00:38:49,540 Wii Aŭ ia? 824 00:38:49,540 --> 00:38:50,333 Wii Aŭ? 825 00:38:50,333 --> 00:38:51,040 Jes. 826 00:38:51,040 --> 00:38:52,330 Por nia loterio. 827 00:38:52,330 --> 00:38:52,830 Awesome. 828 00:38:52,830 --> 00:38:54,310 Do mi batas ĉirkaŭ post klaso. 829 00:38:54,310 --> 00:38:56,770 Kaj se vi infanoj havas ajnan demandojn, lasu min scii. 830 00:38:56,770 --> 00:38:59,980 >> DAVID J. Malan: Kaj vi vidos, preter ĉi tie estas nenio por fari hodiaŭ. 831 00:38:59,980 --> 00:39:01,920 La unua problemo starigis eliros Vendredo. 832 00:39:01,920 --> 00:39:05,420 Sed, por venigi nin al domo hodiaŭ, mi ŝatus enkondukos vin specife pli 833 00:39:05,420 --> 00:39:09,080 membro de la stabo, Colton Ogden tie, kies manoj estas nun 834 00:39:09,080 --> 00:39:12,250 protektatino supre vin tiu MIDI adaptilo 835 00:39:12,250 --> 00:39:15,170 al martelo domo la punkto pli ke komputiko, tro, 836 00:39:15,170 --> 00:39:19,130 havas aplikeblon malproksime trans inĝenierio kaj tigo kaj komputiko mem, 837 00:39:19,130 --> 00:39:22,890 etendante gxis tia domajnoj kiel muziko. 838 00:39:22,890 --> 00:39:30,590 >> Colton havas afable offered-- mi pensis unu el ili tuj riparos la fokuso. 839 00:39:30,590 --> 00:39:34,400 Andreo, se ni povus kunvoki fokuso tien por nur momento. 840 00:39:34,400 --> 00:39:36,780 >> Kio Colton faris anticipe estas programo 841 00:39:36,780 --> 00:39:40,345 tiu mekanismo, ĉi kajero de butonoj ke vi vidas bildigis ĉi tie, 842 00:39:40,345 --> 00:39:42,470 kiel MIDI adaptilo, per ĉiu el tiuj butonoj 843 00:39:42,470 --> 00:39:47,080 estas telegramis al aparta muzika noto aŭ sonon, pli ĝenerale registrado, 844 00:39:47,080 --> 00:39:50,445 tia ke ludante mastroj de tiuj butonoj, multe kiel mastroj de bitoj, 845 00:39:50,445 --> 00:39:52,620 povas reprezenti aliajn alta nivelo konceptoj. 846 00:39:52,620 --> 00:39:56,750 Ĉu li povos finfine preni nin hejme hodiaŭ? 847 00:39:56,750 --> 00:39:59,540 Sen pli enkonduko, se ni povis malhelan la lumoj, 848 00:39:59,540 --> 00:40:03,145 kaj ŝalti la ekrano malantaŭ Colton. 849 00:40:03,145 --> 00:40:03,865 >> Publiko: Woo! 850 00:40:03,865 --> 00:40:06,090 >> DAVID J. Malan: Jen CS50. 851 00:40:06,090 --> 00:40:10,518 >> [MUZIKO Ludante] 852 00:40:10,518 --> 00:42:46,018 853 00:42:46,018 --> 00:42:49,420 >> [Aplaŭdo] 854 00:42:49,420 --> 00:42:54,766 855 00:42:54,766 --> 00:42:56,450 >> Estas tio por CS50. 856 00:42:56,450 --> 00:42:57,950 Ni vidos vin Vendredo. 857 00:42:57,950 --> 00:42:59,890 Iuj kuko atendas vin en la transepto. 858 00:42:59,890 --> 00:43:04,046 859 00:43:04,046 --> 00:43:08,850 >> [MUZIKO Ludante] 860 00:43:08,850 --> 00:45:49,227