1 00:00:00,000 --> 00:00:03,440 >> [Predvajanje glasbe] 2 00:00:03,440 --> 00:01:57,217 3 00:01:57,217 --> 00:02:00,710 >> [APLAVZ] 4 00:02:00,710 --> 00:02:05,700 5 00:02:05,700 --> 00:02:09,669 >> DAVID J. Malan: To je CS50, Uvedba Harvard University 6 00:02:09,669 --> 00:02:12,370 do intelektualne podjetja računalništva 7 00:02:12,370 --> 00:02:14,180 in umetnost programiranja. 8 00:02:14,180 --> 00:02:17,530 Zdaj, če ste med tistimi, ki Vsako leto se sedi tukaj 9 00:02:17,530 --> 00:02:21,450 z malo živcev v tvoji glavi, kot da misliš, da ne spadaš sem, 10 00:02:21,450 --> 00:02:24,270 misliš, da je večina kdo sedi okoli vas 11 00:02:24,270 --> 00:02:27,730 ve veliko več kot ti, je res bolj udobno kot ti na računalniku 12 00:02:27,730 --> 00:02:30,430 znanost ali računalniki bolj splošno, zavedati 13 00:02:30,430 --> 00:02:36,140 da 78% študentov, ki so zdaj da CS50 nimajo predhodnih izkušenj. 14 00:02:36,140 --> 00:02:39,570 >> Dejansko pa je 100 pik ni na zaslonu, ki 78 15 00:02:39,570 --> 00:02:43,540 so sveti zeleno, kar pomeni, da vam, če ste med tem demografske, 16 00:02:43,540 --> 00:02:46,420 so v zelo dobri družbi tukaj ven. 17 00:02:46,420 --> 00:02:50,320 In če ste namesto med 22% CS50 študentov, ki bi dejansko 18 00:02:50,320 --> 00:02:53,920 imajo predhodne izkušnje, bodisi v visoka šola ali kakšen drug program 19 00:02:53,920 --> 00:02:56,430 Zavedam se, da vas bo tudi mogoče izpodbijati v teku. 20 00:02:56,430 --> 00:02:59,930 >> Ne samo, da imamo različne skladbe za študente manj udoben in bolj 21 00:02:59,930 --> 00:03:03,789 udobno podobni v oddelkih, smo Prav tako so ti hekerjev izdaj 22 00:03:03,789 --> 00:03:06,080 najbolj problem določa, da bo izziv te študente 23 00:03:06,080 --> 00:03:09,650 s tem dodatnih izkušenj raziskati podoben material 24 00:03:09,650 --> 00:03:12,140 ampak iz več prefinjen perspektiva. 25 00:03:12,140 --> 00:03:13,900 >> Toda kaj je računalništvo? 26 00:03:13,900 --> 00:03:17,750 No, na koncu, kaj se dogaja, da glede na to, kot ste raziskati to področje ni 27 00:03:17,750 --> 00:03:20,500 Toliko, kjer boste na koncu v primerjavi s sošolci, 28 00:03:20,500 --> 00:03:25,350 ampak, ko ste sami znašli v 12. teden v primerjavi, kjer ste začeli tukaj 29 00:03:25,350 --> 00:03:26,720 v nič teden. 30 00:03:26,720 --> 00:03:31,850 Sedaj računalnik science-- dobro, kaj je pravijo znanost computation-- 31 00:03:31,850 --> 00:03:35,910 kjer je računanje res samo fancy način rekel, ob nekaj vhod, 32 00:03:35,910 --> 00:03:39,460 proizvede nekaj izhod, in tem, ki jih vozijo algoritmov, 33 00:03:39,460 --> 00:03:43,700 kompleti navodila za reševanje nekateri problem za te vložke 34 00:03:43,700 --> 00:03:48,460 da bi proizvedli neko proizvodnjo ali rešitev, ki vas zanima. 35 00:03:48,460 --> 00:03:51,310 >> Tako smo pred kratkim imeli priložnost za potovanje iz 36 00:03:51,310 --> 00:03:53,170 v Kalifornijo, da izpolnjujejo z alumna. 37 00:03:53,170 --> 00:03:54,650 Njeno ime je Susan Wojcicki. 38 00:03:54,650 --> 00:03:57,190 In bi rada, da govorijo da si tukaj na video 39 00:03:57,190 --> 00:04:01,690 pričajo, kako se uporablja celo samo okus računalnika 40 00:04:01,690 --> 00:04:03,770 znanost na uvodni ravni lahko. 41 00:04:03,770 --> 00:04:06,870 Tudi če ne boste šli na opravljanje računalništva kot področje, 42 00:04:06,870 --> 00:04:09,330 ali celo inženiring, ali STEM bolj splošno, 43 00:04:09,330 --> 00:04:12,360 boste videli, v resnici, kako nekateri Seveda tako vplivali svoje življenje. 44 00:04:12,360 --> 00:04:16,630 In ona ga šele, ko se je ona je bil višji tukaj na Harvardu. 45 00:04:16,630 --> 00:04:19,482 >> Če bi lahko zatemnite za Susan. 46 00:04:19,482 --> 00:04:20,690 SUSAN Wójcicki: Pozdravljen, svet. 47 00:04:20,690 --> 00:04:22,100 Jaz sem Susan Wojcicki. 48 00:04:22,100 --> 00:04:24,110 Jaz sem predsednik uprave YouTube. 49 00:04:24,110 --> 00:04:29,150 In sem CS50, ko sem bil višji na Harvardu leta 1990. 50 00:04:29,150 --> 00:04:31,220 Bil sem pravzaprav zgodovina in literature velik. 51 00:04:31,220 --> 00:04:36,760 >> In moj junior poletje, Spoznal sem, da morda sem 52 00:04:36,760 --> 00:04:39,060 želeli, da se naučijo nekaj o računalnikih. 53 00:04:39,060 --> 00:04:40,930 In tako sem se vrnil. 54 00:04:40,930 --> 00:04:42,500 Vzel sem CS50. 55 00:04:42,500 --> 00:04:46,940 Težko je, vendar je bilo Najbolj neverjetno razreda sem. 56 00:04:46,940 --> 00:04:49,630 >> Je spremenila, kako mislim o vsem. 57 00:04:49,630 --> 00:04:55,810 In ko sem diplomiral na Harvardu Leta 1990 sem odšel v Silicijevi dolini. 58 00:04:55,810 --> 00:04:57,140 In sem dobil službo. 59 00:04:57,140 --> 00:05:00,150 In sem delal V tech, odkar. 60 00:05:00,150 --> 00:05:02,650 DAVID J. Malan: Zdaj kaj Susan ni omenil v tem videu, 61 00:05:02,650 --> 00:05:05,340 da je bilo dejansko v njej garaža, da je Google sam 62 00:05:05,340 --> 00:05:07,420 Larry in Sergey utemeljen. 63 00:05:07,420 --> 00:05:11,169 >> Zdaj smo tudi dosegel, da naše prijatelje na code.org, organizacije, ki 64 00:05:11,169 --> 00:05:13,460 V preteklem letu je bilo pridobivanje ljudi, zlasti 65 00:05:13,460 --> 00:05:16,520 navdušen računalništva in programiranje, zlasti. 66 00:05:16,520 --> 00:05:20,590 Vendar je treba omeniti, da se načrtovanje ni računalniško znanost sama po sebi. 67 00:05:20,590 --> 00:05:22,090 Računalništvo ni programiranje. 68 00:05:22,090 --> 00:05:24,560 Namesto programiranje je samo tool-- s katerimi vsemi vami 69 00:05:24,560 --> 00:05:27,510 bo vse preveč dobro seznanjeni z end-- semester 70 00:05:27,510 --> 00:05:30,650 tako, da jih lahko uporabljajo ne samo da bi prihodnje tečaji v CS 71 00:05:30,650 --> 00:05:33,670 ampak na kakršenkoli področjih, od koder pridete v humanistiki, 72 00:05:33,670 --> 00:05:36,090 družbene vede, naravna znanost ali podobno. 73 00:05:36,090 --> 00:05:39,740 >> Dejansko, dovolite nekaj drugih alumni in njihovi sodelavci 74 00:05:39,740 --> 00:05:43,400 govoriti uporabnosti polja, ki čaka. 75 00:05:43,400 --> 00:05:52,340 76 00:05:52,340 --> 00:05:57,350 >> Bill Gates: sem bila 13, ko sem Prvi nimajo dostopa do računalnika. 77 00:05:57,350 --> 00:06:00,485 >> JACK DORSEY: Moji starši Kupil mi Macintosh leta 1984 78 00:06:00,485 --> 00:06:01,640 ko sem bil osem let star. 79 00:06:01,640 --> 00:06:02,990 >> Mark Zuckerberg: Bil sem v šestem razredu. 80 00:06:02,990 --> 00:06:04,670 >> ZVOČNIK 1: naučil sem kodo na fakulteti. 81 00:06:04,670 --> 00:06:09,080 >> Ruchi SANGHVI: Freshman leto, prva semester, Uvod v računalništvo. 82 00:06:09,080 --> 00:06:11,850 >> Bill Gates: sem napisal program da je igral križce in krožce. 83 00:06:11,850 --> 00:06:14,100 >> DREW HOUSTON: Mislim, da je zelo skromnih začetkov. 84 00:06:14,100 --> 00:06:16,370 Mislim, da prvi program Napisal sem vprašal stvari, kot so, 85 00:06:16,370 --> 00:06:17,820 kakšna je tvoja najljubša barva? 86 00:06:17,820 --> 00:06:18,696 Ali koliko si star? 87 00:06:18,696 --> 00:06:21,070 ELENA SILENOK: Najprej sem se naučil kako narediti zelen krog 88 00:06:21,070 --> 00:06:23,670 in rdeči kvadrat prikaže na zaslonu. 89 00:06:23,670 --> 00:06:25,420 Gabe NEWELL: prvi čas, pravzaprav sem imel 90 00:06:25,420 --> 00:06:27,360 Nekaj ​​prišel in rekel, zdravo, svet. 91 00:06:27,360 --> 00:06:29,710 In sem računalnik storiti. 92 00:06:29,710 --> 00:06:30,850 Bilo je samo presenetljivo. 93 00:06:30,850 --> 00:06:33,224 >> Mark Zuckerberg: Učenje, kako programu ni začnete 94 00:06:33,224 --> 00:06:35,450 z željo, da se naučijo vse računalništva 95 00:06:35,450 --> 00:06:38,630 ali poskuša, da bi obvladali to discipline ali kaj podobnega. 96 00:06:38,630 --> 00:06:41,591 To šele začelo, ker I želeli, da to stori eno preprosto stvar. 97 00:06:41,591 --> 00:06:44,340 Želel sem narediti nekaj, je bilo zabavno za mene in moje sestre. 98 00:06:44,340 --> 00:06:46,399 >> In sem napisal tale program. 99 00:06:46,399 --> 00:06:48,440 In potem v bistvu samo dodamo malo za njo. 100 00:06:48,440 --> 00:06:49,930 In potem, ko sem potreboval da se naučijo nekaj novega, 101 00:06:49,930 --> 00:06:52,210 Sem ga pogledal, bodisi v knjigo ali na internetu, 102 00:06:52,210 --> 00:06:53,240 in nato dodamo malo za njo. 103 00:06:53,240 --> 00:06:56,300 >> DREW HOUSTON: To je res ni v nasprotju igranje instrumenta ali kaj 104 00:06:56,300 --> 00:07:00,007 ali igranje šport. 105 00:07:00,007 --> 00:07:01,090 DAVID J. Malan: Dobro. 106 00:07:01,090 --> 00:07:04,120 Torej nam pustite zdaj dejansko potopite malo globlje. 107 00:07:04,120 --> 00:07:07,430 Kaj so ti vhodi in izhodi da govorimo o tukaj? 108 00:07:07,430 --> 00:07:09,110 >> Torej, kaj pa nekaj preprostega? 109 00:07:09,110 --> 00:07:12,120 Vi verjetno veste, tudi če imate no poznavanje računalništva 110 00:07:12,120 --> 00:07:16,570 nje, da računalniki nekako uporabiti in razume le ničel in enic. 111 00:07:16,570 --> 00:07:20,500 Ampak, kako je to mogoče dati, kako veliko današnjih namiznih in prenosnih računalnikov podobni 112 00:07:20,500 --> 00:07:21,280 lahko storite? 113 00:07:21,280 --> 00:07:24,310 >> DNA dan, samo alphabet, da razumejo 114 00:07:24,310 --> 00:07:26,410 je nič ali ena. 115 00:07:26,410 --> 00:07:27,470 No, da je to. 116 00:07:27,470 --> 00:07:30,840 Mi, ljudje, nagnjeni k uporabi decimalnega sistema. "December", kar pomeni 10. 117 00:07:30,840 --> 00:07:33,970 In to je 10, ker imamo 10 številk, od 0 do devet. 118 00:07:33,970 --> 00:07:36,180 >> Zdaj računalniki, nasprotno, nagibajo k uporabi binarno. 119 00:07:36,180 --> 00:07:37,270 "Bi", kar pomeni dva. 120 00:07:37,270 --> 00:07:39,560 Torej so ponavadi samo nič in eno za uporabo. 121 00:07:39,560 --> 00:07:42,680 Ampak se je izkazalo, da je tudi samo ničle in enic, da 122 00:07:42,680 --> 00:07:45,900 je dovolj velik abeceda s katerimi bi predstavljajo najbolj 123 00:07:45,900 --> 00:07:48,490 katerikoli podatek, ki ga želite, ali je to številka, 124 00:07:48,490 --> 00:07:52,100 ali je to pismo, ali je to grafično ali video na zaslonu. 125 00:07:52,100 --> 00:07:57,140 >> Razmislite, na primer, kako smo ljudje, interpretirajo to številko tukaj. 126 00:07:57,140 --> 00:08:00,010 To je le tri številke, ena, dva, tri. 127 00:08:00,010 --> 00:08:04,570 Vemo pa to številko prirojeno zdaj kot 123. 128 00:08:04,570 --> 00:08:05,510 Ampak zakaj je to? 129 00:08:05,510 --> 00:08:07,570 >> No, če misliš nazaj da morda razredu šole, 130 00:08:07,570 --> 00:08:11,700 boste verjetno naučili razmišljati o Te številke so pa v stolpcih, 131 00:08:11,700 --> 00:08:14,700 če je eden na sto mesto, dve je v več deset mestu, 132 00:08:14,700 --> 00:08:16,360 in tri v tisti mestu. 133 00:08:16,360 --> 00:08:17,790 Zakaj je to dejansko uporabna? 134 00:08:17,790 --> 00:08:19,665 No, pomislite super preprosta aritmetična 135 00:08:19,665 --> 00:08:22,219 da smo bili vsi delal za let. 136 00:08:22,219 --> 00:08:24,510 Učinkovito, če imaš ena na stotine mestu, 137 00:08:24,510 --> 00:08:29,610 vam hitro math 100 krat 1 plus 10-krat 2-- 138 00:08:29,610 --> 00:08:33,059 ker sta se v več deset lokal je-- plus 1 krat 3-- 139 00:08:33,059 --> 00:08:34,830 ker tri je tisti mestu. 140 00:08:34,830 --> 00:08:37,039 Torej, seveda, če želimo dejansko množijo tole, 141 00:08:37,039 --> 00:08:39,600 kaj smo v resnici predstavlja s tem pattern-- eno 142 00:08:39,600 --> 00:08:46,150 dva three-- je 100 plus 20 plus 3, ki je, seveda, je 123. 143 00:08:46,150 --> 00:08:51,130 >> Zdaj binarna in računalniki res, bistveno govorijo isti jezik 144 00:08:51,130 --> 00:08:51,680 da storimo. 145 00:08:51,680 --> 00:08:53,400 Imajo samo manjši abecedo. 146 00:08:53,400 --> 00:08:57,100 Torej računalniki imajo samo ničle in tisti, ki so jim na razpolago. 147 00:08:57,100 --> 00:09:02,500 Torej, ker so v bistvu smo ljudje Pooblastila 10 v vsaki od teh places-- 148 00:09:02,500 --> 00:09:06,810 10 na nič, 10 na eno, deset za dve osebi, ki vam daje 110 in 100 149 00:09:06,810 --> 00:09:07,700 oz. 150 00:09:07,700 --> 00:09:12,140 >> Ker računalniki imajo le dve vrednosti jih lahko razumemo, nič in ena, 151 00:09:12,140 --> 00:09:16,600 morajo uporabiti različne vrednosti v teh stolpcih, ena, dva, štiri. 152 00:09:16,600 --> 00:09:20,480 In če bo ohranil, osem, 16, 32, 64, in tako naprej. 153 00:09:20,480 --> 00:09:24,220 Ampak vzorec in mentaliteta je povsem enako. 154 00:09:24,220 --> 00:09:27,340 >> Torej po tej logiki, kdorkoli, kako bi Grem pa predstavlja število 155 00:09:27,340 --> 00:09:28,530 eno v binarno? 156 00:09:28,530 --> 00:09:33,080 Če še nikoli niste niti pomislili prej, kaj vaš gut rekel? 157 00:09:33,080 --> 00:09:33,777 >> OBČINSTVO: One. 158 00:09:33,777 --> 00:09:34,610 DAVID J. Malan: One. 159 00:09:34,610 --> 00:09:35,660 Točno tako. 160 00:09:35,660 --> 00:09:38,100 Pravkar smo potrebovali eno v posameznikova mesto, ker ničel 161 00:09:38,100 --> 00:09:40,610 zadostuje, da bi se nam ne štiri ali dve. 162 00:09:40,610 --> 00:09:42,440 Torej, en krat ena enaka ena. 163 00:09:42,440 --> 00:09:43,940 Zdaj se stvari malo zanimivo. 164 00:09:43,940 --> 00:09:46,830 Če želim, da zastopa v binarno število Druga stvar, ampak, 165 00:09:46,830 --> 00:09:49,790 še enkrat, tudi če ste nikoli Pred govorijo ta jezik, 166 00:09:49,790 --> 00:09:54,680 kako jih predstavljamo v binarno da smo ljudje vrednosti poznamo kot dvema? 167 00:09:54,680 --> 00:09:55,570 Nič od nič. 168 00:09:55,570 --> 00:09:57,620 Samo dal eno v stolpec, ki ga želite. 169 00:09:57,620 --> 00:09:59,560 >> Zdaj pa postaja precej enostavno verjetno zdaj. 170 00:09:59,560 --> 00:10:02,950 Torej, če želim, da zastopa three-- je stolpec Nobena tri stranke. 171 00:10:02,950 --> 00:10:06,770 Torej, še enkrat, sem lahko zdaj dodate te vrednote skupaj z uvedbo enega tukaj. 172 00:10:06,770 --> 00:10:10,320 Torej 2-krat 1 plus 1 krat 1 je, seveda, 3. 173 00:10:10,320 --> 00:10:13,480 >> Zdaj se stvari malo zabave v da tisti, ki je sedaj postal ničle. 174 00:10:13,480 --> 00:10:15,480 In predstavljajo štiri, sem dobil to. 175 00:10:15,480 --> 00:10:19,310 In če smo prirastek počasi tu--, da bi bilo pet. 176 00:10:19,310 --> 00:10:20,700 To bi bilo šest. 177 00:10:20,700 --> 00:10:22,100 To bi bilo sedem. 178 00:10:22,100 --> 00:10:25,310 >> Zdaj pa se zdi, da ima naletijo na problem. 179 00:10:25,310 --> 00:10:30,520 Kako bi šel približno zastopajo eight-- bo naslednja vrednost. 180 00:10:30,520 --> 00:10:31,900 Ja, zato potrebujemo novo bitov. 181 00:10:31,900 --> 00:10:33,899 In, seveda, če ste slišal te besede, 182 00:10:33,899 --> 00:10:37,380 bitov, ki je samo za kratek binarna števka, nič ali ena. 183 00:10:37,380 --> 00:10:41,520 >> In tako sem se zgodi, da se predstavljajo le tri takšne bitov tukaj. 184 00:10:41,520 --> 00:10:44,900 Ampak, če sem imel način skladiščenja ne tri različne bitov, ampak štiri, 185 00:10:44,900 --> 00:10:47,250 Zagotovo sem lahko predstavljajo osem, nato pa devet, in nato 186 00:10:47,250 --> 00:10:49,400 10, in še višje in višje. 187 00:10:49,400 --> 00:10:52,140 >> Ampak da pokliče na vprašanje, kako lahko 188 00:10:52,140 --> 00:10:54,540 iti okoli predstavljajo ti stvari na prvem mestu. 189 00:10:54,540 --> 00:10:56,950 To je ena stvar, da pripravi jim tukaj na slide up, 190 00:10:56,950 --> 00:11:00,660 ampak kako si jih predstavljajo če ste mehansko napravo? 191 00:11:00,660 --> 00:11:04,390 Kaj je računalnik počne predstavljajo vhode in izhode, ki 192 00:11:04,390 --> 00:11:09,020 bistveno opredeljujejo izračun na koncu dneva? 193 00:11:09,020 --> 00:11:12,090 >> No, kaj o nečem super enostavno, kot je ta? 194 00:11:12,090 --> 00:11:13,200 To je samo žarnica. 195 00:11:13,200 --> 00:11:15,460 In to lahko sproži žarnica, da gredo na 196 00:11:15,460 --> 00:11:17,920 z vrtenjem nekaj elektrike na in omogočajo elektroni 197 00:11:17,920 --> 00:11:22,585 teče skozi, kar spremeni njeno država ali njena vrednost, tako rekoč. 198 00:11:22,585 --> 00:11:24,460 Na primer, to je desk lamp old school 199 00:11:24,460 --> 00:11:27,250 tu z eno tako žarnica znotraj njega. 200 00:11:27,250 --> 00:11:29,940 In zdaj je ni res počel kaj koristnega. 201 00:11:29,940 --> 00:11:32,680 Toda takoj, ko sem jo priključite v električno vtičnico 202 00:11:32,680 --> 00:11:36,390 in potem uporabite to switch-- ali bomo lahko tudi imenujemo tranzistor 203 00:11:36,390 --> 00:11:39,970 ali pomislite, da je such-- Zdaj lahko predstavljajo bodisi 204 00:11:39,970 --> 00:11:44,120 ta vrednost, kadar žarnica je očitno off, ali je ta vrednost. 205 00:11:44,120 --> 00:11:46,060 Ta vrednost ali to vrednost. 206 00:11:46,060 --> 00:11:47,520 Ta vrednost in tako naprej. 207 00:11:47,520 --> 00:11:51,220 >> Tako znotraj računalnika, domnevno so veliko manjši kosi strojne opreme, 208 00:11:51,220 --> 00:11:52,970 vendar so na koncu dneva so preprosto 209 00:11:52,970 --> 00:11:55,360 uporabiti electricity-- morda ujeti tem-- 210 00:11:55,360 --> 00:11:59,730 in potem vodi nekaj ali da nekaj off. 211 00:11:59,730 --> 00:12:02,021 Seveda, to ni posebej zanimivo narediti 212 00:12:02,021 --> 00:12:03,270 s samo eno žarnico. 213 00:12:03,270 --> 00:12:06,726 >> V bistvu, kako visoko lahko štejem v binarno s to namizno svetilko tukaj? 214 00:12:06,726 --> 00:12:07,420 >> OBČINSTVO: One. 215 00:12:07,420 --> 00:12:08,545 >> DAVID J. Malan: Ena, kajne? 216 00:12:08,545 --> 00:12:11,020 Rabim več svetilk mizo, če sem dejansko želijo, da računajo višje. 217 00:12:11,020 --> 00:12:12,210 Vendar pa lahko storimo bolje. 218 00:12:12,210 --> 00:12:14,460 Ker žarnice, ki smo pripravili v teh stvareh 219 00:12:14,460 --> 00:12:17,730 dejansko luksuznih žarnice od minulih dni bi dovolil. 220 00:12:17,730 --> 00:12:20,310 In oni so dejansko mrežno žarnice. 221 00:12:20,310 --> 00:12:23,160 In grozde podjetij da te stvari v teh dneh. 222 00:12:23,160 --> 00:12:25,190 >> Vendar se je izkazalo, da je ta zlasti 223 00:12:25,190 --> 00:12:27,680 opremljen s funkcijo, s katerim lahko spremenite svoje barve. 224 00:12:27,680 --> 00:12:30,810 Torej za primer, če ste krasijo vaš študentski sobi 225 00:12:30,810 --> 00:12:33,200 z nekaj teh luči žarnice, glede na vaše razpoloženje, 226 00:12:33,200 --> 00:12:35,366 odvisno od tega, kdo prihaja v, odvisno od vremena, 227 00:12:35,366 --> 00:12:37,360 odvisno od časa dneva, lahko dejansko 228 00:12:37,360 --> 00:12:40,300 spremembo barve žarnice v svoji sobi. 229 00:12:40,300 --> 00:12:43,740 In to zato, ker te luči čebulice in drugi, kot ji še kaj 230 00:12:43,740 --> 00:12:48,010 imenovane API, vloga programski vmesnik, ki 231 00:12:48,010 --> 00:12:50,920 je tema, s katero se boste dobro seznanjeni z do konca semester. 232 00:12:50,920 --> 00:12:53,710 >> In to je samo domišljija, skrivnosten način rekel, 233 00:12:53,710 --> 00:12:57,570 lahko programirate te svetlobe žarnice, da opravljate svoje ponudbe. 234 00:12:57,570 --> 00:13:00,360 Lahko jim pošiljate sporočila tako kot ti, človek, 235 00:13:00,360 --> 00:13:03,640 lahko pošljete sporočilo na spletni strežnik rekel, da mi današnje novice 236 00:13:03,640 --> 00:13:05,110 ali daj mi svoj email. 237 00:13:05,110 --> 00:13:08,010 >> Lahko pošljete več Skrivnosten sporočil, da teh žarnic 238 00:13:08,010 --> 00:13:09,700 reči, vklop in izklop. 239 00:13:09,700 --> 00:13:11,370 Ampak to še ni vse, da je zanimivo. 240 00:13:11,370 --> 00:13:14,280 Lahko rečemo, vklopite rdeče, vklopi zelena, vklopite modra, 241 00:13:14,280 --> 00:13:15,990 vse z istim žarnico. 242 00:13:15,990 --> 00:13:20,990 In lahko celo z nekoliko bolj zdrava pamet, pravijo, obrnite se na blue 243 00:13:20,990 --> 00:13:24,710 ko je mračno dan zunaj, na primer. 244 00:13:24,710 --> 00:13:27,910 To lahko dejansko pripopava vreme API in izvedeli 245 00:13:27,910 --> 00:13:32,260 kaj je vreme, ali čas dneva ali drugih tovrstnih sprožilcev. 246 00:13:32,260 --> 00:13:35,550 >> Torej, v resnici, dva Lastna uslužbenci CS50 je, 247 00:13:35,550 --> 00:13:38,827 Dan Bradley in Ansel Duff tukaj, prosimo, nabavljeno 248 00:13:38,827 --> 00:13:40,410 nam cel kup teh žarnic. 249 00:13:40,410 --> 00:13:42,910 In so zgradili CS50-jev Prve kdaj binarnih čebulice, 250 00:13:42,910 --> 00:13:46,850 kjer smo zastopali tu-- s temi igrivo malo magnets-- 251 00:13:46,850 --> 00:13:49,780 različne ograde smo Omenil bi samo malo nazaj. 252 00:13:49,780 --> 00:13:52,572 >> Torej, tako kot je tu posameznikova mesto, dva, štiri. 253 00:13:52,572 --> 00:13:54,030 In nismo videli več kot to. 254 00:13:54,030 --> 00:13:55,613 Ampak, seveda, oni so pooblastila dva. 255 00:13:55,613 --> 00:13:59,490 Osem, 16, 32, 64 in 128. 256 00:13:59,490 --> 00:14:03,320 Torej, če jaz zdaj želim biti malo Ljubitelj kot če bi uporabili to staro šolo stikalo, 257 00:14:03,320 --> 00:14:07,310 Tukaj imam na tej iPad super preprost vmesnik 258 00:14:07,310 --> 00:14:10,440 da Dan Bradley, nekdanji študent in zdaj asistent, 259 00:14:10,440 --> 00:14:13,510 programed uporabo nekaterih HTML in JavaScript, ki 260 00:14:13,510 --> 00:14:15,685 so markup in programiranje jeziki oz. 261 00:14:15,685 --> 00:14:17,560 In lahko verjetno vidimo-- tudi v nazaj-- 262 00:14:17,560 --> 00:14:21,670 tam je velik plus in velik minus, plus en gumb za vsako od teh žarnic. 263 00:14:21,670 --> 00:14:25,740 In kaj se to dogaja, da mi dovolite, da se je, na primer, kliknite znak plus 264 00:14:25,740 --> 00:14:28,250 in zdaj predstavljajo od Seveda, kaj več? 265 00:14:28,250 --> 00:14:28,750 One. 266 00:14:28,750 --> 00:14:30,220 In to lahko še enkrat udaril. 267 00:14:30,220 --> 00:14:31,480 Dve. 268 00:14:31,480 --> 00:14:32,800 Tri. 269 00:14:32,800 --> 00:14:33,950 Four. 270 00:14:33,950 --> 00:14:35,200 Pet. 271 00:14:35,200 --> 00:14:36,360 Six. 272 00:14:36,360 --> 00:14:36,880 Seven. 273 00:14:36,880 --> 00:14:40,740 >> In tu smo dobili, da prevračanjem, vendar imamo še četrto malo tokrat, 274 00:14:40,740 --> 00:14:42,180 tako da zdaj imamo osem. 275 00:14:42,180 --> 00:14:44,000 Tako da bi lahko to naredili že kar nekaj časa. 276 00:14:44,000 --> 00:14:46,530 V bistvu, kot sedmih, kako visoko smo lahko računali? 277 00:14:46,530 --> 00:14:48,318 Kdorkoli? 278 00:14:48,318 --> 00:14:49,270 >> OBČINSTVO: 255. 279 00:14:49,270 --> 00:14:51,420 >> DAVID J. Malan: 255, kajne? 280 00:14:51,420 --> 00:14:54,900 Ne skrbite preveč o matematiki za zdaj, ampak to je precej dostojno številko. 281 00:14:54,900 --> 00:14:59,140 Vendar dejansko ne zavezuje samo koliko kosov informacij, 282 00:14:59,140 --> 00:15:01,760 kot pismo ali grafiko da bi jih zastopamo. 283 00:15:01,760 --> 00:15:02,697 >> Ampak ne glede na to, za zdaj. 284 00:15:02,697 --> 00:15:04,530 Jaz grem naprej in jih vse izklopite. 285 00:15:04,530 --> 00:15:09,670 In če bi lahko, bi rad vprašal za prostovoljec, naš prvi volunteer-- 286 00:15:09,670 --> 00:15:11,342 oh, hello-- na odru. 287 00:15:11,342 --> 00:15:14,050 Ulov je, da moraš biti udobno se pojavljajo, kot ti je jasno 288 00:15:14,050 --> 00:15:17,421 so pred vsemi sošolci, kot tudi na internetu. 289 00:15:17,421 --> 00:15:20,420 In mi pogledati malo dlje za-- Kaj pa tukaj v beli srajci? 290 00:15:20,420 --> 00:15:20,920 In roko gor. 291 00:15:20,920 --> 00:15:22,071 Pridi gor. 292 00:15:22,071 --> 00:15:22,820 Kako ti je ime? 293 00:15:22,820 --> 00:15:23,760 >> OBČINSTVO: Jackie. 294 00:15:23,760 --> 00:15:24,718 >> DAVID J. Malan: Jackie. 295 00:15:24,718 --> 00:15:25,820 Jackie, pridi gor. 296 00:15:25,820 --> 00:15:29,820 Torej, kar je tudi v tem iPad je gumb imenovan Game Mode. 297 00:15:29,820 --> 00:15:32,570 In to Game Mode dogaja, da mi dovolite, da vložek 298 00:15:32,570 --> 00:15:35,780 vnaprej določeno decimalno številka, številke smo ljudje 299 00:15:35,780 --> 00:15:36,760 poznajo. 300 00:15:36,760 --> 00:15:39,820 In potem vam bo izpodbijala tukaj uporabiti tipke 301 00:15:39,820 --> 00:15:42,140 o top-- enega za vsaka od teh bulbs-- 302 00:15:42,140 --> 00:15:45,050 dejansko ugotovimo, vzorec žarnic 303 00:15:45,050 --> 00:15:46,970 , ki predstavlja številko v vprašanje. 304 00:15:46,970 --> 00:15:47,790 >> In žal mi je, kaj je bilo ime? 305 00:15:47,790 --> 00:15:48,250 >> OBČINSTVO: Jackie. 306 00:15:48,250 --> 00:15:48,620 >> DAVID J. Malan: Jackie. 307 00:15:48,620 --> 00:15:48,920 V redu. 308 00:15:48,920 --> 00:15:49,740 Lepo, da sva se spoznala. 309 00:15:49,740 --> 00:15:54,580 >> Zato naj gredo naprej in program za svet za prikaz številke 15. 310 00:15:54,580 --> 00:15:56,360 Bomo obdržati majhno najprej tukaj. 311 00:15:56,360 --> 00:15:58,240 In jaz grem v Game Mode. 312 00:15:58,240 --> 00:16:01,160 In bom, da določite, nam številko 15. 313 00:16:01,160 --> 00:16:01,900 >> OK. 314 00:16:01,900 --> 00:16:05,510 In zdaj z vsem watching-- če želite morda stojijo na ta način, 315 00:16:05,510 --> 00:16:09,970 ker bo to linijo up-- iti naprej in preklopite osem gumbov vzdolž vrh 316 00:16:09,970 --> 00:16:12,530 za vklop žarnice na ali off, kot se vam zdi primerno. 317 00:16:12,530 --> 00:16:13,530 >> OBČINSTVO: OK. 318 00:16:13,530 --> 00:16:17,720 >> DAVID J. Malan: In ni varanje z hitting plus 15-krat. 319 00:16:17,720 --> 00:16:19,275 Oh, bomo storili. 320 00:16:19,275 --> 00:16:20,069 >> OBČINSTVO: Oh, počakaj. 321 00:16:20,069 --> 00:16:20,610 Tako mi je žal. 322 00:16:20,610 --> 00:16:22,660 >> DAVID J. Malan: Lahko tudi vključite Žarnice na posamezno 323 00:16:22,660 --> 00:16:24,076 z vsako od teh gumbov na vrhu. 324 00:16:24,076 --> 00:16:24,844 OBČINSTVO: Oh, OK. 325 00:16:24,844 --> 00:16:27,429 Tako da bi bilo takšen-- 326 00:16:27,429 --> 00:16:28,220 DAVID J. Malan: OK. 327 00:16:28,220 --> 00:16:29,100 Torej, zdaj imamo osem. 328 00:16:29,100 --> 00:16:31,280 Torej, kaj je premor Občinstvo tu se zatakne. 329 00:16:31,280 --> 00:16:34,300 Katero število je Jackie Trenutno predstavlja? 330 00:16:34,300 --> 00:16:34,800 11. 331 00:16:34,800 --> 00:16:35,730 Torej smo skoraj tam. 332 00:16:35,730 --> 00:16:38,360 333 00:16:38,360 --> 00:16:39,630 In odlično. 334 00:16:39,630 --> 00:16:41,487 Torej imamo prvo zmagovalca. 335 00:16:41,487 --> 00:16:42,445 Čestitam. 336 00:16:42,445 --> 00:16:48,200 >> In smo mislili, da bomo imeli nekaj čudovitih darila. 337 00:16:48,200 --> 00:16:50,860 Če želite, da je ena taka študentski sobi tukaj na kampusu, 338 00:16:50,860 --> 00:16:56,126 lahko sami imeli končni projekt zdaj uporabljajo ta API, zahvaljujoč Jackie. 339 00:16:56,126 --> 00:16:57,050 Torej sedaj-- 340 00:16:57,050 --> 00:16:58,902 >> [APLAVZ] 341 00:16:58,902 --> 00:17:01,690 342 00:17:01,690 --> 00:17:04,839 >> --if smo lahko ena več kot okoli tega. 343 00:17:04,839 --> 00:17:07,690 Oh, zdaj vsakdo želi nekaj žarnic. 344 00:17:07,690 --> 00:17:11,790 Za tako imenovane hacker izdaji, bomo ga ploščadi je-- oh, 345 00:17:11,790 --> 00:17:12,770 ja, neobvezujoče. 346 00:17:12,770 --> 00:17:16,010 Mislim, da pridete do sedaj če je tvoja roka se dogaja. 347 00:17:16,010 --> 00:17:16,800 Kako ti je ime? 348 00:17:16,800 --> 00:17:17,424 >> OBČINSTVO: Alex. 349 00:17:17,424 --> 00:17:19,440 DAVID J. Malan: Alex, pridi sem. 350 00:17:19,440 --> 00:17:26,190 Torej, za Alex, se bomo Program v nekoliko večjem številu. 351 00:17:26,190 --> 00:17:27,790 Morda je v redu. 352 00:17:27,790 --> 00:17:29,110 Številka 50. 353 00:17:29,110 --> 00:17:29,744 >> OBČINSTVO: OK. 354 00:17:29,744 --> 00:17:31,660 DAVID J. Malan: Ampak, kot I rekla-- in morda 355 00:17:31,660 --> 00:17:33,580 želim stati tukaj, tako da da so gumbi line up 356 00:17:33,580 --> 00:17:37,115 kot bi si expect-- ampak sem to imenujemo izdaja hacker. 357 00:17:37,115 --> 00:17:47,125 Tako-- srečno! 358 00:17:47,125 --> 00:17:48,416 >> [Smeh] 359 00:17:48,416 --> 00:17:58,570 360 00:17:58,570 --> 00:18:02,050 >> Morda ne boste mogli obrniti jim off če ti-- OK. 361 00:18:02,050 --> 00:18:02,880 Odlično. 362 00:18:02,880 --> 00:18:03,675 Čudovito. 363 00:18:03,675 --> 00:18:04,341 Čestitam. 364 00:18:04,341 --> 00:18:08,730 >> [APLAVZ] 365 00:18:08,730 --> 00:18:10,355 Mislim, da bi morala vplačati. 366 00:18:10,355 --> 00:18:11,830 Čestitke Alex tudi. 367 00:18:11,830 --> 00:18:12,330 OK. 368 00:18:12,330 --> 00:18:15,550 >> Torej končni takeaway tukaj je, upajmo, odkrito povedano, 369 00:18:15,550 --> 00:18:18,109 simplicity-- preprostost s katero 370 00:18:18,109 --> 00:18:20,650 lahko dobite nekaj lepo svetlobo žarnice, očitno v [neslišno]. 371 00:18:20,650 --> 00:18:23,000 Ampak oni predstavljajo, navsezadnje, enake ideje 372 00:18:23,000 --> 00:18:26,310 s katero smo mi ljudje že vse preveč seznanjeni. 373 00:18:26,310 --> 00:18:28,660 Torej, kaj bi lahko naslednjič korak napredovanja 374 00:18:28,660 --> 00:18:30,920 poskuša nekaj storiti Zanimivo s podatki 375 00:18:30,920 --> 00:18:34,950 in predstavljajo vložke, ki niso samo številke, vendar so morda črke ali več? 376 00:18:34,950 --> 00:18:37,820 >> No, izkazalo se je, da računalniški svet, za več let, 377 00:18:37,820 --> 00:18:43,300 preprosto sprejel samovoljno, ampak skladni standard, ki preslika številke 378 00:18:43,300 --> 00:18:44,610 s črkami abecede. 379 00:18:44,610 --> 00:18:47,120 Na primer, tukaj je odlomek iz tega kartiranja. 380 00:18:47,120 --> 00:18:48,350 To se imenuje ASCII. 381 00:18:48,350 --> 00:18:53,220 -S-Ci-I-I. In da je preprosto tabela, ki preslika velike črke letters-- 382 00:18:53,220 --> 00:18:56,600 v tem case-- za decimalna števila. 383 00:18:56,600 --> 00:18:57,890 >> Toda kaj je posledice? 384 00:18:57,890 --> 00:19:01,090 No, če ste dejansko želeli predstaviti nekaj takega kot e-pošto ali kakšno besedilo 385 00:19:01,090 --> 00:19:03,310 na spletni strani, si seveda želeli pokazati 386 00:19:03,310 --> 00:19:06,100 človekovih pisma abeceda, ne številke. 387 00:19:06,100 --> 00:19:09,140 Torej, odvisno ozadje programa 388 00:19:09,140 --> 00:19:12,600 da uporabnik uporablja, če je spletni brskalnik ali e-poštni odjemalec, 389 00:19:12,600 --> 00:19:16,090 številke lahko zagotovo razlagati tako, kot pisem. 390 00:19:16,090 --> 00:19:20,290 To se pravi, vzorce bitov lahko enostavno treba razlagati tako črkami. 391 00:19:20,290 --> 00:19:24,700 >> In kaj lahko imamo je črka bitje 392 00:19:24,700 --> 00:19:28,410 zastopali 65, B so zastopali 66. 393 00:19:28,410 --> 00:19:30,900 Torej, če imamo super Skratka beseda, kot hi, 394 00:19:30,900 --> 00:19:35,740 kaj bi računalnik na koncu Trgovina na decimalko, ampak res v binarno, 395 00:19:35,740 --> 00:19:40,070 uporabo nekaterih zaporedje bitov, vplivno malo električne energije na nek način, 396 00:19:40,070 --> 00:19:44,010 bi se ti dve številki 72 in 73. 397 00:19:44,010 --> 00:19:46,780 >> Toda vzorec bitov, ki predstavlja te vrednote. 398 00:19:46,780 --> 00:19:49,820 Torej, to so torej, kako smo lahko predstavljajo naše vhode in izhode. 399 00:19:49,820 --> 00:19:52,630 In je dovolj reči, da lahko narediti bolj kompleksne predstavitve 400 00:19:52,630 --> 00:19:56,450 navsezadnje s stvarmi, kot grafika, video posnetke, glasbo in še več 401 00:19:56,450 --> 00:19:58,190 kot bomo videli kasneje ta izraz. 402 00:19:58,190 --> 00:20:00,630 >> Tako da samo pusti potem algoritmi, ti sklopi 403 00:20:00,630 --> 00:20:03,490 navodil, ki smo reševanje konkretnih problemov. 404 00:20:03,490 --> 00:20:05,820 Mi gre na vložkov algoritmov. 405 00:20:05,820 --> 00:20:09,630 In ti algoritmi se proizvajajo izhodi, upajmo pravilni izhodi 406 00:20:09,630 --> 00:20:14,160 in upajmo, da tudi učinkovito zbrali izhode. 407 00:20:14,160 --> 00:20:16,890 Z drugimi besedami, to je ena stvar, pravilno izvajati nekaj. 408 00:20:16,890 --> 00:20:20,790 To je še ena stvar, za izvajanje nekaj dobro ali učinkovito. 409 00:20:20,790 --> 00:20:23,690 >> Na primer, ena predstavitev da smo radi v teku 410 00:20:23,690 --> 00:20:24,460 je to ena. 411 00:20:24,460 --> 00:20:26,345 Ampak te stvari so dobili vedno težko najti. 412 00:20:26,345 --> 00:20:28,930 Ampak to je res old school imenik, znotraj katere 413 00:20:28,930 --> 00:20:32,580 so 1000 plus strani Imena in telefonske številke. 414 00:20:32,580 --> 00:20:34,830 In če sem hotel pogledati nekdo v tem imeniku, 415 00:20:34,830 --> 00:20:38,640 Lahko bi enostavno narediti zelo naiven algoritem. 416 00:20:38,640 --> 00:20:42,150 Lahko bi odprla na prvi strani, in Lahko bi začeli iskati, recimo, nekdo 417 00:20:42,150 --> 00:20:43,130 imenom Mike Smith. 418 00:20:43,130 --> 00:20:46,160 In če ni na prvi stran, sem napredovala na drugo, 419 00:20:46,160 --> 00:20:49,120 in nato tretji, in nato na četrti, in tako naprej, 420 00:20:49,120 --> 00:20:51,430 dokler nisem končno našli Mike Smith. 421 00:20:51,430 --> 00:20:53,010 >> Zdaj pa je, da je algoritem pravilen? 422 00:20:53,010 --> 00:20:53,896 >> OBČINSTVO: Ja. 423 00:20:53,896 --> 00:20:54,248 >> DAVID J. Malan: Ja. 424 00:20:54,248 --> 00:20:56,039 Če je on tam, bom ga na koncu našli. 425 00:20:56,039 --> 00:20:58,820 Vendar to verjetno ni zelo učinkovit, zagotovo ne hitro, 426 00:20:58,820 --> 00:21:01,200 ker, moj Bog, zakaj sem zapravljam svoj čas flipping 427 00:21:01,200 --> 00:21:04,500 skozi vse te strani, ko sem lahko Vsekakor to narediti fizično hitreje? 428 00:21:04,500 --> 00:21:08,210 >> No, rahlo optimizacija, tako da govori, morda ne eno stran naenkrat, 429 00:21:08,210 --> 00:21:11,610 vendar dve, štiri, šest, osem, 10. 430 00:21:11,610 --> 00:21:12,725 Še vedno pravilna? 431 00:21:12,725 --> 00:21:14,030 >> OBČINSTVO: Ne 432 00:21:14,030 --> 00:21:17,040 >> DAVID J. Malan: Torej ne, če sem za instance preskočite Mike Smith. 433 00:21:17,040 --> 00:21:20,530 Ampak tako dolgo, kot sem nazaj pedal ena stran, če ga ustrelijo, 434 00:21:20,530 --> 00:21:25,240 Mogoče bi lahko kaj popraviti bi sicer gotcha. 435 00:21:25,240 --> 00:21:26,020 >> Vendar je bolje? 436 00:21:26,020 --> 00:21:27,469 Je hitrejši? 437 00:21:27,469 --> 00:21:28,010 Mislim, ja. 438 00:21:28,010 --> 00:21:30,950 To je dobesedno dvakrat hitreje če naredim dve strani hkrati. 439 00:21:30,950 --> 00:21:35,720 Torej, če sem prvotno imela 1000 strani, Zdaj moram samo flip 500-krat, 440 00:21:35,720 --> 00:21:39,429 ni v celoti 1000 strani, da bi dobili lahko v najslabšem primeru 441 00:21:39,429 --> 00:21:41,220 na koncu telefona knjige, kjer je nekdo 442 00:21:41,220 --> 00:21:44,380 Like Mike Smith ali nekoga z pozneje ime bi dejansko lahko. 443 00:21:44,380 --> 00:21:46,540 >> Ampak, seveda, smo ljudje nikakor niso 444 00:21:46,540 --> 00:21:49,250 dogaja, da se delaš, da zagotovo ne na tej točki v naših življenjih. 445 00:21:49,250 --> 00:21:51,454 Kaj je smiselno človek bi storili? 446 00:21:51,454 --> 00:21:52,870 OBČINSTVO: Pojdi naravnost The9 S-ih. 447 00:21:52,870 --> 00:21:53,860 DAVID J. Malan: Pojdi naravnost na S-ih? 448 00:21:53,860 --> 00:21:55,563 Kako sem šel naravnost v S-ih? 449 00:21:55,563 --> 00:21:57,342 >> OBČINSTVO: Raztrgaj na pol. 450 00:21:57,342 --> 00:21:59,050 DAVID J. Malan: No, ni oznake. 451 00:21:59,050 --> 00:22:02,116 Torej, ja, če bi bilo res Nalepka ali zavihku lepljiva za S, 452 00:22:02,116 --> 00:22:03,240 moramo skočiti tam. 453 00:22:03,240 --> 00:22:05,420 Ampak to je precej neškodljiva. 454 00:22:05,420 --> 00:22:08,480 Torej, najbolje kar lahko naredim, je v grobem na oddelku S ali morda grobo 455 00:22:08,480 --> 00:22:09,650 v sredini. 456 00:22:09,650 --> 00:22:12,110 Ampak ključ takeaway sedaj-- in intuicija 457 00:22:12,110 --> 00:22:14,430 da ste vzeli za odobri za leti probably-- 458 00:22:14,430 --> 00:22:17,103 je, da je tisto, kar vam zdaj vem o tem problemu? 459 00:22:17,103 --> 00:22:19,320 >> OBČINSTVO: [neslišno] 460 00:22:19,320 --> 00:22:22,290 >> DAVID J. Malan: Mike Smith je zagotovo ni v tem polovici problema 461 00:22:22,290 --> 00:22:25,600 ker Smith prihaja po sredini kar je približno oddelek M, 462 00:22:25,600 --> 00:22:26,510 da izgleda. 463 00:22:26,510 --> 00:22:30,340 Torej, kot ste morda opazili pri Visitas, lahko zdaj dobesedno 464 00:22:30,340 --> 00:22:31,737 trgati ta problem na pol. 465 00:22:31,737 --> 00:22:32,320 OBČINSTVO: Woo! 466 00:22:32,320 --> 00:22:33,690 DAVID J. Malan: To je vedno lažje in lažje. 467 00:22:33,690 --> 00:22:34,666 [APLAVZ] 468 00:22:34,666 --> 00:22:36,618 Tukaj imaš. 469 00:22:36,618 --> 00:22:39,060 [Smeh] 470 00:22:39,060 --> 00:22:41,870 In zdaj sem v osnovi imajo isti problem, 471 00:22:41,870 --> 00:22:43,866 ampak to je dobesedno pol tako velika. 472 00:22:43,866 --> 00:22:45,240 Še vedno iščem Mike Smith. 473 00:22:45,240 --> 00:22:47,950 In upam si reči, da še vedno lahko poglej za njega na enak način, 474 00:22:47,950 --> 00:22:51,200 Delili problem v polovici Ponovno, solzenje problem spet 475 00:22:51,200 --> 00:22:54,140 na pol, kar me zdaj zapusti z problem četrtino velikosti, 476 00:22:54,140 --> 00:22:58,710 dramatično vrgel to polovico stran, in ta postopek ponavljamo znova in znova 477 00:22:58,710 --> 00:23:01,150 in spet pogledal navzdol na vsaki točki za prikaz 478 00:23:01,150 --> 00:23:03,400 če Mike Smith je na stran v vprašanju. 479 00:23:03,400 --> 00:23:06,190 >> Zdaj, če jaz to pravico, na koncu se bom najti 480 00:23:06,190 --> 00:23:11,085 s samo eno stran, na kateri Mike Smith je, če je to res, v telefonskem imeniku. 481 00:23:11,085 --> 00:23:13,510 Seveda, jaz bi Nikoli pokličite Mike znova. 482 00:23:13,510 --> 00:23:18,800 Ampak poanta je, da če smo začeli s 1000 stranmi, moj prvi algoritem, 483 00:23:18,800 --> 00:23:21,620 flip strani, morda 1000 times-- vsekakor manj, ker je 484 00:23:21,620 --> 00:23:26,430 Ime S in ne Z ime, ampak kot več kot 1000 strani, potencialno. 485 00:23:26,430 --> 00:23:27,590 >> Drugi algoritem, bolje. 486 00:23:27,590 --> 00:23:28,480 500 strani. 487 00:23:28,480 --> 00:23:31,230 Tretji algoritem, čeprav, koliko korakov bi bilo 488 00:23:31,230 --> 00:23:35,520 da razdeliti 1000 stran Telefonski imenik na pol, kot je ta? 489 00:23:35,520 --> 00:23:37,000 10, vzemi ali pusti. 490 00:23:37,000 --> 00:23:40,770 Torej le z lahkota skozi to telefonski imenik, potapljanje in osvajanje, 491 00:23:40,770 --> 00:23:46,130 tako rekoč, 10-krat, bom navzdol na eno samo mesto, stran moj način. 492 00:23:46,130 --> 00:23:48,880 >> In tako bomo lahko zajame to intuicijo zdaj malo grafično 493 00:23:48,880 --> 00:23:51,320 če si razmisli ta super preprost graf. 494 00:23:51,320 --> 00:23:55,470 Mi smo na x-osi ali horizontalno os, je velikost moj problem, 495 00:23:55,470 --> 00:23:57,100 število strani v telefonskem imeniku. 496 00:23:57,100 --> 00:23:59,040 In računalniški znanstveniki na splošno všeč, da pokličete 497 00:23:59,040 --> 00:24:02,180 velikost problema n, kjer n je le neka spremenljivka, ki 498 00:24:02,180 --> 00:24:04,310 represents-- v tem case-- število strani. 499 00:24:04,310 --> 00:24:07,412 >> Navpično ali y-os, je tukaj bo čas za rešitev, 500 00:24:07,412 --> 00:24:09,870 morda število strani zavojev, morda število sekund 501 00:24:09,870 --> 00:24:11,960 ali minut, ne glede na tvoja merska enota je. 502 00:24:11,960 --> 00:24:14,337 In zato je ta rdeča črta predstavlja prvi algoritem, 503 00:24:14,337 --> 00:24:16,670 ker obstaja 00:59 Razmerje med številom 504 00:24:16,670 --> 00:24:18,880 strani in koliko časa traja. 505 00:24:18,880 --> 00:24:22,240 >> Če Verizon podvoji število strani v telefonskem imeniku v naslednjem letu, 506 00:24:22,240 --> 00:24:24,590 moj tek enkrat bom vprašal Čas, potreben za izvedbo 507 00:24:24,590 --> 00:24:27,610 da najprej algorithm-- podvoji v najslabšem primeru. 508 00:24:27,610 --> 00:24:30,690 Toda drugi algoritem, kjer sem lahkota z dve, 509 00:24:30,690 --> 00:24:33,650 zahteva manj časa za saj problem velikost. 510 00:24:33,650 --> 00:24:36,090 Torej, če imam to veliko Pages tu-- obvestilo 511 00:24:36,090 --> 00:24:38,870 da rumeno črto predlaga, manj časa za reševanje. 512 00:24:38,870 --> 00:24:42,490 In res, to pomeni, bomo rekli, n več kot dva. 513 00:24:42,490 --> 00:24:47,717 >> Toda kaj je oblika tretji in končno krivulja bo izgledal? 514 00:24:47,717 --> 00:24:50,800 Ja, to je res šlo za glej-- I Ne vem, kaj si hotel reči. 515 00:24:50,800 --> 00:24:52,300 Ampak poglejmo, kaj si hotel reči. 516 00:24:52,300 --> 00:24:53,280 >> OBČINSTVO: Tako. 517 00:24:53,280 --> 00:24:57,060 >> DAVID J. Malan: To bo izgledal to, logaritmična slope-- exactly-- 518 00:24:57,060 --> 00:24:59,770 s katerim imate to nenavadno pobočju. 519 00:24:59,770 --> 00:25:01,235 To ni več ravna črta. 520 00:25:01,235 --> 00:25:05,000 In kaj je prepričljiv pa, da je to čeprav je graf zdaj odrezan, 521 00:25:05,000 --> 00:25:07,790 lahko ekstrapolirati v vašem moti, da je ta zelena črta ni 522 00:25:07,790 --> 00:25:10,060 bo povečanje Višina vse, da je veliko 523 00:25:10,060 --> 00:25:13,500 kot boste nadaljevali še naprej po tej horizontalni osi. 524 00:25:13,500 --> 00:25:15,890 >> Dejansko, Verizon, za primerka, bi lahko podvojil 525 00:25:15,890 --> 00:25:19,100 število strani v telefonu knjiga med letos in prihodnje leto 526 00:25:19,100 --> 00:25:22,140 od 1000 do 2000 strani, vendar ni nič takega. 527 00:25:22,140 --> 00:25:24,960 S tem je tretji in zadnji, tam je intuitiven algoritem 528 00:25:24,960 --> 00:25:26,209 delitve in osvajanja. 529 00:25:26,209 --> 00:25:29,000 To se dogaja, da me, koliko več korake v naslednjem letu, da bi našli nekoga, 530 00:25:29,000 --> 00:25:29,700 Like Mike Smith? 531 00:25:29,700 --> 00:25:30,560 >> OBČINSTVO: One. 532 00:25:30,560 --> 00:25:31,230 >> DAVID J. Malan: Obstaja samo ena. 533 00:25:31,230 --> 00:25:34,430 In ga lahko štirikrat, to je dogaja, da mi bo le dve več korakov 534 00:25:34,430 --> 00:25:35,210 in tako naprej. 535 00:25:35,210 --> 00:25:38,730 In tako je to dokaz, da kako nekaj skrbno načrtovanje 536 00:25:38,730 --> 00:25:42,437 in nekateri spoštovanje za to, kar tvoji vhodi so lahko še boljši. 537 00:25:42,437 --> 00:25:44,270 Zdaj varamo malo v smislu 538 00:25:44,270 --> 00:25:46,350 da smo vplivno domnevo. 539 00:25:46,350 --> 00:25:48,500 Kaj je moja predpostavka o našem telefonskem imeniku 540 00:25:48,500 --> 00:25:52,720 , ki mi je omogočila, da se razdeli in vladaj v tem intuitiven in še pravilen način? 541 00:25:52,720 --> 00:25:53,705 >> OBČINSTVO: [neslišno] 542 00:25:53,705 --> 00:25:54,580 DAVID J. Malan: Ja. 543 00:25:54,580 --> 00:25:55,440 Zato je ukazal. 544 00:25:55,440 --> 00:25:57,392 Abecednem redu, da ga je Telefonski imenik podjetje. 545 00:25:57,392 --> 00:26:00,100 Če bi bilo v naključnem vrstnem redu, ki bi pekel imeniku, 546 00:26:00,100 --> 00:26:02,850 gotovo pa ne bi gre pričakovati, da se algoritem 547 00:26:02,850 --> 00:26:05,950 Včasih sem, ker si ne bi nikoli pravkar zgodilo čez Mike Smith 548 00:26:05,950 --> 00:26:09,210 Če ste ohranili delitev na pol na ta način po naključju. 549 00:26:09,210 --> 00:26:12,060 >> Torej, kaj je zdaj formalizirati kaj je jasno intuitivno. 550 00:26:12,060 --> 00:26:13,950 Torej nekaj, kar se imenuje psevdokoda je, če se bomo 551 00:26:13,950 --> 00:26:15,780 začeti nekaj naših začetnih težav. 552 00:26:15,780 --> 00:26:20,410 In to je splošen način opisovanja algoritem ali računalniški program, 553 00:26:20,410 --> 00:26:24,150 ne z uporabo C ali C ++ ali Java, ali specifičnega jezika, 554 00:26:24,150 --> 00:26:27,430 vendar samo z uporabo angleščine, z , ki bi lahko vsak človek pozna. 555 00:26:27,430 --> 00:26:31,220 >> In bi mi napisali psevdokoda za ta problem, kot sledi. 556 00:26:31,220 --> 00:26:33,520 Prvi korak, pick up telefonski imenik. 557 00:26:33,520 --> 00:26:35,840 Dva, odprt do sredine imenik korak. 558 00:26:35,840 --> 00:26:37,730 Tretji korak, poglej imena. 559 00:26:37,730 --> 00:26:40,630 Korak štiri, če Smith je med names-- 560 00:26:40,630 --> 00:26:42,960 >> In zdaj je to Zanimiv konstrukt. 561 00:26:42,960 --> 00:26:44,290 To je odločitev, točka. 562 00:26:44,290 --> 00:26:47,920 To je vilice v cestnem prometu, če vas bo, podružnica, tako rekoč. 563 00:26:47,920 --> 00:26:50,810 Torej bom zamakniti samo po dogovoru step-- 564 00:26:50,810 --> 00:26:53,950 ne five-- ki je recimo, bom poklical Mike. 565 00:26:53,950 --> 00:26:57,290 Torej, ta zareza, popolnoma samovoljno človeški konvencija, vendar je 566 00:26:57,290 --> 00:27:01,160 preprosto pomenilo, da semantično posredovati da če Smith je med imeni, 567 00:27:01,160 --> 00:27:03,310 potem bi moral poklicati Mike. 568 00:27:03,310 --> 00:27:06,630 >> Medtem v koraku šest, obvestila da je zareza več. 569 00:27:06,630 --> 00:27:10,980 Torej je še druga vilice v road, druga cesta Jaz bi potovali. 570 00:27:10,980 --> 00:27:14,130 Torej else if Smith je prej v knjigi, kar je 571 00:27:14,130 --> 00:27:16,964 moj naslednji korak, verjetno, da bo tukaj? 572 00:27:16,964 --> 00:27:18,380 OBČINSTVO: Greš na levi strani. 573 00:27:18,380 --> 00:27:21,004 DAVID J. Malan: Ja, pojdite na leva polovica imeniku. 574 00:27:21,004 --> 00:27:24,140 Mečejo desno polovico, če Smith je že prej v knjigi. 575 00:27:24,140 --> 00:27:27,140 Torej odprt sredi leva polovica knjige. 576 00:27:27,140 --> 00:27:30,240 >> In potem korak osem, pojdite na linijo tri. 577 00:27:30,240 --> 00:27:34,520 In to je radoveden loop sem induciranje, rekurzija tako rekoč. 578 00:27:34,520 --> 00:27:35,990 Ampak več o tem v prihodnosti. 579 00:27:35,990 --> 00:27:39,590 >> Jaz sem z mojo isti algoritem, moj isto psevdokoda, 580 00:27:39,590 --> 00:27:43,020 ponovno reševanje istega problema ker je edina stvar, ki se je spremenilo 581 00:27:43,020 --> 00:27:46,550 je velikost problema, ne moj cilj, in ne oseba 582 00:27:46,550 --> 00:27:47,340 Iščem. 583 00:27:47,340 --> 00:27:51,610 Tako da sem lahko ponovno algoritem da sem že definirana. 584 00:27:51,610 --> 00:27:53,580 >> If Smith je kasneje v book-- boste morda 585 00:27:53,580 --> 00:27:56,200 guess-- odprta do sredine desna polovica knjige. 586 00:27:56,200 --> 00:27:58,350 In še enkrat, pojdite na linijo tri. 587 00:27:58,350 --> 00:28:01,480 Else-- kaj je končna linija V tem programu dogaja, da je? 588 00:28:01,480 --> 00:28:03,580 Če ni med Imena na strani sem 589 00:28:03,580 --> 00:28:06,870 no, če je to v ne prej knjige, in ni ga kasneje 590 00:28:06,870 --> 00:28:09,899 v knjigi, kaj vem Zdaj je res o Mike Smith? 591 00:28:09,899 --> 00:28:11,190 OBČINSTVO: On ni v knjigi. 592 00:28:11,190 --> 00:28:12,731 DAVID J. Malan: On ni v knjigi. 593 00:28:12,731 --> 00:28:16,040 Torej, najbolje kar lahko naredim, je le obupajte in ustaviti ta program. 594 00:28:16,040 --> 00:28:16,540 V redu. 595 00:28:16,540 --> 00:28:20,350 Tako da na tej točki, vzemimo Hiter ogled nekaj, kar čaka. 596 00:28:20,350 --> 00:28:23,620 In v resnici, sem tukaj pridružil s številom zaposlenih CS50. 597 00:28:23,620 --> 00:28:26,940 Če ti ljudje lahko vse mi pridruži tukaj na odru. 598 00:28:26,940 --> 00:28:28,900 >> [APLAVZ] 599 00:28:28,900 --> 00:28:35,280 600 00:28:35,280 --> 00:28:38,170 >> Zapomnite si, da je to le podmnožica osebja CS50, 601 00:28:38,170 --> 00:28:42,380 saj vsako leto imamo skoraj 100 zaposlenih člani v vlogi pomočnikov seveda, 602 00:28:42,380 --> 00:28:44,410 poučevanje štipendistov, in še več. 603 00:28:44,410 --> 00:28:45,700 Pridi gor. 604 00:28:45,700 --> 00:28:48,820 Tako se nam bodo pridružili tukaj nerodno za trenutek 605 00:28:48,820 --> 00:28:54,230 kot smo dali tornado turnejo, kaj morate pričakovati, tukaj v teku. 606 00:28:54,230 --> 00:28:59,640 >> Torej, v prvi vrsti, imamo SAT / UNS kot možnost razvrščanja v teku. 607 00:28:59,640 --> 00:29:03,180 Ta je mišljen namerno da je možnost katerim 608 00:29:03,180 --> 00:29:05,570 če ste malce nelagodno pri čemer je v teku, 609 00:29:05,570 --> 00:29:09,390 in ti se bojijo failure-- četudi odkrito neuspeh pomeni boli vaše GPA, 610 00:29:09,390 --> 00:29:13,180 pridobivanje B in ne je--, ki je natančno tisto, gotovo za prehod 611 00:29:13,180 --> 00:29:15,750 Seveda, kot CS50 in drugo uvodna predavanja, 612 00:29:15,750 --> 00:29:17,540 ta možnost razvrščanja je mišljeno, da se omogoči. 613 00:29:17,540 --> 00:29:19,930 >> Iskreno spodbujala students-- posebej 614 00:29:19,930 --> 00:29:23,090 če na fence-- za začetek Seveda SAT / UNS, čeprav še vedno SAT / UNS. 615 00:29:23,090 --> 00:29:27,310 Vendar lahko zagotovo preklopite na pismo razred, ki ga peti ponedeljek v mandatu. 616 00:29:27,310 --> 00:29:31,560 >> Iskreno povedano, ko sem je bil novinec v letu 1995, 617 00:29:31,560 --> 00:29:34,630 Sam nisem celo CS50 ker nisem dobil pogum 618 00:29:34,630 --> 00:29:36,540 dejansko korak peš v razredu. 619 00:29:36,540 --> 00:29:40,020 Zdelo se je, domene preveč seznanjeni z mano in res samo 620 00:29:40,020 --> 00:29:43,080 za tiste moje prijatelje, odkrito, ki je bil za programiranje 621 00:29:43,080 --> 00:29:45,570 saj so bili šestkrat ali pa 10 let star. 622 00:29:45,570 --> 00:29:48,640 In to je samo zato, ker sem bil sposobna sprejeti CS50 v moj dan 623 00:29:48,640 --> 00:29:52,720 v enakem različici SAT / UNS-- DOBER / SLAB nazaj v dan-- 624 00:29:52,720 --> 00:29:53,850 da tudi jaz vzel 50. 625 00:29:53,850 --> 00:29:57,440 In tako ali drugače, jaz sem tu z vami danes. 626 00:29:57,440 --> 00:30:00,690 >> Zdaj medtem kaj si bi morali imeti v mislih približno 50 627 00:30:00,690 --> 00:30:01,910 je sočasen vpis. 628 00:30:01,910 --> 00:30:03,785 V nasprotju z govoricami, da je Morda ste slišali, 629 00:30:03,785 --> 00:30:07,650 lahko, v resnici, hkrati vpis v CS50 in drugega razreda, ki 630 00:30:07,650 --> 00:30:12,150 izpolnjuje na enak ali prekrivanj Čas kot CS50 predavanj tukaj. 631 00:30:12,150 --> 00:30:16,420 Glej učni načrt za navedb za njihovo izvajanje. 632 00:30:16,420 --> 00:30:19,540 >> Predavanja, medtem ko je v nasprotju s kaj je uradno v katalogu, 633 00:30:19,540 --> 00:30:22,060 bo na splošno le izpolnjevati za samo eno uro. 634 00:30:22,060 --> 00:30:24,240 Včasih smo morda teči malo dolgo. 635 00:30:24,240 --> 00:30:26,800 Toda ne pozabite, da Cilj v CS50 predavanj 636 00:30:26,800 --> 00:30:28,980 je, da vam ponudimo konceptualnega pregleda, 637 00:30:28,980 --> 00:30:31,830 upajmo, da nekaj demonstracij, morda celo nekatere darila, 638 00:30:31,830 --> 00:30:34,390 kaj za vas pričakuje tednu, ki sledi. 639 00:30:34,390 --> 00:30:37,730 >> In tako na predavanjih, bomo raziskati te teme in primeri skupaj, 640 00:30:37,730 --> 00:30:41,420 prinaša študentom na odru, in osebje na odru tako pogosto, kot smo lahko, 641 00:30:41,420 --> 00:30:43,740 za samo nekaj ur na teden. 642 00:30:43,740 --> 00:30:47,435 Oddelki, medtem, bo ki jih ti ljudje tu-- veliko ponudi 643 00:30:47,435 --> 00:30:50,060 od njih učil štipendistov, nekaj Od njih seveda assistants-- volje 644 00:30:50,060 --> 00:30:51,160 se dogaja tedensko. 645 00:30:51,160 --> 00:30:52,940 >> In kaj je ključnega pomena, da v mislih je, da smo 646 00:30:52,940 --> 00:30:55,920 ne have-- razliko od prve Noči, glasba class-- 647 00:30:55,920 --> 00:30:59,220 različne skladbe odsekov za študentje manj udobnih, več 648 00:30:59,220 --> 00:31:01,150 udobno, in nekje vmes. 649 00:31:01,150 --> 00:31:03,559 In odkrito povedano, veš, če ste manj udoben. 650 00:31:03,559 --> 00:31:05,600 In verjetno veste, če ste bolj udobno. 651 00:31:05,600 --> 00:31:09,920 In če niste prepričani, da ste po definiciji nekje vmes. 652 00:31:09,920 --> 00:31:12,850 Torej, ko pride čas, da oddelku v enem tednu ali tako, po predmetniku, 653 00:31:12,850 --> 00:31:14,070 vam bomo vprašati to vprašanje. 654 00:31:14,070 --> 00:31:16,890 In si lahko sami izberite Temelji na svojo raven udobja 655 00:31:16,890 --> 00:31:22,220 in se z students-- biti z zeleno dots-- podobna raven udobja za vas. 656 00:31:22,220 --> 00:31:25,710 >> Medtem, imamo težavo kompleti, ki bo v končni fazi 657 00:31:25,710 --> 00:31:28,310 opredeliti svoje izkušnje na tem tečaju. 658 00:31:28,310 --> 00:31:30,370 Oni ponujajo tipično v več izdajah. 659 00:31:30,370 --> 00:31:34,150 Standardna izdaja, da pričakujemo najbolj vsak učenec v času za reševanje 660 00:31:34,150 --> 00:31:37,900 ampak tudi tako imenovana heker izdaja ki ponuja nobene oblike dodatnega posojila 661 00:31:37,900 --> 00:31:41,980 Dokončna ampak res je bahač reči, da si se potrudil in reševati 662 00:31:41,980 --> 00:31:45,250 hacker izdaj teku, da pristop podoben material 663 00:31:45,250 --> 00:31:47,370 ampak bolj sofisticirane kotom. 664 00:31:47,370 --> 00:31:49,480 >> Kaj ponujamo za standardna izdaja, za, 665 00:31:49,480 --> 00:31:51,420 enkrat, super večina študentov, ki niso 666 00:31:51,420 --> 00:31:54,060 le sprehod-kanale, ki so videos osebje teku je pod vodstvom 667 00:31:54,060 --> 00:31:57,840 da vas resnično sprehod skozi Težave seveda je možno in oblikovanje 668 00:31:57,840 --> 00:31:58,910 izvedb. 669 00:31:58,910 --> 00:32:01,434 In tudi, ko Dejstvo, ponujajo postmortems, 670 00:32:01,434 --> 00:32:03,350 pri čemer, če ste se spraševala, kako bi lahko imeli 671 00:32:03,350 --> 00:32:05,930 ali bi morala rešiti nekaj problem, učno osebje 672 00:32:05,930 --> 00:32:08,640 vas bo vodil skozi tiste na video, kot tudi. 673 00:32:08,640 --> 00:32:14,350 >> Medtem, kaj pričakuje preveč, so pet poznih dni in dejstva 674 00:32:14,350 --> 00:32:16,680 da bomo Odvrzite najmanjši problem je določeno število točk. 675 00:32:16,680 --> 00:32:20,370 Vsekakor cenim, da je v zameno za delovno obremenitev, ki pričakuje in 50 676 00:32:20,370 --> 00:32:24,020 od vas, življenje pride na pot včasih, če ne celo petkrat. 677 00:32:24,020 --> 00:32:26,150 In tako bo ponujal ste malo fleksibilnosti, 678 00:32:26,150 --> 00:32:29,400 razširja svoj rok od, recimo, Četrtek opoldne v petek opoldne. 679 00:32:29,400 --> 00:32:33,150 Glej učni načrt za Podrobnosti za njihovo izvajanje. 680 00:32:33,150 --> 00:32:34,702 >> Zdaj, kaj zdaj čaka? 681 00:32:34,702 --> 00:32:36,660 In to je šele pojavljajo Zdaj mi samo kako dolgo 682 00:32:36,660 --> 00:32:38,333 Imam vidva stojim na odru. 683 00:32:38,333 --> 00:32:39,060 >> [Smeh] 684 00:32:39,060 --> 00:32:41,867 >> DAVID J. Malan: Ampak bomo prišli do climactic konča pred dolgo. 685 00:32:41,867 --> 00:32:43,700 Kaj v smislu, da čaka o sklopih problematike? 686 00:32:43,700 --> 00:32:47,099 No, morda teaser, kaj smo vsi lani s svojimi predhodniki. 687 00:32:47,099 --> 00:32:49,140 V prvi problem niz Lani smo uvedli 688 00:32:49,140 --> 00:32:51,630 Scratch, grafični programski jezik, ki 689 00:32:51,630 --> 00:32:54,570 omogoča programiranje dobesedno povleci in spusti kosov sestavljanke, 690 00:32:54,570 --> 00:32:57,220 kot ti, ki so spominja konstruktov 691 00:32:57,220 --> 00:32:59,260 bodo videli samo en teden torej, ko stikalo 692 00:32:59,260 --> 00:33:01,870 za bolj tradicionalno jezik, znan kot C. 693 00:33:01,870 --> 00:33:03,930 >> Lani smo nadaljevali na ta problem set, 694 00:33:03,930 --> 00:33:06,720 vključujejo v kriptografiji kodiranja informacij 695 00:33:06,720 --> 00:33:10,410 da bi preprečil vladni ali prijatelji " Oči, ki jih ne želite videti. 696 00:33:10,410 --> 00:33:12,540 Kodiran tukaj je sporočilo, da je kmalu 697 00:33:12,540 --> 00:33:15,740 bodo mogli dešifrirati ali de-scramble. 698 00:33:15,740 --> 00:33:17,960 >> Zlom je bil problem nastavite lansko leto, v katerem 699 00:33:17,960 --> 00:33:21,530 uporabljate te nove najdemo programiranje spretnosti, da dejansko izvajanje 700 00:33:21,530 --> 00:33:24,840 Igra wherein-- kot vi lahko odpokliče iz childhood-- 701 00:33:24,840 --> 00:33:28,040 Cilj je bil, da bash opeke, ki so na vrhu zaslona 702 00:33:28,040 --> 00:33:30,190 tu se kopičijo rezultat na poti, 703 00:33:30,190 --> 00:33:35,460 in izvajanju svoje algoritme s katerim je ta rešitev koncu 704 00:33:35,460 --> 00:33:37,357 vam omogoča, da igrajo igro. 705 00:33:37,357 --> 00:33:39,440 Medtem, kasneje v semester, vam bomo dali 706 00:33:39,440 --> 00:33:43,470 slovar 143.091 angleških besed. 707 00:33:43,470 --> 00:33:46,300 In vam bo izpodbijala napisati program, ki 708 00:33:46,300 --> 00:33:50,260 urok preglede, dokumente, ki jih nalaga, da veliko besed v pomnilnik 709 00:33:50,260 --> 00:33:52,300 čim bolj učinkovito. 710 00:33:52,300 --> 00:33:54,240 Na splošno vam luknjičaste pred sošolci 711 00:33:54,240 --> 00:33:56,610 če ste se odločili v nekaj Izziv na vodjo krovu 712 00:33:56,610 --> 00:34:00,090 da vidim, kdo sme uporabljati, najmanj sekund časa teče, 713 00:34:00,090 --> 00:34:03,550 in število hišnih številk megabajtov pomnilnika, 714 00:34:03,550 --> 00:34:08,659 in dejansko uglašuje svoje programe da je neverjetno viri gospodarnemu ne 715 00:34:08,659 --> 00:34:09,820 samo čas. 716 00:34:09,820 --> 00:34:13,239 >> Lani smo tudi pogledal na koncu semestra na spletnem programiranju. 717 00:34:13,239 --> 00:34:16,230 In res, bomo storili še enkrat to leto z več problemskih sklopov, 718 00:34:16,230 --> 00:34:20,290 ste za uvedbo tehnik in miselnost, s katero se lahko prijavijo 719 00:34:20,290 --> 00:34:23,489 ta znanja programiranja do spletne strani, dinamične spletne strani, 720 00:34:23,489 --> 00:34:26,639 spletne strani, ki dejansko rešujejo težave in se vedejo drugače 721 00:34:26,639 --> 00:34:30,620 in niso zgolj statična strani z statično informacij. 722 00:34:30,620 --> 00:34:32,854 >> Končni projekt na koncu bodo opredelili, čeprav, 723 00:34:32,854 --> 00:34:34,770 Vrhunec tečaja za študente, pri čemer 724 00:34:34,770 --> 00:34:37,228 vas bo izpodbijala izvajanje Najbolj kaj v interesu 725 00:34:37,228 --> 00:34:40,590 za vas, tako dolgo, kot je nekako črpa pouku predmeta je. 726 00:34:40,590 --> 00:34:42,930 >> In kot ste videli v video na začetku, 727 00:34:42,930 --> 00:34:47,340 bomo zaključili s semester CS50 Hackathon, ki, če se ne poznajo, 728 00:34:47,340 --> 00:34:51,420 se bo začelo ob 07:00 za eno noč in konča ob 7:00 zjutraj. 729 00:34:51,420 --> 00:34:53,614 Okoli 09:00, se bomo Vrstni red, v prvi večerji. 730 00:34:53,614 --> 00:34:55,489 Okoli 01:00, se bomo Da bi v drugem večerjo. 731 00:34:55,489 --> 00:34:57,490 In če ste še vedno stoji ob 5:00 uri, smo 732 00:34:57,490 --> 00:35:00,320 bo shuttle vam bus da IHOP za zajtrk. 733 00:35:00,320 --> 00:35:04,980 >> CS50 Fair, medtem, je dogodek na katero 2.000 plus fakultete, študente, 734 00:35:04,980 --> 00:35:07,850 in osebje iz vse kampusu bo prišli pogledat svoje dosežke 735 00:35:07,850 --> 00:35:10,150 v teku in končni projekte in stvaritve 736 00:35:10,150 --> 00:35:14,960 ki ste ga ustvarili na vaših prenosnih računalnikov, namizij, ali morda celo žarnice. 737 00:35:14,960 --> 00:35:17,340 >> Medtem, govorilne ure in podporno strukturo. 738 00:35:17,340 --> 00:35:20,480 In zdaj bi že bil boljši čas za vas vse bruhati. 739 00:35:20,480 --> 00:35:24,310 >> Uradne ure bodo potekale štiri noči teden za več ur vsako noč 740 00:35:24,310 --> 00:35:27,710 s splošno 20 in 30 od Osebje Seveda je dežurni naenkrat 741 00:35:27,710 --> 00:35:31,240 da vam z intimno ena-na-ena možnosti za podporo 742 00:35:31,240 --> 00:35:33,790 s problemskih sklopov predmeta je. 743 00:35:33,790 --> 00:35:36,120 Tudi Vadenje bo voljo, zlasti 744 00:35:36,120 --> 00:35:39,630 za študente manj comfortable-- ali si trditi, vsaj comfortable-- za katere 745 00:35:39,630 --> 00:35:41,869 Uradne ure niso Najbolj Negovanje okolje 746 00:35:41,869 --> 00:35:43,660 in zagotovo niso najbolj brez stresa. 747 00:35:43,660 --> 00:35:47,430 Še posebej, če roki so stiskanje, bomo proaktivno vas seznaniti sebe 748 00:35:47,430 --> 00:35:51,440 s članom osebja za delo z na nekem rednem urniku, kot vaše potrebe 749 00:35:51,440 --> 00:35:53,850 in njihov urnik dopušča. 750 00:35:53,850 --> 00:35:55,260 >> In osebje. 751 00:35:55,260 --> 00:36:01,020 Dovolite mi, da predstavim Davon Rob, Gabriel, letošnji glave. 752 00:36:01,020 --> 00:36:02,370 Če bi vsak rad say-- 753 00:36:02,370 --> 00:36:03,349 >> [APLAVZ] 754 00:36:03,349 --> 00:36:03,849 --a beseda. 755 00:36:03,849 --> 00:36:05,328 [APLAVZ] 756 00:36:05,328 --> 00:36:10,270 757 00:36:10,270 --> 00:36:13,220 Davon tukaj je Vodja seveda je, kar 758 00:36:13,220 --> 00:36:15,730 pomeni v svoji polni delovni čas vlogi mu pomaga pri izvedbi 759 00:36:15,730 --> 00:36:18,424 in logistika CS50. 760 00:36:18,424 --> 00:36:19,340 DAVON: Ja, zdravo, fantje. 761 00:36:19,340 --> 00:36:20,965 Videli boste veliko za mene uradnih ur. 762 00:36:20,965 --> 00:36:22,110 Jaz se bom učil oddelke. 763 00:36:22,110 --> 00:36:25,150 In če si ustrelil emails naprej, Verjetno bom se odziva. 764 00:36:25,150 --> 00:36:27,670 Tako da bom videl veliko vas vse semester. 765 00:36:27,670 --> 00:36:29,890 In dobrodošli na CS50. 766 00:36:29,890 --> 00:36:38,330 >> DAVID J. Malan: In zdaj Gabriel, ki je sam je bil le novinec lani, 767 00:36:38,330 --> 00:36:41,820 ampak za zadnjih nekaj let, ima posluje svojo različico CS50 768 00:36:41,820 --> 00:36:44,660 v Braziliji, pri čemer je preneseno vse tečaja je content-- 769 00:36:44,660 --> 00:36:46,890 kar je dokaz, posnet in postavi online-- 770 00:36:46,890 --> 00:36:51,480 tako da je lahko to prevesti Portugalsko in nato naučil več kot 100 771 00:36:51,480 --> 00:36:54,610 njegovih sošolcev več potek nekaj let, 772 00:36:54,610 --> 00:36:57,650 poučevanje v svojem maternem jeziku Učni načrt predmeta je. 773 00:36:57,650 --> 00:36:58,964 >> GABRIEL: Pozdravljeni. 774 00:36:58,964 --> 00:37:00,912 >> [APLAVZ] 775 00:37:00,912 --> 00:37:06,669 776 00:37:06,669 --> 00:37:07,710 GABRIEL: Živjo, jaz sem Gabriel. 777 00:37:07,710 --> 00:37:09,340 Jaz sem vodja TF tečaja. 778 00:37:09,340 --> 00:37:10,780 In upam, da vam bo všeč CS50. 779 00:37:10,780 --> 00:37:12,830 To je CS50. 780 00:37:12,830 --> 00:37:14,697 >> DAVID J. Malan: Zdaj za Robu. 781 00:37:14,697 --> 00:37:15,780 Oh, želite uvod? 782 00:37:15,780 --> 00:37:16,696 >> ROB: Ne, ne vem. 783 00:37:16,696 --> 00:37:18,225 [Smeh] 784 00:37:18,225 --> 00:37:19,475 DAVID J. Malan: In Rob Boden. 785 00:37:19,475 --> 00:37:22,300 [Smeh] 786 00:37:22,300 --> 00:37:23,800 ROB: Živjo, jaz sem Rob. 787 00:37:23,800 --> 00:37:27,220 To je moje peto leto ukvarja s tekom. 788 00:37:27,220 --> 00:37:29,220 Vsako leto, to je samo boljši in boljši razred, 789 00:37:29,220 --> 00:37:31,550 tako fantje so očitno bo super. 790 00:37:31,550 --> 00:37:33,181 Upam, da ste vsi zabavajte se z njo. 791 00:37:33,181 --> 00:37:34,430 Grem, da se zabava z njo. 792 00:37:34,430 --> 00:37:36,670 Torej, se vidimo. 793 00:37:36,670 --> 00:37:38,445 >> DAVID J. Malan: In čas ne dovoli us-- 794 00:37:38,445 --> 00:37:39,670 >> [APLAVZ] 795 00:37:39,670 --> 00:37:41,661 >> Čas nam ne dovoli uvesti vse 796 00:37:41,661 --> 00:37:44,660 na odru in vse njihove sodelavce ki so nakupovanje razredov danes. 797 00:37:44,660 --> 00:37:47,390 Ampak, dovolite mi, da predstavim Belinda in CS50 Puzzle 798 00:37:47,390 --> 00:37:49,550 Dan, ki čaka to prihod sobota, ki 799 00:37:49,550 --> 00:37:51,800 je v prvi vrsti veliki dogodki lestvica Seveda je. 800 00:37:51,800 --> 00:37:54,300 >> Ta je zlasti mišljeno kladivo domov točka 801 00:37:54,300 --> 00:37:57,580 da računalništvo v končni fazi Ne gre za programiranje, ampak 802 00:37:57,580 --> 00:37:59,280 glede reševanja problemov na splošno. 803 00:37:59,280 --> 00:38:01,450 In Puzzle dan, saj boste glej, vas bo popeljal 804 00:38:01,450 --> 00:38:04,207 in tvoji sošolci together-- upamo, da bomo to soboto. 805 00:38:04,207 --> 00:38:04,961 >> BELINDA: OK. 806 00:38:04,961 --> 00:38:05,750 Zdravo, fantje. 807 00:38:05,750 --> 00:38:06,740 Torej, hvala. 808 00:38:06,740 --> 00:38:10,120 Tako kot naš slavni kapitan je dejal, moje ime je Belinda. 809 00:38:10,120 --> 00:38:12,100 Sem študent drugega letnika na Quincy House. 810 00:38:12,100 --> 00:38:15,730 >> I, tako kot fantje, je CS50 lani, res ljubil. 811 00:38:15,730 --> 00:38:17,960 Imam mehko spot za ti fantje v tretji vrsti. 812 00:38:17,960 --> 00:38:21,384 In jaz sem ponosen, da reči, da sem zdaj v predanega razmerja 813 00:38:21,384 --> 00:38:22,300 z CS50 [neslišno]. 814 00:38:22,300 --> 00:38:22,799 OK. 815 00:38:22,799 --> 00:38:26,140 To je bil moj lame različica šalo. 816 00:38:26,140 --> 00:38:28,320 >> Kakorkoli že, tako premika naprej, samo hotel povabiti 817 00:38:28,320 --> 00:38:31,439 vi vsi na i-lab, ali HBS koprivnica. 818 00:38:31,439 --> 00:38:33,730 Bomo se ob Puzzle dan 12:00-03:00. 819 00:38:33,730 --> 00:38:37,680 In to je odlična priložnost za vas Fantje, ki izpolnjuje vaše kolege CS prijatelje, 820 00:38:37,680 --> 00:38:42,780 rešiti nekatere non-CS uganke, kot stotnik omenjeno, pa tudi jedel brezplačno hrano, 821 00:38:42,780 --> 00:38:46,910 zaslužite nekaj super nagrade, kot so darilne kartice 75 $ na osebo, 822 00:38:46,910 --> 00:38:48,400 in also-- kaj je bilo? 823 00:38:48,400 --> 00:38:49,540 Wii U, ali kaj? 824 00:38:49,540 --> 00:38:50,333 Wii U? 825 00:38:50,333 --> 00:38:51,040 Da. 826 00:38:51,040 --> 00:38:52,330 Za našo nagradno igro. 827 00:38:52,330 --> 00:38:52,830 Awesome. 828 00:38:52,830 --> 00:38:54,310 Tako da bom ostal po pouku. 829 00:38:54,310 --> 00:38:56,770 In če imate vi koli vprašanja, povej mi. 830 00:38:56,770 --> 00:38:59,980 >> DAVID J. Malan: In boste videli, onstran To ni nič storiti danes. 831 00:38:59,980 --> 00:39:01,920 Prvi problem je določeno bo šel ven petek. 832 00:39:01,920 --> 00:39:05,420 Ampak, da bi nas pripeljal domov danes, rad bi vam predstavim še posebej ena 833 00:39:05,420 --> 00:39:09,080 član osebja, Colton Ogden tukaj, katerih roke so zdaj 834 00:39:09,080 --> 00:39:12,250 zaščitena nad vami s to MIDI kontroler 835 00:39:12,250 --> 00:39:15,170 za dodatno točko kladivo domov da računalništvo, preveč, 836 00:39:15,170 --> 00:39:19,130 je uporabnost daleč inženiring in STEM in računalništvo sam, 837 00:39:19,130 --> 00:39:22,890 zajema tudi takih področjih, kot glasbo. 838 00:39:22,890 --> 00:39:30,590 >> Colton je vljudno offered-- sem mislil eden izmed njih se je dogajalo, da se določi ostrino. 839 00:39:30,590 --> 00:39:34,400 Andrew, če bi lahko prikliče poudarek sem za trenutek. 840 00:39:34,400 --> 00:39:36,780 >> Kaj Colton je naredil vnaprej je program, 841 00:39:36,780 --> 00:39:40,345 ta naprava, to blazinica gumbov da vidite na sliki tukaj gor, 842 00:39:40,345 --> 00:39:42,470 kot krmilnik MIDI, pri čemer je vsak od teh gumbov 843 00:39:42,470 --> 00:39:47,080 je nakazan na določeno glasbeno noto ali zvok, bolj splošno snemanje, 844 00:39:47,080 --> 00:39:50,445 tako, da z igranjem vzorce teh gumbi, podobno kot vzorcev bitov, 845 00:39:50,445 --> 00:39:52,620 lahko predstavlja druge Višje koncepti ravni. 846 00:39:52,620 --> 00:39:56,750 Bo lahko na koncu da nas bo danes doma tukaj? 847 00:39:56,750 --> 00:39:59,540 Brez odlašanja, če je smo lahko zatemnite, 848 00:39:59,540 --> 00:40:03,145 in nato na zaslonu v ozadju Colton. 849 00:40:03,145 --> 00:40:03,865 >> OBČINSTVO: Woo! 850 00:40:03,865 --> 00:40:06,090 >> DAVID J. Malan: To je CS50. 851 00:40:06,090 --> 00:40:10,518 >> [Predvajanje glasbe] 852 00:40:10,518 --> 00:42:46,018 853 00:42:46,018 --> 00:42:49,420 >> [APLAVZ] 854 00:42:49,420 --> 00:42:54,766 855 00:42:54,766 --> 00:42:56,450 >> To je to za CS50. 856 00:42:56,450 --> 00:42:57,950 Vas bomo videli v petek. 857 00:42:57,950 --> 00:42:59,890 Nekateri cake vas čaka v prečni ladji. 858 00:42:59,890 --> 00:43:04,046 859 00:43:04,046 --> 00:43:08,850 >> [Predvajanje glasbe] 860 00:43:08,850 --> 00:45:49,227