1 00:00:00,000 --> 00:00:03,440 >> [Prehrávanie hudby] 2 00:00:03,440 --> 00:01:57,217 3 00:01:57,217 --> 00:02:00,710 >> [APPLAUSE] 4 00:02:00,710 --> 00:02:05,700 5 00:02:05,700 --> 00:02:09,669 >> David J. Malan: To je CS50, Úvod Harvard University 6 00:02:09,669 --> 00:02:12,370 duševného podniky informatiky 7 00:02:12,370 --> 00:02:14,180 a umenie programovania. 8 00:02:14,180 --> 00:02:17,530 Teraz, ak patríte k tým, ktoré Každý rok sa tu sedí 9 00:02:17,530 --> 00:02:21,450 s trochu nervov vo vašej mysli, ako , Že si nemyslím, že sem patrím, 10 00:02:21,450 --> 00:02:24,270 si myslíte, že najviac niekto sedí okolo vás 11 00:02:24,270 --> 00:02:27,730 vie oveľa viac ako vy, je skutočne pohodlnejšie ako tie pri počítači 12 00:02:27,730 --> 00:02:30,430 veda alebo počítača všeobecnejšie, realizovať 13 00:02:30,430 --> 00:02:36,140 že 78% študentov, ktorí sa sa CS50 mať žiadne predchádzajúce skúsenosti. 14 00:02:36,140 --> 00:02:39,570 >> V skutočnosti, tam je 100 bodov tam na displeji, 78, z ktorých 15 00:02:39,570 --> 00:02:43,540 sú zelene, ktorá vás znamená, ak ste mimo, že demografické, 16 00:02:43,540 --> 00:02:46,420 sú vo veľmi dobrej spoločnosti tu na von. 17 00:02:46,420 --> 00:02:50,320 A ak ste miesto medzi 22% CS50 študentov, ktorí to naozaj 18 00:02:50,320 --> 00:02:53,920 mať predchádzajúce skúsenosti, či už v vysokej školy alebo nejaký iný program, 19 00:02:53,920 --> 00:02:56,430 uvedomiť si, že aj vy, bude byť spochybnená v priebehu. 20 00:02:56,430 --> 00:02:59,930 >> Nielen, že máme rôzne stopy pre študentov menej pohodlná a viac 21 00:02:59,930 --> 00:03:03,789 komfortné podobne v oddieloch sme tiež takzvané hackerské vydania 22 00:03:03,789 --> 00:03:06,080 z najviac problémové okruhy, ktoré Dotkne sa tým študentom, 23 00:03:06,080 --> 00:03:09,650 s tým ďalšie skúsenosti preskúmať podobný materiál 24 00:03:09,650 --> 00:03:12,140 ale z viacerých sofistikovaný pohľad. 25 00:03:12,140 --> 00:03:13,900 >> Ale to, čo je počítačová veda? 26 00:03:13,900 --> 00:03:17,750 No, nakoniec, čo sa deje na ohľadu na to, ako si prezrieť toto pole nie je 27 00:03:17,750 --> 00:03:20,500 tak kde ste skončili vo vzťahu ku svojim spolužiakom, 28 00:03:20,500 --> 00:03:25,350 ale tam, kde vy sami skončia v týždeň 12 proti, kde začnete tu 29 00:03:25,350 --> 00:03:26,720 v týždni nula. 30 00:03:26,720 --> 00:03:31,850 Teraz počítač science-- dobre, poďme hovoriť veda computation-- 31 00:03:31,850 --> 00:03:35,910 kde výpočet je naozaj len ozdobný spôsob, ako hovoriť, pričom nejaký vstup, 32 00:03:35,910 --> 00:03:39,460 produkovať nejaký výstup, a Pritom by sa systémom algoritmov, 33 00:03:39,460 --> 00:03:43,700 sady inštrukcií pre riešenie nejaký problém z týchto vstupov 34 00:03:43,700 --> 00:03:48,460 aby produkoval nejaký výstup alebo riešenie, v ktorom máte záujem. 35 00:03:48,460 --> 00:03:51,310 >> Takže sme v poslednom čase príležitosť cestovať von 36 00:03:51,310 --> 00:03:53,170 do Kalifornie, aby stretnutie s absolventkou. 37 00:03:53,170 --> 00:03:54,650 Jej meno je Susan Wojcická. 38 00:03:54,650 --> 00:03:57,190 A ona chcela hovoriť aby ste tu na videu 39 00:03:57,190 --> 00:04:01,690 svedčiť o tom, ako použiť dokonca len chuť počítača 40 00:04:01,690 --> 00:04:03,770 veda vo úvodná úroveň môže byť. 41 00:04:03,770 --> 00:04:06,870 Dokonca aj keď nechcete ísť na sledovať počítačovej vedy ako pole, 42 00:04:06,870 --> 00:04:09,330 alebo dokonca inžinierstva, STEM alebo všeobecnejšie 43 00:04:09,330 --> 00:04:12,360 uvidíte, v skutočnosti, ako určitá Samozrejme tak ovplyvnila jej život. 44 00:04:12,360 --> 00:04:16,630 A ona len proste to vzal, keď Bol senior tu na Harvard College. 45 00:04:16,630 --> 00:04:19,482 >> Ak by sme mohli stlmiť svetlá pre Susan. 46 00:04:19,482 --> 00:04:20,690 SUSAN Wójcicki: Hello, world. 47 00:04:20,690 --> 00:04:22,100 Ja som Susan Wojcická. 48 00:04:22,100 --> 00:04:24,110 Som generálny riaditeľ YouTube. 49 00:04:24,110 --> 00:04:29,150 A vzal som CS50, keď som bol senior na Harvarde v roku 1990. 50 00:04:29,150 --> 00:04:31,220 Bol som vlastne história a literatúra major. 51 00:04:31,220 --> 00:04:36,760 >> A môj junior v lete, Uvedomil som si, že by som 52 00:04:36,760 --> 00:04:39,060 chcel niečo naučiť o počítačoch. 53 00:04:39,060 --> 00:04:40,930 A tak som sa vrátil. 54 00:04:40,930 --> 00:04:42,500 Vzal som CS50. 55 00:04:42,500 --> 00:04:46,940 Bolo to ťažké, ale bolo to najúžasnejšie trieda I vzal. 56 00:04:46,940 --> 00:04:49,630 >> To zmenilo, ako som sa myslieť na všetko. 57 00:04:49,630 --> 00:04:55,810 A keď som vyštudoval Harvard v roku 1990, som išiel do Silicon Valley. 58 00:04:55,810 --> 00:04:57,140 A ja som dostal prácu. 59 00:04:57,140 --> 00:05:00,150 A ja som pracoval v tech odvtedy. 60 00:05:00,150 --> 00:05:02,650 David J. Malan: Čo teraz Susan nezmienil v tomto videu, 61 00:05:02,650 --> 00:05:05,340 že to bolo vlastne v nej garáž, že Google sám bol 62 00:05:05,340 --> 00:05:07,420 založil Larry a Sergey. 63 00:05:07,420 --> 00:05:11,169 >> Teraz sme sa tiež natiahol k našim priateľom v code.org, organizácie, ktorá 64 00:05:11,169 --> 00:05:13,460 v priebehu minulého roka bolo prinútiť ľudí, najmä 65 00:05:13,460 --> 00:05:16,520 nadšený informatike a programovania, a to najmä. 66 00:05:16,520 --> 00:05:20,590 Ale je potrebné poznamenať, že programovanie nie je počítačová veda sama o sebe. 67 00:05:20,590 --> 00:05:22,090 Počítačová veda nie je programovanie. 68 00:05:22,090 --> 00:05:24,560 Skôr programovanie je len tool--, s ktorými vás všetky 69 00:05:24,560 --> 00:05:27,510 Bude až príliš dobre oboznámení by semestra end-- 70 00:05:27,510 --> 00:05:30,650 tak, že môžete použiť nie len preto, aby budúce kurzy v SK 71 00:05:30,650 --> 00:05:33,670 ale akýmikoľvek oblastí, odkiaľ ideš v humanitných, 72 00:05:33,670 --> 00:05:36,090 spoločenské vedy, prírodné veda, alebo podobne. 73 00:05:36,090 --> 00:05:39,740 >> V skutočnosti, dovoľte niekoľko ďalších absolventov a ich kolegovia 74 00:05:39,740 --> 00:05:43,400 hovoriť o použiteľnosti pole, ktoré čaká. 75 00:05:43,400 --> 00:05:52,340 76 00:05:52,340 --> 00:05:57,350 >> Bill Gates: Bol som 13, keď som sa prvýkrát dostal prístup k počítaču. 77 00:05:57,350 --> 00:06:00,485 >> JACK DORSEY: Moji rodičia mi kúpil Macintosh v roku 1984 78 00:06:00,485 --> 00:06:01,640 keď mi bolo osem rokov starý. 79 00:06:01,640 --> 00:06:02,990 >> Mark Zuckerberg: Bol som v šiestej triede. 80 00:06:02,990 --> 00:06:04,670 >> SPEAKER 1: Naučil som sa ku kódu na vysokej škole. 81 00:06:04,670 --> 00:06:09,080 >> Ruch Sanghvi: prvom ročníku, prvý semester, Úvod do informatiky. 82 00:06:09,080 --> 00:06:11,850 >> Bill Gates: Napísal som program ktorý hral tic-tac-toe. 83 00:06:11,850 --> 00:06:14,100 >> DREW HOUSTON: Myslím, že to bolo docela skromné ​​začiatky. 84 00:06:14,100 --> 00:06:16,370 Myslím, že prvý program Napísal som žiadal veci ako, 85 00:06:16,370 --> 00:06:17,820 Aká je vaša obľúbená farba? 86 00:06:17,820 --> 00:06:18,696 Alebo koľko máte rokov? 87 00:06:18,696 --> 00:06:21,070 ELENA SILENOK: Prvýkrát som sa naučil ako sa robí zelený kruh 88 00:06:21,070 --> 00:06:23,670 a červený štvorec sa objaví na obrazovke. 89 00:06:23,670 --> 00:06:25,420 Gabe NEWELL: Prvý Doba vlastne som mal 90 00:06:25,420 --> 00:06:27,360 niečo prísť a povedať ahoj, svet. 91 00:06:27,360 --> 00:06:29,710 A urobil som počítač robiť. 92 00:06:29,710 --> 00:06:30,850 Bolo to jednoducho úžasné. 93 00:06:30,850 --> 00:06:33,224 >> Mark Zuckerberg: Učiť sa, ako k programu nezačala off 94 00:06:33,224 --> 00:06:35,450 ako chcieť sa učiť všetky počítačové vedy 95 00:06:35,450 --> 00:06:38,630 alebo sa snaží zvládnuť tento disciplína, alebo niečo také. 96 00:06:38,630 --> 00:06:41,591 Je to len nastupuje preto, že som chcel urobiť jednu jednoduchú vec. 97 00:06:41,591 --> 00:06:44,340 Chcel som urobiť niečo, čo Bola to zábava pre mňa a mojej sestry. 98 00:06:44,340 --> 00:06:46,399 >> A som napísal tento malý program. 99 00:06:46,399 --> 00:06:48,440 A potom v podstate len pridal trochu na to. 100 00:06:48,440 --> 00:06:49,930 A potom, keď som potreboval naučiť sa niečo nové, 101 00:06:49,930 --> 00:06:52,210 Našiel som si to, či už v knihy alebo na internete, 102 00:06:52,210 --> 00:06:53,240 a potom pridal trochu na to. 103 00:06:53,240 --> 00:06:56,300 >> DREW HOUSTON: Je to naozaj nie je na rozdiel od hranie na hudobný nástroj, alebo tak niečo 104 00:06:56,300 --> 00:07:00,007 alebo hranie šport. 105 00:07:00,007 --> 00:07:01,090 David J. Malan: Dobre. 106 00:07:01,090 --> 00:07:04,120 Takže dajte nám teraz vlastne ponoriť trochu hlbšie. 107 00:07:04,120 --> 00:07:07,430 Aké sú tieto vstupy a výstupy že hovoríme o tu? 108 00:07:07,430 --> 00:07:09,110 >> Tak ako je to s niečím jednoduchým? 109 00:07:09,110 --> 00:07:12,120 Asi viete, aj keď máte žiadna znalosť výpočtovej techniky 110 00:07:12,120 --> 00:07:16,570 vôbec, že ​​počítače nejakým spôsobom použiť a chápe iba núl a jednotiek. 111 00:07:16,570 --> 00:07:20,500 Ale ako je to možné mať ako Veľa dnešné stolové počítače a notebooky podobne 112 00:07:20,500 --> 00:07:21,280 môže urobiť? 113 00:07:21,280 --> 00:07:24,310 >> DNA dňa, len abeceda, že chápu 114 00:07:24,310 --> 00:07:26,410 je nula alebo jedna. 115 00:07:26,410 --> 00:07:27,470 No, to považujú. 116 00:07:27,470 --> 00:07:30,840 My, ľudia, majú tendenciu používať desiatková sústava. "December", čo znamená 10. 117 00:07:30,840 --> 00:07:33,970 A to je 10, pretože máme 10 číslic, 0 až deväť. 118 00:07:33,970 --> 00:07:36,180 >> Teraz počítača, naopak majú tendenciu používať binárne. 119 00:07:36,180 --> 00:07:37,270 "Bi", čo znamená dva. 120 00:07:37,270 --> 00:07:39,560 Takže majú tendenciu len nula a jedna na použitie. 121 00:07:39,560 --> 00:07:42,680 Ale ukazuje sa, že aj len s nulami a jednotkami, že 122 00:07:42,680 --> 00:07:45,900 je dostatočne veľkej abecedy s, ktorý predstavujú väčšinu 123 00:07:45,900 --> 00:07:48,490 niektorý údaj chcete, či už je to číslo, 124 00:07:48,490 --> 00:07:52,100 či už je to list, či už je to grafiky alebo videa na obrazovke. 125 00:07:52,100 --> 00:07:57,140 >> Zoberme si napríklad, ako sa ľudia typicky interpretujú toto číslo tu. 126 00:07:57,140 --> 00:08:00,010 To je len tri číslice, jeden, dva, tri. 127 00:08:00,010 --> 00:08:04,570 Ale my vieme, toto číslo prirodzene teraz ako 123. 128 00:08:04,570 --> 00:08:05,510 Ale prečo je to tak? 129 00:08:05,510 --> 00:08:07,570 >> No, ak si myslíte, že späť aby snáď na základnej škole, 130 00:08:07,570 --> 00:08:11,700 pravdepodobne ste sa učili myslieť Tieto čísla, ako by bola v stĺpcoch, 131 00:08:11,700 --> 00:08:14,700 kde jeden je v stovkách miesto, dva je v mieste desiatok, 132 00:08:14,700 --> 00:08:16,360 a tri sú na miesto jednotiek. 133 00:08:16,360 --> 00:08:17,790 Prečo je to, že v skutočnosti užitočné? 134 00:08:17,790 --> 00:08:19,665 No, myslím, že o Super jednoduchý aritmetický 135 00:08:19,665 --> 00:08:22,219 že sme všetci boli robí už roky. 136 00:08:22,219 --> 00:08:24,510 Účinne, ak máte jeden na stovky mieste, 137 00:08:24,510 --> 00:08:29,610 urobíte rýchly matematiky 100 krát 1 plus 10 krát 2-- 138 00:08:29,610 --> 00:08:33,059 pretože dva je v poriadku desiatok place-- navyše 1 krát 3-- 139 00:08:33,059 --> 00:08:34,830 pretože tri je na miesto jednotiek. 140 00:08:34,830 --> 00:08:37,039 Takže, samozrejme, ak my vlastne množia sa na to, 141 00:08:37,039 --> 00:08:39,600 to, čo sme skutočne predstavuje s týmto jedným pattern-- 142 00:08:39,600 --> 00:08:46,150 dve tři-- 100 Plus 20 Plus 3, ktorý, samozrejme, je 123. 143 00:08:46,150 --> 00:08:51,130 >> Teraz binárne a počítače naozaj, zásadne hovoria rovnakým jazykom 144 00:08:51,130 --> 00:08:51,680 , Čo robíme. 145 00:08:51,680 --> 00:08:53,400 Oni jednoducho majú menšiu abecedu. 146 00:08:53,400 --> 00:08:57,100 Takže počítače majú len nuly a tie, ktoré majú k dispozícii. 147 00:08:57,100 --> 00:09:02,500 Takže zatiaľ čo my ľudia majú v podstate právomoci 10 v každej z týchto places-- 148 00:09:02,500 --> 00:09:06,810 10 až na nulu, 10 k jednej, desať pre dvoch, ktorá vám 110 a 100 149 00:09:06,810 --> 00:09:07,700 resp. 150 00:09:07,700 --> 00:09:12,140 >> Pretože počítače majú len dve hodnoty mohli pochopiť, nula a jedna, 151 00:09:12,140 --> 00:09:16,600 majú použiť rôzne hodnoty v týchto stĺpcoch, jeden, dva, štyri. 152 00:09:16,600 --> 00:09:20,480 A ak budeme ďalej, osem, 16, 32, 64, a tak ďalej. 153 00:09:20,480 --> 00:09:24,220 Ale vzor a mentalita je úplne rovnaký. 154 00:09:24,220 --> 00:09:27,340 >> Takže tejto logickej, nikomu by sa ako Chodím na číslo predstavuje počet 155 00:09:27,340 --> 00:09:28,530 jeden v binárnej? 156 00:09:28,530 --> 00:09:33,080 Ak ste nikdy ani nenapadlo o predtým, čo sa vaše črevá povedať? 157 00:09:33,080 --> 00:09:33,777 >> DIVÁKOV: One. 158 00:09:33,777 --> 00:09:34,610 David J. Malan: One. 159 00:09:34,610 --> 00:09:35,660 Presne tak. 160 00:09:35,660 --> 00:09:38,100 Potrebujeme len jedna ku Ones miesto pretože nulami 161 00:09:38,100 --> 00:09:40,610 stačiť, aby nás ani štyri, ani dve. 162 00:09:40,610 --> 00:09:42,440 Takže jedna krát jedna sa rovná jednej. 163 00:09:42,440 --> 00:09:43,940 Teraz sa veci trochu zaujímavejšie. 164 00:09:43,940 --> 00:09:46,830 Ak chcem reprezentovať v binárne číslo dva--, ale 165 00:09:46,830 --> 00:09:49,790 znova, aj keď ste nikdy hovorený tento jazyk skôr, 166 00:09:49,790 --> 00:09:54,680 ako sa môžeme reprezentovať v binárnom hodnotu, ktorú ľudia poznajú ako dva? 167 00:09:54,680 --> 00:09:55,570 Nula jedna nula. 168 00:09:55,570 --> 00:09:57,620 Stačí dať jeden v stĺpec, ktorý chcete. 169 00:09:57,620 --> 00:09:59,560 >> Teraz je to stále dosť ľahko asi teraz. 170 00:09:59,560 --> 00:10:02,950 Takže ak chcem reprezentovať tři-- je stĺpec ničím tri je. 171 00:10:02,950 --> 00:10:06,770 Takže znova, teraz môžem pridať tieto hodnoty dohromady tým, že jeden tu. 172 00:10:06,770 --> 00:10:10,320 SO 2 krát 1 plus 1 krát 1 je, samozrejme, 3. 173 00:10:10,320 --> 00:10:13,480 >> Teraz sa veci trochu pobaviť v že tie sa stanú nuly. 174 00:10:13,480 --> 00:10:15,480 A reprezentovať štyri, ja si to. 175 00:10:15,480 --> 00:10:19,310 A ak budeme zvyšovať pomaly tady--, že by bolo päť. 176 00:10:19,310 --> 00:10:20,700 To by bolo šesť. 177 00:10:20,700 --> 00:10:22,100 To by bolo sedem. 178 00:10:22,100 --> 00:10:25,310 >> Ale teraz sa zdá, že majú naraziť na problém. 179 00:10:25,310 --> 00:10:30,520 Ako by som mohol ísť o zastupovaní eight-- by byť ďalšia hodnota. 180 00:10:30,520 --> 00:10:31,900 Jo, takže potrebujeme nové kúsky. 181 00:10:31,900 --> 00:10:33,899 A skutočne, ak ste počula túto frázu, 182 00:10:33,899 --> 00:10:37,380 bity, to je len krátky binárne číslice, nula alebo jedna. 183 00:10:37,380 --> 00:10:41,520 >> A tak som sa stalo, že sa predstavuje iba tri takéto kúsky tu. 184 00:10:41,520 --> 00:10:44,900 Ale keď som mal možnosť ukladania nie je tri rôzne kúsky, ale štyri, 185 00:10:44,900 --> 00:10:47,250 Iste by som mohol predstavovať osem, a potom deväť, a potom 186 00:10:47,250 --> 00:10:49,400 10, a ešte vyššie a vyššie. 187 00:10:49,400 --> 00:10:52,140 >> Ale to potom volá na otázku, ako môžeme 188 00:10:52,140 --> 00:10:54,540 ísť o zobrazovanie týchto veci na prvom mieste. 189 00:10:54,540 --> 00:10:56,950 To je jedna vec k tomu je tu na snímke, 190 00:10:56,950 --> 00:11:00,660 ale ako si ich predstavujú ak ste mechanické zariadenie? 191 00:11:00,660 --> 00:11:04,390 Čo je to počítač robí predstavujú vstupy a výstupy, ktoré 192 00:11:04,390 --> 00:11:09,020 zásadne definujú výpočet Na konci dňa? 193 00:11:09,020 --> 00:11:12,090 >> No, čo o niečom super jednoduché takto? 194 00:11:12,090 --> 00:11:13,200 Je to len žiarovka. 195 00:11:13,200 --> 00:11:15,460 A môžem spustiť tento žiarovka ďalej 196 00:11:15,460 --> 00:11:17,920 otočením nejaké elektrickej energie na a umožňujúce elektróny 197 00:11:17,920 --> 00:11:22,585 pretekať, ktorým sa mení jej štát alebo jeho hodnota, aby som tak povedal. 198 00:11:22,585 --> 00:11:24,460 Napríklad, to je old school stolná lampa 199 00:11:24,460 --> 00:11:27,250 tu sa jedna taká Žiarovka vnútri nej. 200 00:11:27,250 --> 00:11:29,940 A práve teraz, že to nie je naozaj robia niečo užitočného. 201 00:11:29,940 --> 00:11:32,680 Ale akonáhle som ju pripojte do elektrickej zásuvky 202 00:11:32,680 --> 00:11:36,390 a potom použite túto switch-- alebo môžeme dokonca hovoriť tranzistor 203 00:11:36,390 --> 00:11:39,970 alebo myslíte, že na to, ako such-- Teraz môžem reprezentovať buď 204 00:11:39,970 --> 00:11:44,120 Táto hodnota, kde je žiarovka samozrejme mimo, alebo je táto hodnota. 205 00:11:44,120 --> 00:11:46,060 Táto hodnota, alebo je táto hodnota. 206 00:11:46,060 --> 00:11:47,520 Táto hodnota, a tak ďalej. 207 00:11:47,520 --> 00:11:51,220 >> Takže vnútri počítača, pravdepodobne, sú oveľa menšie kusy hardvéru, 208 00:11:51,220 --> 00:11:52,970 ale, že na konci dňa jednoducho 209 00:11:52,970 --> 00:11:55,360 použiť electricity-- Možno zachytiť to-- 210 00:11:55,360 --> 00:11:59,730 a potom buď držať niečo alebo držať niečo vypnúť. 211 00:11:59,730 --> 00:12:02,021 Samozrejme, že to nie je obzvlášť zaujímavé robiť 212 00:12:02,021 --> 00:12:03,270 iba s jedinou žiarovkou. 213 00:12:03,270 --> 00:12:06,726 >> V skutočnosti, ako vysoko môžem počítať v binárne s týmto tu lampou? 214 00:12:06,726 --> 00:12:07,420 >> DIVÁKOV: One. 215 00:12:07,420 --> 00:12:08,545 >> David J. Malan: Jedna, že jo? 216 00:12:08,545 --> 00:12:11,020 Potrebujem viac stolové lampy, keď vlastne chcete spočítať vyššia. 217 00:12:11,020 --> 00:12:12,210 Ale môžeme urobiť lepšie než to. 218 00:12:12,210 --> 00:12:14,460 Vzhľadom k tomu, že žiarovky dali sme v týchto veciach 219 00:12:14,460 --> 00:12:17,730 sú v skutočnosti milovník žiarovky ako minulý rok by umožnila. 220 00:12:17,730 --> 00:12:20,310 A oni sú vlastne sieťové žiarovky. 221 00:12:20,310 --> 00:12:23,160 A zväzky firiem aby tieto veci v týchto dňoch. 222 00:12:23,160 --> 00:12:25,190 >> Ale ukázalo sa, že tahle najmä 223 00:12:25,190 --> 00:12:27,680 prichádza s funkciou, pričom môžete zmeniť jeho farbu. 224 00:12:27,680 --> 00:12:30,810 Tak napríklad, ak zdobia svoje koľaji izba 225 00:12:30,810 --> 00:12:33,200 s niekoľkými z týchto svetla cibule, v závislosti na vašej nálade, 226 00:12:33,200 --> 00:12:35,366 v závislosti na tom, kto príde, v závislosti na počasí, 227 00:12:35,366 --> 00:12:37,360 v závislosti na čase dňa, môžete skutočne 228 00:12:37,360 --> 00:12:40,300 zmeniť farby žiarovky vo svojej izbe. 229 00:12:40,300 --> 00:12:43,740 A to preto, že tieto svetlá žiarovky a jemu podobné to, čo je 230 00:12:43,740 --> 00:12:48,010 volal API, aplikácia programovacie rozhranie, ktoré 231 00:12:48,010 --> 00:12:50,920 je téma, s ktorým budete dobre oboznámení s koncom semestra. 232 00:12:50,920 --> 00:12:53,710 >> A to je len fantázia, mystický spôsob, ako povedať, 233 00:12:53,710 --> 00:12:57,570 môžete naprogramovať tieto svetla žiarovky robiť svoju príkazy. 234 00:12:57,570 --> 00:13:00,360 Môžete ich posielať správy rovnako ako vy, človek, 235 00:13:00,360 --> 00:13:03,640 môžete poslať správu na webový server povedal, daj mi dnešné novinky 236 00:13:03,640 --> 00:13:05,110 alebo mi môj e-mail. 237 00:13:05,110 --> 00:13:08,010 >> Môžete poslať viac tajomný Správy týchto žiaroviek 238 00:13:08,010 --> 00:13:09,700 povedať, zapnúť a vypnúť. 239 00:13:09,700 --> 00:13:11,370 Ale to nie je všetko, že zaujímavé. 240 00:13:11,370 --> 00:13:14,280 Môžete povedať, zapnite červený, zapnúť zelené, zapnúť modré, 241 00:13:14,280 --> 00:13:15,990 všetky s rovnakým žiarovkou. 242 00:13:15,990 --> 00:13:20,990 A dokonca môžete, s trochu viac pútavé, povedzme, obrátiť sa na modrú 243 00:13:20,990 --> 00:13:24,710 keď je to pochmúrny deň vonku, napríklad. 244 00:13:24,710 --> 00:13:27,910 To môže skutočne opraviť do Počasie API a zistiť, 245 00:13:27,910 --> 00:13:32,260 aké počasie je, alebo čas denné, alebo iných takýchto spúšťa. 246 00:13:32,260 --> 00:13:35,550 >> Takže, v skutočnosti, dvaja Vlastní zamestnanci CS50 je, 247 00:13:35,550 --> 00:13:38,827 Dan Bradley a Ansel Duff zadajte prosím opatril 248 00:13:38,827 --> 00:13:40,410 nás celá partia z týchto žiaroviek. 249 00:13:40,410 --> 00:13:42,910 A oni stavali CS50'S vôbec prvý binárne cibule, 250 00:13:42,910 --> 00:13:46,850 kde sme zastúpení tady-- s týmito hravé malé magnets-- 251 00:13:46,850 --> 00:13:49,780 rôzne zástupné symboly my spomínal pred len trochu. 252 00:13:49,780 --> 00:13:52,572 >> Takže cesta sem je Ones miesto, dva, štyri. 253 00:13:52,572 --> 00:13:54,030 A my sme nevideli vyššia, než je. 254 00:13:54,030 --> 00:13:55,613 Ale, samozrejme, že sú sily dva. 255 00:13:55,613 --> 00:13:59,490 Osem, 16, 32, 64 a 128. 256 00:13:59,490 --> 00:14:03,320 Takže ak by som chcel, aby sa trochu milovník než pri použití tejto starej školy prepínač, 257 00:14:03,320 --> 00:14:07,310 Mám tu na tomto iPade Super jednoduché rozhranie 258 00:14:07,310 --> 00:14:10,440 že Dan Bradley, bývalý študent a teraz učí človek, 259 00:14:10,440 --> 00:14:13,510 naprogramovaný pomocou niektoré HTML a JavaScript, ktoré 260 00:14:13,510 --> 00:14:15,685 sú značky a programovanie jazykmi, resp. 261 00:14:15,685 --> 00:14:17,560 A môžete pravdepodobne see-- iv back-- 262 00:14:17,560 --> 00:14:21,670 tam je veľké plus a veľké mínus, navyše jedno tlačidlo pre každý z týchto žiaroviek. 263 00:14:21,670 --> 00:14:25,740 A čo toto mi umožní to je, napríklad, kliknite na znamienko plus 264 00:14:25,740 --> 00:14:28,250 a teraz predstavujú, z Samozrejme, že to číslo? 265 00:14:28,250 --> 00:14:28,750 One. 266 00:14:28,750 --> 00:14:30,220 A ja ho udrel znova. 267 00:14:30,220 --> 00:14:31,480 Dva. 268 00:14:31,480 --> 00:14:32,800 Tri. 269 00:14:32,800 --> 00:14:33,950 Štyri. 270 00:14:33,950 --> 00:14:35,200 Päť. 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 >> A teraz tu máme ten efekt prechodu, ale máme štvrtiny trochu tentoraz, 274 00:14:40,740 --> 00:14:42,180 Takže teraz máme osem. 275 00:14:42,180 --> 00:14:44,000 Takže by sme to mohli urobiť pre docela nejaký čas. 276 00:14:44,000 --> 00:14:46,530 V skutočnosti, ako je stranou, ako vysoko môžeme počítať? 277 00:14:46,530 --> 00:14:48,318 Každý, kto? 278 00:14:48,318 --> 00:14:49,270 >> Divákov: 255. 279 00:14:49,270 --> 00:14:51,420 >> David J. Malan: 255, že jo? 280 00:14:51,420 --> 00:14:54,900 Nebojte sa príliš veľa o matematike pre teraz, ale to je celkom slušné číslo. 281 00:14:54,900 --> 00:14:59,140 Ale to vlastne nie je viazaný len koľko kusov informácií, 282 00:14:59,140 --> 00:15:01,760 ako list alebo grafiku že by sme mohli reprezentovať. 283 00:15:01,760 --> 00:15:02,697 >> Ale bez ohľadu na to, pre teraz. 284 00:15:02,697 --> 00:15:04,530 Chystám sa ísť dopredu a zase je všetko preč. 285 00:15:04,530 --> 00:15:09,670 A keby som mohol, tak by som sa chcel spýtať na dobrovoľník, naša prvá volunteer-- 286 00:15:09,670 --> 00:15:11,342 oh, hello-- na javisku. 287 00:15:11,342 --> 00:15:14,050 Háčik je v tom, musíte byť pohodlné objaviť, ako ste jasne 288 00:15:14,050 --> 00:15:17,421 sú v prednej časti všetkých vašich spolužiakov, , Ako aj na internete. 289 00:15:17,421 --> 00:15:20,420 A dovoľte mi, aby som vyzerať trochu mimo to-- ako je to tu v bielej košeli? 290 00:15:20,420 --> 00:15:20,920 A ruku hore. 291 00:15:20,920 --> 00:15:22,071 Poď hore. 292 00:15:22,071 --> 00:15:22,820 Aké je vaše meno? 293 00:15:22,820 --> 00:15:23,760 >> DIVÁKOV: Jackie. 294 00:15:23,760 --> 00:15:24,718 >> David J. Malan: Jackie. 295 00:15:24,718 --> 00:15:25,820 Jackie, poď hore. 296 00:15:25,820 --> 00:15:29,820 Takže to, čo tam je tiež na tomto iPad je tlačidlo s názvom Game Mode. 297 00:15:29,820 --> 00:15:32,570 A to Herný režim je ma umožniť vstup 298 00:15:32,570 --> 00:15:35,780 v predstihu najmä desatinné číslo, čísla my, ľudia sú 299 00:15:35,780 --> 00:15:36,760 poznáte. 300 00:15:36,760 --> 00:15:39,820 A potom budete mať za úlohu Tu pomocou tlačidiel 301 00:15:39,820 --> 00:15:42,140 na top-- jeden pre Každý z týchto bulbs-- 302 00:15:42,140 --> 00:15:45,050 skutočne zistiť, model žiarovky 303 00:15:45,050 --> 00:15:46,970 , Ktorý predstavuje číslo v otázke. 304 00:15:46,970 --> 00:15:47,790 >> A je mi ľúto, čo sa voláte? 305 00:15:47,790 --> 00:15:48,250 >> DIVÁKOV: Jackie. 306 00:15:48,250 --> 00:15:48,620 >> David J. Malan: Jackie. 307 00:15:48,620 --> 00:15:48,920 V poriadku. 308 00:15:48,920 --> 00:15:49,740 Rád vás spoznávam. 309 00:15:49,740 --> 00:15:54,580 >> Tak nechaj ma ísť napred a program aby sa svet vidieť číslo 15. 310 00:15:54,580 --> 00:15:56,360 Budeme si to malý najprv tu. 311 00:15:56,360 --> 00:15:58,240 A ja idem do režimu hry. 312 00:15:58,240 --> 00:16:01,160 A budem špecifikovať, nám číslo 15. 313 00:16:01,160 --> 00:16:01,900 >> OK. 314 00:16:01,900 --> 00:16:05,510 A teraz sa všetci watching-- ak Ak chcete možná stať týmto spôsobom, 315 00:16:05,510 --> 00:16:09,970 pretože to bude linka up-- pokračovať a prepínať medzi ôsmimi tlačidiel pozdĺž hornej 316 00:16:09,970 --> 00:16:12,530 otočiť žiaroviek na alebo vypnúť, ako uznáte za vhodné. 317 00:16:12,530 --> 00:16:13,530 >> DIVÁKOV: OK. 318 00:16:13,530 --> 00:16:17,720 >> David J. Malan: A žiadny podvádzanie tým, že udrie a 15 krát. 319 00:16:17,720 --> 00:16:19,275 Oh, budeme robiť, že. 320 00:16:19,275 --> 00:16:20,069 >> DIVÁKOV: Oh, počkaj. 321 00:16:20,069 --> 00:16:20,610 Je mi to tak ľúto. 322 00:16:20,610 --> 00:16:22,660 >> David J. Malan: Môžete tiež zapnúť Žiarovky na individuálne 323 00:16:22,660 --> 00:16:24,076 s každou z týchto tlačidiel hore. 324 00:16:24,076 --> 00:16:24,844 DIVÁKOV: Oh, OK. 325 00:16:24,844 --> 00:16:27,429 Tak to by bolo ako-- 326 00:16:27,429 --> 00:16:28,220 David J. Malan: OK. 327 00:16:28,220 --> 00:16:29,100 Takže teraz máme osem. 328 00:16:29,100 --> 00:16:31,280 Takže poďme pozastaviť publikum, aby sa zapojili tu. 329 00:16:31,280 --> 00:16:34,300 Aké číslo je Jackie V súčasnosti zastupuje? 330 00:16:34,300 --> 00:16:34,800 11. 331 00:16:34,800 --> 00:16:35,730 Sme tak skoro tam. 332 00:16:35,730 --> 00:16:38,360 333 00:16:38,360 --> 00:16:39,630 A vynikajúce. 334 00:16:39,630 --> 00:16:41,487 Takže máme prvého víťaza. 335 00:16:41,487 --> 00:16:42,445 Blahoželáme. 336 00:16:42,445 --> 00:16:48,200 >> A my sme si mysleli, že majú niektoré báječné darčeky. 337 00:16:48,200 --> 00:16:50,860 Ak by ste chceli, aby sa jeden taký koľaji izba tu na akademickej pôde, 338 00:16:50,860 --> 00:16:56,126 môžete si mať záverečný projekt pomocou sa toto rozhranie API, vďaka Jackie. 339 00:16:56,126 --> 00:16:57,050 Takže teď-- 340 00:16:57,050 --> 00:16:58,902 >> [APPLAUSE] 341 00:16:58,902 --> 00:17:01,690 342 00:17:01,690 --> 00:17:04,839 >> --if sme mohli, jeden ako okolo tohto. 343 00:17:04,839 --> 00:17:07,690 Oh, teraz chce každý pár žiaroviek. 344 00:17:07,690 --> 00:17:11,790 Pre takzvané hacker vydanie, budeme rozbehnúť to a-- oh, 345 00:17:11,790 --> 00:17:12,770 jo, nič nehovoriace. 346 00:17:12,770 --> 00:17:16,010 Myslím si, že ideš sa teraz ak vaše ruka ide dole. 347 00:17:16,010 --> 00:17:16,800 Aké je vaše meno? 348 00:17:16,800 --> 00:17:17,424 >> DIVÁKOV: Alex. 349 00:17:17,424 --> 00:17:19,440 David J. Malan: Alex, poď sem. 350 00:17:19,440 --> 00:17:26,190 Takže pre Alexa, budeme Program v mierne väčšom počte. 351 00:17:26,190 --> 00:17:27,790 Možno, že v poriadku. 352 00:17:27,790 --> 00:17:29,110 Číslo 50. 353 00:17:29,110 --> 00:17:29,744 >> DIVÁKOV: OK. 354 00:17:29,744 --> 00:17:31,660 David J. Malan: Ale, ako Aj said-- a tie by mohli 355 00:17:31,660 --> 00:17:33,580 chcú postaviť tu tak že tlačidlá line up 356 00:17:33,580 --> 00:17:37,115 ako by ste expect-- ale ja som Nazývam to hacker vydania. 357 00:17:37,115 --> 00:17:47,125 Tak-- veľa šťastia! 358 00:17:47,125 --> 00:17:48,416 >> [SMIECH] 359 00:17:48,416 --> 00:17:58,570 360 00:17:58,570 --> 00:18:02,050 >> Budete mať možnosť sa obrátiť je vypnutý, ak ty-- OK. 361 00:18:02,050 --> 00:18:02,880 Výborne. 362 00:18:02,880 --> 00:18:03,675 Wonderful. 363 00:18:03,675 --> 00:18:04,341 Blahoželáme. 364 00:18:04,341 --> 00:18:08,730 >> [APPLAUSE] 365 00:18:08,730 --> 00:18:10,355 Myslím, že by som mal zaplatiť. 366 00:18:10,355 --> 00:18:11,830 Gratulujeme Alex rovnako. 367 00:18:11,830 --> 00:18:12,330 OK. 368 00:18:12,330 --> 00:18:15,550 >> Takže konečné stánok s jedlom tu je snáď, úprimne povedané, 369 00:18:15,550 --> 00:18:18,109 simplicity-- jednoduchosť, s ktorou 370 00:18:18,109 --> 00:18:20,650 môžete získať nejaké pekné svetlo žiarovky, zrejme v [nepočuteľné]. 371 00:18:20,650 --> 00:18:23,000 Ale predstavujú, nakoniec, rovnaké myšlienky 372 00:18:23,000 --> 00:18:26,310 s akou my ľudia sme už príliš známe. 373 00:18:26,310 --> 00:18:28,660 Takže to, čo je možné, že ďalšie krok je v progresii 374 00:18:28,660 --> 00:18:30,920 že sa snaží robiť niečo zaujímavé údaje 375 00:18:30,920 --> 00:18:34,950 a predstavujúce vstupy, ktoré sú nielen čísla, ale sú možno listy alebo viac? 376 00:18:34,950 --> 00:18:37,820 >> No, ukázalo sa, že počítačový svet, na mnoho rokov, 377 00:18:37,820 --> 00:18:43,300 proste prijala ľubovoľný, ale zodpovedá štandardu, ktorý mapuje čísla 378 00:18:43,300 --> 00:18:44,610 písmen abecedy. 379 00:18:44,610 --> 00:18:47,120 Napríklad, je tu výňatok z tohto mapovania. 380 00:18:47,120 --> 00:18:48,350 Tomu sa hovorí ASCII. 381 00:18:48,350 --> 00:18:53,220 -S-C-I-I. A to je jednoducho tabuľka, ktorá mapuje Uppercase letters-- 382 00:18:53,220 --> 00:18:56,600 v tomto case-- na desiatkové číslo. 383 00:18:56,600 --> 00:18:57,890 >> Ale čo je dôsledok? 384 00:18:57,890 --> 00:19:01,090 No, ak ste skutočne chcú reprezentovať niečo ako e-mail, alebo nejaký text 385 00:19:01,090 --> 00:19:03,310 na webovej stránke, môžete zrejme chcú ukázať 386 00:19:03,310 --> 00:19:06,100 ľudské listy abeceda, nie čísla. 387 00:19:06,100 --> 00:19:09,140 Takže v závislosti na rámci programu 388 00:19:09,140 --> 00:19:12,600 že užívateľ používa, ak je to webový prehliadač alebo e-mailový klient, 389 00:19:12,600 --> 00:19:16,090 Čísla môžu byť pre interpretovať ako písmená. 390 00:19:16,090 --> 00:19:20,290 To znamená, že vzory bitov môže ľahko interpretovať ako písmená. 391 00:19:20,290 --> 00:19:24,700 >> A tak to, čo môžeme mať je písmeno bytosť 392 00:19:24,700 --> 00:19:28,410 reprezentovaný ako 65, B je reprezentovaný ako 66. 393 00:19:28,410 --> 00:19:30,900 Takže ak máme super krátke slovo, rovnako ako hi, 394 00:19:30,900 --> 00:19:35,740 čo počítačový by nakoniec obchod v desiatkovej sústave, ale naozaj binárne, 395 00:19:35,740 --> 00:19:40,070 používať niektoré sekvencie bitov, využitie trochu elektriny nejakým spôsobom, 396 00:19:40,070 --> 00:19:44,010 by byť dve čísla 72 a 73. 397 00:19:44,010 --> 00:19:46,780 >> Ale vzor bitov predstavuje tieto hodnoty. 398 00:19:46,780 --> 00:19:49,820 Tak to potom je, ako môžeme Zastupujeme vstupy a výstupy. 399 00:19:49,820 --> 00:19:52,630 A stačí, keď poviem, môžeme robiť zložitejšie reprezentácie 400 00:19:52,630 --> 00:19:56,450 nakoniec sa veci, ako je grafika, videá, hudbu a ďalšie 401 00:19:56,450 --> 00:19:58,190 ako uvidíme neskôr tento termín. 402 00:19:58,190 --> 00:20:00,630 >> Tak to proste odíde a potom algoritmy, tieto súbory 403 00:20:00,630 --> 00:20:03,490 pokynov, s ktorými máme riešenie konkrétnych problémov. 404 00:20:03,490 --> 00:20:05,820 Sme odovzdaním vstupy do algoritmu. 405 00:20:05,820 --> 00:20:09,630 A tie algoritmy produkujú výstupy, snáď správne výstupy 406 00:20:09,630 --> 00:20:14,160 a dúfajme, že tiež, efektívne zhromaždili výstupy. 407 00:20:14,160 --> 00:20:16,890 Inými slovami, to je jedna vec, realizovať správne niečo. 408 00:20:16,890 --> 00:20:20,790 To je ďalšia vec, ktorú k realizácii niečo dobre alebo efektívne. 409 00:20:20,790 --> 00:20:23,690 >> Napríklad, jeden demonštrácie že sme radi v priebehu 410 00:20:23,690 --> 00:20:24,460 je to jedna. 411 00:20:24,460 --> 00:20:26,345 Ale tieto veci sú stále stále ťažké nájsť. 412 00:20:26,345 --> 00:20:28,930 Ale to je naozaj starej školy telefónny zoznam, vnútri ktorej 413 00:20:28,930 --> 00:20:32,580 sú 1000, plus stránky Mená a telefónne čísla. 414 00:20:32,580 --> 00:20:34,830 A keď som chcel vyhľadať niekto v tomto telefónnom zozname, 415 00:20:34,830 --> 00:20:38,640 Nemohol som jednoducho robiť veľmi naivný algoritmus. 416 00:20:38,640 --> 00:20:42,150 Nemohol som otvoriť na prvú stránku, a Mohol by som začať hľadať, povedzme, niekto 417 00:20:42,150 --> 00:20:43,130 menoval Mike Smith. 418 00:20:43,130 --> 00:20:46,160 A keď to nie je na prvý stránky, som postúpiť do druhého, 419 00:20:46,160 --> 00:20:49,120 a potom tretí, a potom na štvrtý, a tak ďalej, 420 00:20:49,120 --> 00:20:51,430 až som konečne nájsť Mike Smith. 421 00:20:51,430 --> 00:20:53,010 >> Teraz je to algoritmus správny? 422 00:20:53,010 --> 00:20:53,896 >> Hľadisko: Áno. 423 00:20:53,896 --> 00:20:54,248 >> David J. Malan: Jo. 424 00:20:54,248 --> 00:20:56,039 Ak je tam, budem nakoniec ho nájsť. 425 00:20:56,039 --> 00:20:58,820 Ale to pravdepodobne nie je príliš efektívne, určite nie rýchlo, 426 00:20:58,820 --> 00:21:01,200 pretože, môj bože, prečo som plytvať mojím časom obracajúce 427 00:21:01,200 --> 00:21:04,500 cez všetky tieto stránky, keď som sa mohol Určite to fyzicky rýchlejšie? 428 00:21:04,500 --> 00:21:08,210 >> No, mierne optimalizácia, tak hovoriť, nemusí byť vždy jednu stránku naraz, 429 00:21:08,210 --> 00:21:11,610 ale dve, štyri, šesť, osem, desať. 430 00:21:11,610 --> 00:21:12,725 Stále je to tak? 431 00:21:12,725 --> 00:21:14,030 >> Divákov: Nie 432 00:21:14,030 --> 00:21:17,040 >> David J. Malan: Takže nie, či som pre inštancie preskočiť Mike Smith. 433 00:21:17,040 --> 00:21:20,530 Ale tak dlho, ako som sa pedál jednu stranu, keď som ho presahovať, 434 00:21:20,530 --> 00:21:25,240 možno by sme mohli napraviť to, čo mohlo by byť inak gotcha. 435 00:21:25,240 --> 00:21:26,020 >> Ale je to lepšie? 436 00:21:26,020 --> 00:21:27,469 Je to rýchlejšie? 437 00:21:27,469 --> 00:21:28,010 Myslím, že jo. 438 00:21:28,010 --> 00:21:30,950 Je to doslova dvakrát tak rýchlo, keď to urobím dve stránky naraz. 439 00:21:30,950 --> 00:21:35,720 Takže keď som pôvodne mal 1000 strán, Teraz mám len otočiť 500-krát, 440 00:21:35,720 --> 00:21:39,429 nie sú plne 1.000 strán, aby si prípadne v najhoršom prípade 441 00:21:39,429 --> 00:21:41,220 na konci telefónu kniha, kde niekto 442 00:21:41,220 --> 00:21:44,380 ako je Mike Smith, alebo niekoho, kto sa neskôr meno by mohlo byť v skutočnosti. 443 00:21:44,380 --> 00:21:46,540 >> Ale, samozrejme, sme ľudia rozhodne nie sú 444 00:21:46,540 --> 00:21:49,250 bude robiť, že určite nie je v tomto okamihu v našom živote. 445 00:21:49,250 --> 00:21:51,454 Čo je to rozumné človek pravdepodobne robiť? 446 00:21:51,454 --> 00:21:52,870 Divákov: Choď priamo na The9 S rokov. 447 00:21:52,870 --> 00:21:53,860 David J. Malan: Choď priamo na S rokov? 448 00:21:53,860 --> 00:21:55,563 Ako mám ísť rovno do S rokov? 449 00:21:55,563 --> 00:21:57,342 >> Divákov: Rip ho v polovici. 450 00:21:57,342 --> 00:21:59,050 David J. Malan: No, nie je označenie. 451 00:21:59,050 --> 00:22:02,116 Takže áno, v prípade, že boli skutočne Štítok alebo kartu lepkavá pre S, 452 00:22:02,116 --> 00:22:03,240 by sme mali skočiť rovno tam. 453 00:22:03,240 --> 00:22:05,420 Ale je to celkom neškodné. 454 00:22:05,420 --> 00:22:08,480 Takže najlepšie, čo môžem urobiť, je zhruba v sekcii S alebo možno zhruba 455 00:22:08,480 --> 00:22:09,650 do stredu. 456 00:22:09,650 --> 00:22:12,110 Ale hlavné jedlo so sebou teď-- a intuície 457 00:22:12,110 --> 00:22:14,430 že ste si vzal na udelená pre roky probably-- 458 00:22:14,430 --> 00:22:17,103 je to, že to, čo robíte teraz priateľov o tomto probléme? 459 00:22:17,103 --> 00:22:19,320 >> Divákov: [nepočuteľné] 460 00:22:19,320 --> 00:22:22,290 >> David J. Malan: Mike Smith je iste nie je v tejto polovici probléme 461 00:22:22,290 --> 00:22:25,600 pretože Smith prichádza po polovici čo je zhruba sekcie M, 462 00:22:25,600 --> 00:22:26,510 sa zdá byť. 463 00:22:26,510 --> 00:22:30,340 Takže ako ste mohli vidieť na Visitas, môžeme teraz doslova 464 00:22:30,340 --> 00:22:31,737 trhať tento problém na polovicu. 465 00:22:31,737 --> 00:22:32,320 Divákov: Woo! 466 00:22:32,320 --> 00:22:33,690 David J. Malan: Je to stále ľahšie a jednoduchšie. 467 00:22:33,690 --> 00:22:34,666 [APPLAUSE] 468 00:22:34,666 --> 00:22:36,618 Tu to je. 469 00:22:36,618 --> 00:22:39,060 [SMIECH] 470 00:22:39,060 --> 00:22:41,870 A teraz som v podstate majú rovnaký problém, 471 00:22:41,870 --> 00:22:43,866 ale je to doslova polovice tak veľký. 472 00:22:43,866 --> 00:22:45,240 Som stále hľadajú Mike Smith. 473 00:22:45,240 --> 00:22:47,950 A trúfam si povedať, môžem stále pozrite sa na neho rovnakým spôsobom, 474 00:22:47,950 --> 00:22:51,200 rozdeliť problém na polovicu opäť trhá problém znova 475 00:22:51,200 --> 00:22:54,140 na polovicu, čo ma teraz opúšťa s problém štvrtiny veľkosti, 476 00:22:54,140 --> 00:22:58,710 dramaticky hodiť, že polovica preč, a tento proces opakovať znovu a znovu 477 00:22:58,710 --> 00:23:01,150 a znovu sa pozrel dole v každom bode vidieť 478 00:23:01,150 --> 00:23:03,400 ak Mike Smith je na stránky sa jedná. 479 00:23:03,400 --> 00:23:06,190 >> Teraz, keď mám toto právo, nakoniec som sa to nájsť 480 00:23:06,190 --> 00:23:11,085 s jedinou stránku, na ktorej Mike Smith je, či je naozaj v telefónnom zozname. 481 00:23:11,085 --> 00:23:13,510 Samozrejme, že som mohol nikdy volať znova Mike. 482 00:23:13,510 --> 00:23:18,800 Ale tu je, že keď sme začali s 1000 stránkami, môj prvý algoritmus, 483 00:23:18,800 --> 00:23:21,620 otočiť stránku, možno 1000 times-- Určite menej, pretože je to 484 00:23:21,620 --> 00:23:26,430 Názov S a nie meno Z, ale ako toľko ako 1000 strán potenciálne. 485 00:23:26,430 --> 00:23:27,590 >> Druhý algoritmus, lepšie. 486 00:23:27,590 --> 00:23:28,480 500 strán. 487 00:23:28,480 --> 00:23:31,230 Po tretie algoritmus, hoci, koľko krokov by to 488 00:23:31,230 --> 00:23:35,520 sa rozdeliť 1000 stránky telefónny zoznam na dve polovice, ako je toto? 489 00:23:35,520 --> 00:23:37,000 10, dávať alebo brať. 490 00:23:37,000 --> 00:23:40,770 Takže len listovala, že telefónny zoznam, potápanie a dobývanie, 491 00:23:40,770 --> 00:23:46,130 aby som tak povedal, 10 krát, urobím môj spôsob, ako sa k len jednej strane. 492 00:23:46,130 --> 00:23:48,880 >> A tak môžeme zachytiť túto intuíciu teraz trochu graficky 493 00:23:48,880 --> 00:23:51,320 ak ste práve do úvahy Super jednoduchý graf. 494 00:23:51,320 --> 00:23:55,470 Sme na osi x, alebo horizontálne os, je veľkosť môjho problému, 495 00:23:55,470 --> 00:23:57,100 počet stránok v telefónnom zozname. 496 00:23:57,100 --> 00:23:59,040 A počítačoví experti obvykle s obľubou nazývajú 497 00:23:59,040 --> 00:24:02,180 veľkosť problému n, v ktorom n je len niektoré premenné, ktoré 498 00:24:02,180 --> 00:24:04,310 represents-- v tomto case-- počet stránok. 499 00:24:04,310 --> 00:24:07,412 >> Vertikálne, alebo y-os, tu je bude k riešeniu, 500 00:24:07,412 --> 00:24:09,870 Možno, že počet stránok zákrut, Možno, že počet sekúnd 501 00:24:09,870 --> 00:24:11,960 alebo minúty, bez ohľadu na Váš merná jednotka je. 502 00:24:11,960 --> 00:24:14,337 A tak sa červená čiara predstavuje prvý algoritmus, 503 00:24:14,337 --> 00:24:16,670 pretože tam je jedna až jedna vzťah medzi počtom 504 00:24:16,670 --> 00:24:18,880 stránok a množstvo času to berie. 505 00:24:18,880 --> 00:24:22,240 >> Ak Verizon zdvojnásobuje počet stránky v telefónnom zozname v budúcom roku, 506 00:24:22,240 --> 00:24:24,590 môj beh time-- Potrebný čas na vykonanie 507 00:24:24,590 --> 00:24:27,610 že prvý algorithm-- zdvojnásobí v najhoršom prípade. 508 00:24:27,610 --> 00:24:30,690 Ale druhý algoritmus, kde som mizerný dva, 509 00:24:30,690 --> 00:24:33,650 vyžaduje menej času na daný problém veľkosti. 510 00:24:33,650 --> 00:24:36,090 Takže ak som to veľa pages tady-- upozornenie 511 00:24:36,090 --> 00:24:38,870 že žltá čiara navrhuje menej času na riešenie. 512 00:24:38,870 --> 00:24:42,490 A naozaj, to znamená, budeme hovoriť, n viac ako dve. 513 00:24:42,490 --> 00:24:47,717 >> Ale čo je tvar tretieho a posledná krivka bude vyzerať? 514 00:24:47,717 --> 00:24:50,800 Jo, je to naozaj bude look-- I Neviem, čo si chcel povedať. 515 00:24:50,800 --> 00:24:52,300 Ale poďme sa pozrieť, čo si chcel povedať. 516 00:24:52,300 --> 00:24:53,280 >> Divákov: Takto. 517 00:24:53,280 --> 00:24:57,060 >> David J. Malan: Bude to vyzerať to, logaritmické slope-- exactly-- 518 00:24:57,060 --> 00:24:59,770 kedy budete mať tento podivný sklon. 519 00:24:59,770 --> 00:25:01,235 Už to nie je priamka. 520 00:25:01,235 --> 00:25:05,000 A čo je presvedčivé o tom, že , Aj keď je teraz graf odrezaný, 521 00:25:05,000 --> 00:25:07,790 môžete extrapolovať vo vašom nevadí, že zelená linka nie je 522 00:25:07,790 --> 00:25:10,060 bude zvýšenie Výška tak moc 523 00:25:10,060 --> 00:25:13,500 ako budete postupovať ďalej sa stanovuje, že horizontálnej osi. 524 00:25:13,500 --> 00:25:15,890 >> V skutočnosti, Verizon, pre inštancie, by mohol znamenať zdvojnásobenie 525 00:25:15,890 --> 00:25:19,100 počet stránok v telefóne Kniha od tohto roka a budúci rok 526 00:25:19,100 --> 00:25:22,140 od 1000 do 2000 strany, ale žiadny veľký problém. 527 00:25:22,140 --> 00:25:24,960 S touto tretí a posledný, je tu intuitívne algoritmus 528 00:25:24,960 --> 00:25:26,209 delenie a dobývanie. 529 00:25:26,209 --> 00:25:29,000 Bude mi trvať, koľko kroky budúci rok nájsť niekoho, 530 00:25:29,000 --> 00:25:29,700 ako Mike Smith? 531 00:25:29,700 --> 00:25:30,560 >> DIVÁKOV: One. 532 00:25:30,560 --> 00:25:31,230 >> David J. Malan: Je tu len jeden. 533 00:25:31,230 --> 00:25:34,430 A môžu štvornásobok, je to mi bude trvať len dva kroky 534 00:25:34,430 --> 00:25:35,210 a tak ďalej. 535 00:25:35,210 --> 00:25:38,730 A tak je to dokladom toho, ako niektorí opatrní konštrukcie 536 00:25:38,730 --> 00:25:42,437 a niektorí uznanie za to, čo vaše vstupy sú vedia ešte lepšie. 537 00:25:42,437 --> 00:25:44,270 Teraz sme podvádzanie trochu v tom zmysle, 538 00:25:44,270 --> 00:25:46,350 že sme využitie predpoklad. 539 00:25:46,350 --> 00:25:48,500 Aký je môj predpoklad o našom telefónnom zozname 540 00:25:48,500 --> 00:25:52,720 ktoré mi umožnilo rozdeľ a panuj v tejto intuitívne a stále správnym spôsobom? 541 00:25:52,720 --> 00:25:53,705 >> Divákov: [nepočuteľné] 542 00:25:53,705 --> 00:25:54,580 David J. Malan: Jo. 543 00:25:54,580 --> 00:25:55,440 Tak to bolo nariadené. 544 00:25:55,440 --> 00:25:57,392 To bolo podľa abecedy podľa telefónny zoznam spoločnosti. 545 00:25:57,392 --> 00:26:00,100 Keby to bolo v náhodnom poradí, ktoré by bolo sakra telefónneho zoznamu, 546 00:26:00,100 --> 00:26:02,850 ale rozhodne nie nehodí algoritmu 547 00:26:02,850 --> 00:26:05,950 Použil som, pretože by ste nikdy náhodou cez Mike Smith 548 00:26:05,950 --> 00:26:09,210 ak ste si nechali delenie v polovica týmto spôsobom náhodou. 549 00:26:09,210 --> 00:26:12,060 >> Takže poďme sa teraz formalizovať čo je jasne intuitívne. 550 00:26:12,060 --> 00:26:13,950 Takže niečo, čo nazýva pseudokód je, kde budeme 551 00:26:13,950 --> 00:26:15,780 začnú niektoré z našich počiatočných problémov. 552 00:26:15,780 --> 00:26:20,410 A to je všeobecný spôsob, ako popisovať algoritmus alebo počítačový program, 553 00:26:20,410 --> 00:26:24,150 nie pomocou C alebo C ++ alebo Java, alebo nejaký konkrétny jazyk, 554 00:26:24,150 --> 00:26:27,430 ale len pomocou po anglicky, s ktoré každý človek môže byť povedomý. 555 00:26:27,430 --> 00:26:31,220 >> A môžeme písať pseudokódu Pre tento problém nasledovne. 556 00:26:31,220 --> 00:26:33,520 Krok číslo jedna, zdvihnite telefónny zoznam. 557 00:26:33,520 --> 00:26:35,840 Krok dva, otvorený stred telefónneho zoznamu. 558 00:26:35,840 --> 00:26:37,730 Krok tri, pozri sa na mená. 559 00:26:37,730 --> 00:26:40,630 Krok štyri, ak Smith patrí medzi names-- 560 00:26:40,630 --> 00:26:42,960 >> A teraz je to zaujímavé konštrukt. 561 00:26:42,960 --> 00:26:44,290 Je to rozhodnutie, bod. 562 00:26:44,290 --> 00:26:47,920 Je to rázcestie, ak máte bude, vetva, aby som tak povedal. 563 00:26:47,920 --> 00:26:50,810 Takže budem odsadenie len konvencií step-- 564 00:26:50,810 --> 00:26:53,950 Nie five-- ktorý je povedzme, zavolám Miku. 565 00:26:53,950 --> 00:26:57,290 Takže to odsadenie, úplne svojvoľné ľudské konvencie, ale je to 566 00:26:57,290 --> 00:27:01,160 proste chcel povedať sémanticky že ak Smith patrí medzi menami, 567 00:27:01,160 --> 00:27:03,310 potom by som mal zavolať Mikea. 568 00:27:03,310 --> 00:27:06,630 >> Medzitým sa v kroku šesť, oznámenia že odsadenie je preč. 569 00:27:06,630 --> 00:27:10,980 Tak je iný druhý vidlica v cesty, ostatné cesty by som mohla cestovať. 570 00:27:10,980 --> 00:27:14,130 Takže else if Smith skôr v knihe, čo je 571 00:27:14,130 --> 00:27:16,964 môj ďalší krok pravdepodobne bude tu? 572 00:27:16,964 --> 00:27:18,380 Divákov: Idete na ľavej strane. 573 00:27:18,380 --> 00:27:21,004 David J. Malan: Jo, tak choďte na Ľavá polovica telefónneho zoznamu. 574 00:27:21,004 --> 00:27:24,140 Vyhoďte pravú polovicu, ak Smith je skôr v knihe. 575 00:27:24,140 --> 00:27:27,140 Tak otvorené až do polovice Ľavá polovica knihy. 576 00:27:27,140 --> 00:27:30,240 >> A potom krok osem, ísť na linku tri. 577 00:27:30,240 --> 00:27:34,520 A to je zvedavý slučka som spôsobuje, rekurzia, aby som tak povedal. 578 00:27:34,520 --> 00:27:35,990 Ale o tom viac v budúcnosti. 579 00:27:35,990 --> 00:27:39,590 >> Ja som pomocou môjho rovnaký algoritmus, má rovnaký pseudokód, 580 00:27:39,590 --> 00:27:43,020 znovu riešiť rovnaký problém pretože jediná vec, ktorá sa zmenila 581 00:27:43,020 --> 00:27:46,550 je veľkosť problému, nie mojím cieľom, a nie človek 582 00:27:46,550 --> 00:27:47,340 Hľadám. 583 00:27:47,340 --> 00:27:51,610 Tak som si znova algoritmus že som už definované. 584 00:27:51,610 --> 00:27:53,580 >> Else if Smith neskôr v book-- by ste mohli 585 00:27:53,580 --> 00:27:56,200 hádať otvorená až do polovice pravá polovica knihy. 586 00:27:56,200 --> 00:27:58,350 A opäť, prejdite na riadok tri. 587 00:27:58,350 --> 00:28:01,480 Else-- čo je posledný riadok v rámci tohto programu bude? 588 00:28:01,480 --> 00:28:03,580 Ak to nie je medzi mená na stránke Som 589 00:28:03,580 --> 00:28:06,870 na, ak to nie je skôr knihy, a on to najneskôr 590 00:28:06,870 --> 00:28:09,899 v knihe, čo ja viem Teraz je pravda o Mike Smith? 591 00:28:09,899 --> 00:28:11,190 Divákov: Nie je v knihe. 592 00:28:11,190 --> 00:28:12,731 David J. Malan: Nie je v knihe. 593 00:28:12,731 --> 00:28:16,040 Takže najlepšie, čo môžem urobiť, je len vzdať a zastaviť tento program. 594 00:28:16,040 --> 00:28:16,540 V poriadku. 595 00:28:16,540 --> 00:28:20,350 Takže v tomto bode, poďme sa Rýchla prehliadka niektoré z toho, čo vás čaká. 596 00:28:20,350 --> 00:28:23,620 A v skutočnosti, ja som sem vstúpil o počte zamestnancov CS50. 597 00:28:23,620 --> 00:28:26,940 Ak sa títo ľudia mohli všetko so mnou tu na javisku. 598 00:28:26,940 --> 00:28:28,900 >> [APPLAUSE] 599 00:28:28,900 --> 00:28:35,280 600 00:28:35,280 --> 00:28:38,170 >> Nezabúdajme, že je to len podmnožina personálu CS50, 601 00:28:38,170 --> 00:28:42,380 pretože každý rok máme takmer 100 zamestnancov členovia v úlohe asistentov kurze, 602 00:28:42,380 --> 00:28:44,410 výučba chlapi, a ďalšie. 603 00:28:44,410 --> 00:28:45,700 Poď hore. 604 00:28:45,700 --> 00:28:48,820 Takže oni sa k nám pripoja tu rozpačito na chvíľu 605 00:28:48,820 --> 00:28:54,230 ako dať víchrica prehliadku toho, čo do kurzu by mal očakávať tu. 606 00:28:54,230 --> 00:28:59,640 >> Takže v prvom rade, máme SAT / UNS ako možnosť triedenia v priebehu. 607 00:28:59,640 --> 00:29:03,180 To znamená zámerne byť možnosť, kedy 608 00:29:03,180 --> 00:29:05,570 Ak ste trochu nesvoj z toho, že v priebehu, 609 00:29:05,570 --> 00:29:09,390 a nemáte strach failure--, aj keď úprimne povedané, zlyhanie znamená bolieť vaše GPA, 610 00:29:09,390 --> 00:29:13,180 dostať B a nie A--, ktorý je presne to, čo určite pre brány 611 00:29:13,180 --> 00:29:15,750 Samozrejme, rovnako ako CS50 a ďalšie úvodné kurzy, 612 00:29:15,750 --> 00:29:17,540 Táto možnosť triedenia je určený povoliť. 613 00:29:17,540 --> 00:29:19,930 >> Úprimne podporiť students-- najmä 614 00:29:19,930 --> 00:29:23,090 ak na fence-- začať Samozrejme, SAT / UNS, naďalej SAT / UNS. 615 00:29:23,090 --> 00:29:27,310 Ale môžete samozrejme prepnúť na list stupňa v piatom pondelok v termíne. 616 00:29:27,310 --> 00:29:31,560 >> Úprimne povedané, keď som bol v prvom ročníku v roku 1995, 617 00:29:31,560 --> 00:29:34,630 Ja sám som ani brať CS50 pretože som nevstal odvahu 618 00:29:34,630 --> 00:29:36,540 skutočne krok nohu v triede. 619 00:29:36,540 --> 00:29:40,020 Zdalo sa, že doménu príliš neznáme ku mne, a naozaj len 620 00:29:40,020 --> 00:29:43,080 pre tých z mojich priateľov, Úprimne povedané, kto bol programovanie 621 00:29:43,080 --> 00:29:45,570 pretože oni boli viacročných alebo možno 10 rokov starý. 622 00:29:45,570 --> 00:29:48,640 A bolo to len preto, že som bol schopní prijať CS50 v môj deň 623 00:29:48,640 --> 00:29:52,720 v zodpovedajúcej verzii SAT / UNS-- vyhovuje / nevyhovuje späť do day-- 624 00:29:52,720 --> 00:29:53,850 že aj ja vzal 50. 625 00:29:53,850 --> 00:29:57,440 A tak či onak, som zase tu dnes s vami. 626 00:29:57,440 --> 00:30:00,690 >> Teraz zatiaľ čo ešte by mal mať na pamäti, o 50 627 00:30:00,690 --> 00:30:01,910 je simultánne zápis. 628 00:30:01,910 --> 00:30:03,785 Na rozdiel od povesti, že Možno ste počuli, 629 00:30:03,785 --> 00:30:07,650 je to možné, v skutočnosti, súčasne zapísať CS50 a ďalšie skupiny, ktoré 630 00:30:07,650 --> 00:30:12,150 schádza na rovnakej alebo niektoré prekrývajúce tentoraz ako CS50 prednášok tu. 631 00:30:12,150 --> 00:30:16,420 Pozrite sa na učebné osnovy pre údaje z ich vykonávania. 632 00:30:16,420 --> 00:30:19,540 >> Prednášky, zatiaľ, na rozdiel od čo je oficiálne v katalógu, 633 00:30:19,540 --> 00:30:22,060 všeobecne len splniť len za hodinu. 634 00:30:22,060 --> 00:30:24,240 Príležitostne môžeme spustiť trochu dlho. 635 00:30:24,240 --> 00:30:26,800 Ale majte na pamäti, že Cieľom v CS50 prednášok 636 00:30:26,800 --> 00:30:28,980 je poskytnúť vám koncepčné prehľad, 637 00:30:28,980 --> 00:30:31,830 dúfajme, že niektoré ukážky, možno dokonca aj niektoré darčeky, 638 00:30:31,830 --> 00:30:34,390 o tom, čo čaká na týždeň, ktorý nasleduje. 639 00:30:34,390 --> 00:30:37,730 >> A tak na prednáškach, budeme skúmať tieto témy a príklady dohromady, 640 00:30:37,730 --> 00:30:41,420 prináša študentom na javisku, a zamestnancom na javisku tak často, ako môžeme, 641 00:30:41,420 --> 00:30:43,740 len na pár hodín každý týždeň. 642 00:30:43,740 --> 00:30:47,435 Sekcia, medzitým bude ponúkané týchto ľudí tady-- mnohých 643 00:30:47,435 --> 00:30:50,060 z nich sa učia chlapi, niektoré Z nich samozrejme assistants-- vôle 644 00:30:50,060 --> 00:30:51,160 sa deje raz za týždeň. 645 00:30:51,160 --> 00:30:52,940 >> A čo je kľúčom k udržaniu na pamäti, je, že sme 646 00:30:52,940 --> 00:30:55,920 sa have-- nie na rozdiel od First Nights, hudba class-- 647 00:30:55,920 --> 00:30:59,220 rôzne stopy úsekov pre Študenti menej komfortné, viac 648 00:30:59,220 --> 00:31:01,150 pohodlné, a niekde medzi tým. 649 00:31:01,150 --> 00:31:03,559 A úprimne povedané, ak viete že ste menej pohodlné. 650 00:31:03,559 --> 00:31:05,600 A vy asi viete, ak ste oveľa pohodlnejšie. 651 00:31:05,600 --> 00:31:09,920 A ak si nie ste naozaj istí, ste podľa definície niekde medzi. 652 00:31:09,920 --> 00:31:12,850 Takže keď príde čas na úseku za týždeň alebo tak, na učebných osnov, 653 00:31:12,850 --> 00:31:14,070 my vám spýtať na túto otázku. 654 00:31:14,070 --> 00:31:16,890 A môžete si vybrať self-Based na vlastnú úroveň pohodlia 655 00:31:16,890 --> 00:31:22,220 a byť s students-- byť s zelenou dots-- podobná úroveň pohodlia pre vás. 656 00:31:22,220 --> 00:31:25,710 >> Medzitým, máme problém sady, čo v konečnom dôsledku 657 00:31:25,710 --> 00:31:28,310 definovať svoje skúsenosti v tomto kurze. 658 00:31:28,310 --> 00:31:30,370 Sú ponúkané väčšinou v niekoľkých vydaniach. 659 00:31:30,370 --> 00:31:34,150 Standard Edition, ktoré očakávame, že väčšina každý študent v priebehu riešiť 660 00:31:34,150 --> 00:31:37,900 ale aj takzvaný hacker vydania ktorý neponúka žiadne formu kreditu navyše 661 00:31:37,900 --> 00:31:41,980 úplne, ale naozaj vychvaľovanie práv povedať, že ste sa snažil a riešiť 662 00:31:41,980 --> 00:31:45,250 hackerské vydanie kurzu, že obrátiť na podobný materiál 663 00:31:45,250 --> 00:31:47,370 ale z sofistikovanejšie uhla. 664 00:31:47,370 --> 00:31:49,480 >> Čo ponúkame pre Standard Edition, pre, 665 00:31:49,480 --> 00:31:51,420 opäť super väčšina študentov, nie sú 666 00:31:51,420 --> 00:31:54,060 iba walk-priechodky, ktoré sú videá pod vedením pracovníkov Kurz je 667 00:31:54,060 --> 00:31:57,840 že naozaj vás prevedie Problémy kurzu a možné prevedenie 668 00:31:57,840 --> 00:31:58,910 implementácia. 669 00:31:58,910 --> 00:32:01,434 A tiež, po Skutočnosť, ponúkajú postmortems, 670 00:32:01,434 --> 00:32:03,350 pričom ak ste zvedaví, ako by ste mohli mať 671 00:32:03,350 --> 00:32:05,930 alebo by mala vyriešiť niektoré problém, pedagogickí zamestnanci 672 00:32:05,930 --> 00:32:08,640 vás prevedie ty na video aj. 673 00:32:08,640 --> 00:32:14,350 >> Medzitým, čo ich čaká tiež sú päť neskoré dní a skutočnosť, 674 00:32:14,350 --> 00:32:16,680 že sa zníži vaša Najnižšie problém nastaviť skóre. 675 00:32:16,680 --> 00:32:20,370 Určite oceníte, že výmenou na pracovnú záťaž, ktorá očakáva, že 50 676 00:32:20,370 --> 00:32:24,020 z vás, život dostane do cesty Niekedy, ak nie päťkrát. 677 00:32:24,020 --> 00:32:26,150 A tak to bude ponúkať ste trochu flexibility, 678 00:32:26,150 --> 00:32:29,400 rozširuje svoj termín od, povedzme, Vo štvrtok napoludnie v piatok napoludnie. 679 00:32:29,400 --> 00:32:33,150 Pozrite sa na učebné osnovy pre podrobnosti ich vykonávania. 680 00:32:33,150 --> 00:32:34,702 >> Tak čo teraz čaká? 681 00:32:34,702 --> 00:32:36,660 A je to len dochádza Teraz ma, ako dlho 682 00:32:36,660 --> 00:32:38,333 Mám vy tu stáť na javisku. 683 00:32:38,333 --> 00:32:39,060 >> [SMIECH] 684 00:32:39,060 --> 00:32:41,867 >> David J. Malan: Ale my dostaneme vrcholný prevedenie onedlho. 685 00:32:41,867 --> 00:32:43,700 Takže to, čo vás čaká, pokiaľ ide z problémových sad? 686 00:32:43,700 --> 00:32:47,099 No, možno ukážka toho, čo my všetci vlani so svojimi predchodcami. 687 00:32:47,099 --> 00:32:49,140 V prvom probléme sady v minulom roku sme uviedli na trh 688 00:32:49,140 --> 00:32:51,630 Scratch, grafický programovací jazyk, ktorý 689 00:32:51,630 --> 00:32:54,570 umožňuje naprogramovať doslova pretiahnutím dielikov, 690 00:32:54,570 --> 00:32:57,220 ako tie, ktoré sú pripomínajúce konštruktov 691 00:32:57,220 --> 00:32:59,260 uvidí len jeden týždeň preto, keď prepínanie 692 00:32:59,260 --> 00:33:01,870 na viac tradičné jazyk, známy ako C. 693 00:33:01,870 --> 00:33:03,930 >> V minulom roku sme pokračovali k tomuto problému sade, 694 00:33:03,930 --> 00:33:06,720 zahŕňajúce pre kryptografiu, kódovanie informácií 695 00:33:06,720 --> 00:33:10,410 aby ho z vládnej alebo priatelia " oči, ktoré nechcete vidieť. 696 00:33:10,410 --> 00:33:12,540 Zakódované v tu správy, že čoskoro si 697 00:33:12,540 --> 00:33:15,740 budú môcť dešifrovať alebo de-vyškriabať. 698 00:33:15,740 --> 00:33:17,960 >> Breakout bol problém nastaviť v minulom roku, v ktorom 699 00:33:17,960 --> 00:33:21,530 môžete použiť tieto novo nájdenú programovanie zručnosti skutočne realizovať 700 00:33:21,530 --> 00:33:24,840 hra wherein-- ako vy Možno si spomeniete, od childhood-- 701 00:33:24,840 --> 00:33:28,040 Cieľom bolo bash tehly, ktoré sú na vrchole obrazovky 702 00:33:28,040 --> 00:33:30,190 tu, akumuláciu skóre po ceste, 703 00:33:30,190 --> 00:33:35,460 a vykonávanie vlastných algoritmov s, ktorý toto riešenie v konečnom dôsledku 704 00:33:35,460 --> 00:33:37,357 umožňuje hrať hru. 705 00:33:37,357 --> 00:33:39,440 Medzitým, neskôr v semester, dáme vám 706 00:33:39,440 --> 00:33:43,470 slovník 143091 anglických slov. 707 00:33:43,470 --> 00:33:46,300 A vy budete mať za úlohu napísať program, ktorý 708 00:33:46,300 --> 00:33:50,260 kúzlo kontroly, dokumenty, ktoré načítava že veľa slov do pamäte 709 00:33:50,260 --> 00:33:52,300 tak efektívne, ako je to možné. 710 00:33:52,300 --> 00:33:54,240 Všeobecne bodové pred svojimi spolužiakmi 711 00:33:54,240 --> 00:33:56,610 ak sa rozhodnete do trochu výzvou v rebríčku 712 00:33:56,610 --> 00:34:00,090 vidieť, kto môže používať najmenším počtom sekúnd z hľadiska doby prevádzky, 713 00:34:00,090 --> 00:34:03,550 a najmenší počet megabajtov pamäte, 714 00:34:03,550 --> 00:34:08,659 av skutočnosti jemné ladenie Vami programy byť neuveriteľne náročná na zdroje nie 715 00:34:08,659 --> 00:34:09,820 len čas. 716 00:34:09,820 --> 00:34:13,239 >> V minulom roku, tiež sme sa pozreli na konci semestra na programovanie pre web. 717 00:34:13,239 --> 00:34:16,230 A skutočne, urobíme to znovu tento rok s niekoľkými problémovými sád, 718 00:34:16,230 --> 00:34:20,290 zavádza vás do techník a spôsob myslenia, s ktorým môžete použiť 719 00:34:20,290 --> 00:34:23,489 Tieto znalosti programovania na webové stránky, dynamické webové stránky, 720 00:34:23,489 --> 00:34:26,639 webové stránky, ktoré skutočne rieši problémy, a správať sa inak 721 00:34:26,639 --> 00:34:30,620 a nie sú len statické stránky so statickým informácií. 722 00:34:30,620 --> 00:34:32,854 >> Záverečný projekt nakoniec bude definovať, aj keď, 723 00:34:32,854 --> 00:34:34,770 Vyvrcholením kurzu pre študentov, kde 724 00:34:34,770 --> 00:34:37,228 budete mať za úlohu realizovať väčšina niečo záujem 725 00:34:37,228 --> 00:34:40,590 pre vás, tak dlho, ako to nejako čerpá poučenie kurzu je. 726 00:34:40,590 --> 00:34:42,930 >> A ako ste videli v Video na začiatku, 727 00:34:42,930 --> 00:34:47,340 budeme uzavrieť semester sa CS50 hackathon, ktorý v prípade, neznáme, 728 00:34:47,340 --> 00:34:51,420 začne o 19:00 a jednu noc a skončí v 07:00 druhý deň ráno. 729 00:34:51,420 --> 00:34:53,614 Okolo 21:00 sa budeme Poradie v prvej večeri. 730 00:34:53,614 --> 00:34:55,489 Okolo 01:00 sa budeme Poradie, v druhej večeru. 731 00:34:55,489 --> 00:34:57,490 A ak ste ešte stojí v 05:00 sme 732 00:34:57,490 --> 00:35:00,320 bude shuttle bus vás na IHOP na raňajky. 733 00:35:00,320 --> 00:35:04,980 >> CS50 trh, zatiaľ je udalosť ku ktorému 2000 navyše fakulty, študenti, 734 00:35:04,980 --> 00:35:07,850 a zamestnanci z celého areálu bude príďte sa pozrieť svoje úspechy 735 00:35:07,850 --> 00:35:10,150 v priebehu a konečné projekty a kreácie 736 00:35:10,150 --> 00:35:14,960 , Ktoré vytvoríte na vašom notebooky, Stolové počítače, alebo možno aj žiarovky. 737 00:35:14,960 --> 00:35:17,340 >> Medzitým, úradné hodiny a nosná konštrukcia. 738 00:35:17,340 --> 00:35:20,480 A teraz bolo by to lepší čas, aby vám všetko dohromady. 739 00:35:20,480 --> 00:35:24,310 >> Konzultačné hodiny sa budú konať štyri noci týždenne po dobu niekoľkých hodín každú noc 740 00:35:24,310 --> 00:35:27,710 so všeobecne o 20 až 30 z Zamestnanci ihrisko je v službe naraz 741 00:35:27,710 --> 00:35:31,240 poskytnúť vám intímne one-on-one možnosti podpory 742 00:35:31,240 --> 00:35:33,790 s problémovými sady kurzu je. 743 00:35:33,790 --> 00:35:36,120 Doučovanie tiež bude k dispozícii, a to najmä 744 00:35:36,120 --> 00:35:39,630 pre študentov menej comfortable-- alebo trúfam tvrdiť, aspoň comfortable-- pre koho 745 00:35:39,630 --> 00:35:41,869 úradné hodiny nie sú najväčšie výchovné prostredie 746 00:35:41,869 --> 00:35:43,660 a rozhodne nie sú najväčší stres-voľný. 747 00:35:43,660 --> 00:35:47,430 Zvlášť, keď termíny sú lisovanie, budeme aktívne spárovať vám sami 748 00:35:47,430 --> 00:35:51,440 s zamestnanec pracovať s na niektorých pravidelných intervaloch, ako vaše potreby 749 00:35:51,440 --> 00:35:53,850 a ich rozvrh dovolí. 750 00:35:53,850 --> 00:35:55,260 >> A zamestnancov. 751 00:35:55,260 --> 00:36:01,020 Dovoľte mi predstaviť Davon, Rob, a Gabriel, tohtoročný hlavy. 752 00:36:01,020 --> 00:36:02,370 Ak by každý chcel say-- 753 00:36:02,370 --> 00:36:03,349 >> [APPLAUSE] 754 00:36:03,349 --> 00:36:03,849 --a slovo. 755 00:36:03,849 --> 00:36:05,328 [APPLAUSE] 756 00:36:05,328 --> 00:36:10,270 757 00:36:10,270 --> 00:36:13,220 Davon tu je Course Manager, ktorý 758 00:36:13,220 --> 00:36:15,730 znamená, že vo svojej úlohe na plný úväzok pomáha s realizáciou 759 00:36:15,730 --> 00:36:18,424 a logistika CS50. 760 00:36:18,424 --> 00:36:19,340 DAVONA: Jo, ahoj, chlapci. 761 00:36:19,340 --> 00:36:20,965 Uvidíte veľa ma v úradných hodinách. 762 00:36:20,965 --> 00:36:22,110 Budem učiť sekcií. 763 00:36:22,110 --> 00:36:25,150 A ak budete strieľať e-maily dopredu, Budem pravdepodobne reagovať. 764 00:36:25,150 --> 00:36:27,670 Tak uvidím veľa z vás celý semester. 765 00:36:27,670 --> 00:36:29,890 Vitajte na CS50. 766 00:36:29,890 --> 00:36:38,330 >> David J. Malan: A teraz Gabriel, ktorý sám bol len nováčik v minulom roku, 767 00:36:38,330 --> 00:36:41,820 ale v posledných rokoch sa pôsobí svoju vlastnú verziu CS50 768 00:36:41,820 --> 00:36:44,660 v Brazílii, pričom sa stiahli všetky content-- stránke kurzu 769 00:36:44,660 --> 00:36:46,890 čo je jednoznačne byť natočený a umiestnil online-- 770 00:36:46,890 --> 00:36:51,480 tak, aby ju mohol preložiť do Portugalský a učiť viac než 100 771 00:36:51,480 --> 00:36:54,610 z jeho spolužiakov viac než Počas dvoch rokov, 772 00:36:54,610 --> 00:36:57,650 výučbu v rodnom jazyku Osnovy kurzu je. 773 00:36:57,650 --> 00:36:58,964 >> GABRIEL: Dobrý deň. 774 00:36:58,964 --> 00:37:00,912 >> [APPLAUSE] 775 00:37:00,912 --> 00:37:06,669 776 00:37:06,669 --> 00:37:07,710 GABRIEL: Ahoj, ja som Gabriel. 777 00:37:07,710 --> 00:37:09,340 Ja som hlava TF kurzu. 778 00:37:09,340 --> 00:37:10,780 A dúfam, že budete milovať 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: A teraz Rob. 781 00:37:14,697 --> 00:37:15,780 Oh, chceš úvod? 782 00:37:15,780 --> 00:37:16,696 >> ROB: No, ja neviem. 783 00:37:16,696 --> 00:37:18,225 [SMIECH] 784 00:37:18,225 --> 00:37:19,475 David J. Malan: A Rob Boden. 785 00:37:19,475 --> 00:37:22,300 [SMIECH] 786 00:37:22,300 --> 00:37:23,800 ROB: Ahoj, ja som Rob. 787 00:37:23,800 --> 00:37:27,220 Toto je môj piaty rok zapojení do kurzu. 788 00:37:27,220 --> 00:37:29,220 Každý rok, je to len lepšie a lepšie triedy, 789 00:37:29,220 --> 00:37:31,550 tak vy ste jasne bude úžasné. 790 00:37:31,550 --> 00:37:33,181 Dúfam, že ste všetci baviť sa s ním. 791 00:37:33,181 --> 00:37:34,430 Budem sa baviť s ním. 792 00:37:34,430 --> 00:37:36,670 Tak vidíte okolo seba. 793 00:37:36,670 --> 00:37:38,445 >> David J. Malan: A čas nedovolí us-- 794 00:37:38,445 --> 00:37:39,670 >> [APPLAUSE] 795 00:37:39,670 --> 00:37:41,661 >> Čas nedovolí nám predstaviť všetky 796 00:37:41,661 --> 00:37:44,660 na javisku a všetci ich kolegovia ktorí sú nákupné triedy dnes. 797 00:37:44,660 --> 00:37:47,390 Ale dovoľte mi predstaviť Belinda a CS50 Puzzle 798 00:37:47,390 --> 00:37:49,550 Deň, ktorý čaká na to príde sobota, ktorá 799 00:37:49,550 --> 00:37:51,800 je prvá udalosti veľkého rozsahu Course. 800 00:37:51,800 --> 00:37:54,300 >> Ten predovšetkým znamenalo kladivo domov bod 801 00:37:54,300 --> 00:37:57,580 že výpočtová technika je v konečnom dôsledku Nejde o programovaní, ale 802 00:37:57,580 --> 00:37:59,280 o riešení problémov všeobecne. 803 00:37:59,280 --> 00:38:01,450 A puzzle deň, ako budete vidieť, prinesie vám 804 00:38:01,450 --> 00:38:04,207 a vaše spolužiakmi dohromady-- Dúfame, že túto sobotu. 805 00:38:04,207 --> 00:38:04,961 >> BELINDA: OK. 806 00:38:04,961 --> 00:38:05,750 Ahoj, chlapci. 807 00:38:05,750 --> 00:38:06,740 Takže vďaka. 808 00:38:06,740 --> 00:38:10,120 Tak ako naše preslávené kapitána povedal, volám sa Belinda. 809 00:38:10,120 --> 00:38:12,100 Som vo druháku na Quincy House. 810 00:38:12,100 --> 00:38:15,730 >> Ja, rovnako ako vy, sa CS50 v minulom roku, ale naozaj sa to páčilo. 811 00:38:15,730 --> 00:38:17,960 Mám slabosť pre vy v tretej rade. 812 00:38:17,960 --> 00:38:21,384 A ja som hrdý na to, že som teraz na vážny vzťah 813 00:38:21,384 --> 00:38:22,300 s CS50 [nepočuteľné]. 814 00:38:22,300 --> 00:38:22,799 OK. 815 00:38:22,799 --> 00:38:26,140 To bol môj úbohý verzia vtipu. 816 00:38:26,140 --> 00:38:28,320 >> Každopádne, takže pohybujúce sa na, chcel pozvať 817 00:38:28,320 --> 00:38:31,439 vy všetci na I-Lab, alebo HBS žihľavka. 818 00:38:31,439 --> 00:38:33,730 Chystáme sa, že má Puzzle deň od 12:00 do 03:00. 819 00:38:33,730 --> 00:38:37,680 A to je skvelá príležitosť pre vás ľudí, aby vyhovoval vašim kolegom SK, priateľov, 820 00:38:37,680 --> 00:38:42,780 vyriešiť niektoré non-SK hádaniek, rovnako ako kapitán bolo spomenuté, a tiež jesť nejaké jedlo zadarmo, 821 00:38:42,780 --> 00:38:46,910 zarobiť nejaké úžasné ceny, rovnako ako darčekové karty, 75 dolárov na osobu, 822 00:38:46,910 --> 00:38:48,400 a also-- čo to bolo? 823 00:38:48,400 --> 00:38:49,540 WiiU alebo tak niečo? 824 00:38:49,540 --> 00:38:50,333 WiiU? 825 00:38:50,333 --> 00:38:51,040 Áno. 826 00:38:51,040 --> 00:38:52,330 Pre naše tombola. 827 00:38:52,330 --> 00:38:52,830 Skvelé. 828 00:38:52,830 --> 00:38:54,310 Takže budem držať okolo po hodine. 829 00:38:54,310 --> 00:38:56,770 A ak vy máte nejaké otázok, dajte mi vedieť. 830 00:38:56,770 --> 00:38:59,980 >> David J. Malan: A uvidíte, za to nie je nič, čo robiť dnes. 831 00:38:59,980 --> 00:39:01,920 Prvý problém nastaviť zhasne piatok. 832 00:39:01,920 --> 00:39:05,420 Ale aby nám dnes doma, rád by som sa Predstavujeme Vám konkrétne jeden 833 00:39:05,420 --> 00:39:09,080 zamestnanec, Colton Ogden tu, ktorého ruky sú teraz 834 00:39:09,080 --> 00:39:12,250 chránené nad vami sa Tento MIDI ovládač 835 00:39:12,250 --> 00:39:15,170 kladivo domov bod ďalej že výpočtová technika sa tiež 836 00:39:15,170 --> 00:39:19,130 má použiteľnosť ďaleko za techniky a STEM a výpočtová technika sama o sebe, 837 00:39:19,130 --> 00:39:22,890 rozšíriť aj na takéto domény je napríklad hudba. 838 00:39:22,890 --> 00:39:30,590 >> Colton sa láskavo offered-- som si myslel, jeden z nich sa bude zaostrenie. 839 00:39:30,590 --> 00:39:34,400 Andrew, keby sme mohli privolať zameranie viac ako na chvíľu tu. 840 00:39:34,400 --> 00:39:36,780 >> Čo Colton urobil vopred je program, 841 00:39:36,780 --> 00:39:40,345 Toto zariadenie, tento vankúšik z tlačidiel , Ktoré vidíte na obrázku tu, 842 00:39:40,345 --> 00:39:42,470 ako MIDI kontrolér, pričom každá z týchto tlačidiel 843 00:39:42,470 --> 00:39:47,080 je pripojený k určitej noty alebo zvuk, všeobecnejšie záznam, 844 00:39:47,080 --> 00:39:50,445 tak, že tým, že hrá vzory týchto tlačidlá, rovnako ako vzory bitov, 845 00:39:50,445 --> 00:39:52,620 môže predstavovať ďalšie vyššej koncepty úrovni. 846 00:39:52,620 --> 00:39:56,750 Bude môcť nakoniec aby nás doma dnes? 847 00:39:56,750 --> 00:39:59,540 Bez ďalších okolkov, ak je môžeme stlmiť svetlá, 848 00:39:59,540 --> 00:40:03,145 a zapnite obrazovku za Colton. 849 00:40:03,145 --> 00:40:03,865 >> Divákov: 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 >> [Prehrávanie hudby] 852 00:40:10,518 --> 00:42:46,018 853 00:42:46,018 --> 00:42:49,420 >> [APPLAUSE] 854 00:42:49,420 --> 00:42:54,766 855 00:42:54,766 --> 00:42:56,450 >> To je pre CS50. 856 00:42:56,450 --> 00:42:57,950 Uvidíme sa v piatok. 857 00:42:57,950 --> 00:42:59,890 Niektoré tortu na vás čaká v priečnej lodi. 858 00:42:59,890 --> 00:43:04,046 859 00:43:04,046 --> 00:43:08,850 >> [Prehrávanie hudby] 860 00:43:08,850 --> 00:45:49,227