1 00:00:00,000 --> 00:00:03,440 >> [Muusika mängimine] 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. Humala: See on CS50, Harvardi ülikooli kasutuselevõtt 6 00:02:09,669 --> 00:02:12,370 intellektuaalse ettevõtete infotehnoloogia 7 00:02:12,370 --> 00:02:14,180 ja programmeerimisest. 8 00:02:14,180 --> 00:02:17,530 Nüüd, kui sa oled nende seas, kes igal aastal istume siin 9 00:02:17,530 --> 00:02:21,450 natuke närvidele meelt, näiteks et sa ei usu, et sa kuulud siia, 10 00:02:21,450 --> 00:02:24,270 sa arvad, et kõige keegi istub ümber 11 00:02:24,270 --> 00:02:27,730 teab palju rohkem kui sina, on tõepoolest mugavam kui sa arvuti taga 12 00:02:27,730 --> 00:02:30,430 teaduse või arvutid üldisemalt mõistma 13 00:02:30,430 --> 00:02:36,140 et 78% õpilasi, kes nüüd võtta CS50 ei ole varasemaid kogemusi. 14 00:02:36,140 --> 00:02:39,570 >> Tõepoolest, seal on 100 täppi seal ekraanile, 78 mis 15 00:02:39,570 --> 00:02:43,540 on pidevalt roheline, mis tähendab, et sa, kui sa oled üks, et demograafiline, 16 00:02:43,540 --> 00:02:46,420 on väga hea firma siia välja. 17 00:02:46,420 --> 00:02:50,320 Ja kui sa oled selle asemel hulgast 22% CS50 õpilased, kes seda tõepoolest 18 00:02:50,320 --> 00:02:53,920 on eelnev kogemus, kas keskkooli või mõni muu programm, 19 00:02:53,920 --> 00:02:56,430 aru, et sind ka, siis vaidlustada käigus. 20 00:02:56,430 --> 00:02:59,930 >> Mitte ainult meil on erinevad lood õpilastele vähem mugavamaks ja 21 00:02:59,930 --> 00:03:03,789 mugav sarnased lõigud, me Samuti on nn häkker väljaanded 22 00:03:03,789 --> 00:03:06,080 Enamiku probleem seab mis väljakutse nendele üliõpilastele 23 00:03:06,080 --> 00:03:09,650 koos täiendavate kogemuste uurida sarnane materjal 24 00:03:09,650 --> 00:03:12,140 kuid rohkem kogenud perspektiivi. 25 00:03:12,140 --> 00:03:13,900 >> Aga milline on infotehnoloogia? 26 00:03:13,900 --> 00:03:17,750 Noh, lõpuks, mis hakkab asi nagu te uurida selles valdkonnas ei ole 27 00:03:17,750 --> 00:03:20,500 nii palju, kui sa lõpuks võrreldes oma klassikaaslastega, 28 00:03:20,500 --> 00:03:25,350 aga kui sa ise sattuda 12. nädalal võrreldes kui sa hakkad siin 29 00:03:25,350 --> 00:03:26,720 nädalal null. 30 00:03:26,720 --> 00:03:31,850 Nüüd arvuti science-- noh, olgem nimetame seda teadust computation-- 31 00:03:31,850 --> 00:03:35,910 kus arvutusvõimsus on tõesti ainult fancy viis öelda, võttes mõned sisend, 32 00:03:35,910 --> 00:03:39,460 toodavad mõned väljund ja Seejuures töötab algoritme, 33 00:03:39,460 --> 00:03:43,700 komplekti juhiseid lahendamiseks mingi probleem nendele sisenditele 34 00:03:43,700 --> 00:03:48,460 et toota mõned väljund või lahendus, kus olete huvitatud. 35 00:03:48,460 --> 00:03:51,310 >> Nii et meil oli hiljuti mõnikord reisida läbi 36 00:03:51,310 --> 00:03:53,170 California kohtuda vilistlane. 37 00:03:53,170 --> 00:03:54,650 Tema nimi on Susan Wojcicki. 38 00:03:54,650 --> 00:03:57,190 Ja ta tahaks rääkida et sa siin video 39 00:03:57,190 --> 00:04:01,690 tunnistada, et just kui kohaldatav isegi lihtsalt maitse arvuti 40 00:04:01,690 --> 00:04:03,770 teaduses sissejuhatav tasandil võib olla. 41 00:04:03,770 --> 00:04:06,870 Isegi kui sa ei lähe jätkata arvutiteadus nagu väljale 42 00:04:06,870 --> 00:04:09,330 või isegi inseneri, või STEM üldisemalt 43 00:04:09,330 --> 00:04:12,360 näete, et tegelikult, kui teatud Muidugi nii mõjutanud tema elu. 44 00:04:12,360 --> 00:04:16,630 Ja ta alles oli see, kui ta oli vanem siin Harvardi kolledž. 45 00:04:16,630 --> 00:04:19,482 >> Kui me suudaksime päevasõidutulede tuled Susan. 46 00:04:19,482 --> 00:04:20,690 Susan Wójcicki: Hello, world. 47 00:04:20,690 --> 00:04:22,100 Olen Susan Wojcicki. 48 00:04:22,100 --> 00:04:24,110 Olen tegevjuht YouTube. 49 00:04:24,110 --> 00:04:29,150 Ja ma võtsin CS50 kui olin vanem Harvardis 1990. 50 00:04:29,150 --> 00:04:31,220 Ma olin tegelikult ajalugu ja kirjanduse peamine. 51 00:04:31,220 --> 00:04:36,760 >> Ja mu noorem suvel Ma sain aru, et võib-olla ma 52 00:04:36,760 --> 00:04:39,060 tahtsin midagi õppida arvutid. 53 00:04:39,060 --> 00:04:40,930 Ja nii ma tulin tagasi. 54 00:04:40,930 --> 00:04:42,500 Võtsin CS50. 55 00:04:42,500 --> 00:04:46,940 See oli raske, kuid see oli Kõige hämmastav klassi võtsin. 56 00:04:46,940 --> 00:04:49,630 >> See muutis kuidas ma mõtlen kõike. 57 00:04:49,630 --> 00:04:55,810 Ja kui ma lõpetanud Harvard 1990, läksin Silicon Valley. 58 00:04:55,810 --> 00:04:57,140 Ja mul on töö. 59 00:04:57,140 --> 00:05:00,150 Ja ma olen töötanud tech ajast. 60 00:05:00,150 --> 00:05:02,650 DAVID J. Humala: Mis nüüd Susan ei maininud seda videot, 61 00:05:02,650 --> 00:05:05,340 et tegelikult tema garaaž, et Google ise oli 62 00:05:05,340 --> 00:05:07,420 asutasid Larry ja Sergey. 63 00:05:07,420 --> 00:05:11,169 >> Nüüd ka ulatasid meie sõbrad at code.org, organisatsioon, mis 64 00:05:11,169 --> 00:05:13,460 Viimase aasta jooksul on olnud et inimesed eriti 65 00:05:13,460 --> 00:05:16,520 põnevil arvutiteadus ja koostamine, eelkõige. 66 00:05:16,520 --> 00:05:20,590 Kuid see on väärt märkimist, et programmeerimine ei arvutiteaduse per se. 67 00:05:20,590 --> 00:05:22,090 Arvutiteadus ei ole programmeerimine. 68 00:05:22,090 --> 00:05:24,560 Pigem programmeerimine on vaid tool-- kellega te kõik 69 00:05:24,560 --> 00:05:27,510 on kõik väga hästi, tuttav poolt semestri väljatöötamiseni 70 00:05:27,510 --> 00:05:30,650 nii et saate rakendada ei lihtsalt tulevasi kursusi CS 71 00:05:30,650 --> 00:05:33,670 aga mis iganes väljad kust sa tuled, humanitaaria, 72 00:05:33,670 --> 00:05:36,090 sotsiaalteadused, loodus teaduse või sarnased. 73 00:05:36,090 --> 00:05:39,740 >> Tõepoolest, võimaldavad mõned muud vilistlaste ja oma kolleege 74 00:05:39,740 --> 00:05:43,400 rääkida kohaldatavus valdkonna, mis ootab. 75 00:05:43,400 --> 00:05:52,340 76 00:05:52,340 --> 00:05:57,350 >> Bill Gates: Ma olin 13, kui ma esimest korda sain juurdepääs arvuti. 77 00:05:57,350 --> 00:06:00,485 >> JACK DORSEY: Minu vanemad ostis mulle Macintosh 1984 78 00:06:00,485 --> 00:06:01,640 kui ma olin kaheksa-aastane. 79 00:06:01,640 --> 00:06:02,990 >> Mark Zuckerberg: olin kuuendas klassis. 80 00:06:02,990 --> 00:06:04,670 >> SPEAKER 1: õppisin koodi kolledžis. 81 00:06:04,670 --> 00:06:09,080 >> RUCHI Sanghvi: Uustulnuk aasta esimene semester, tutvustus Computer Science. 82 00:06:09,080 --> 00:06:11,850 >> Bill Gates: Ma kirjutasin programmi et mängitakse trips-traps-trull. 83 00:06:11,850 --> 00:06:14,100 >> DREW HOUSTON: Ma arvan, et see oli üsna tagasihoidlik algus. 84 00:06:14,100 --> 00:06:16,370 Ma arvan, et esimene programm Kirjutasin küsis asju, 85 00:06:16,370 --> 00:06:17,820 Milline on sinu lemmik värv? 86 00:06:17,820 --> 00:06:18,696 Või kui vana sa oled? 87 00:06:18,696 --> 00:06:21,070 ELENA SILENOK: Ma esimest õppinud kuidas teha roheline ring 88 00:06:21,070 --> 00:06:23,670 ja punane ruut ilmuvad ekraanile. 89 00:06:23,670 --> 00:06:25,420 Gabe Newell: Esimene kord, kui ma tegelikult oli 90 00:06:25,420 --> 00:06:27,360 midagi tulla ja öelda, tere, maailm. 91 00:06:27,360 --> 00:06:29,710 Ja ma tegin arvuti teha. 92 00:06:29,710 --> 00:06:30,850 See oli lihtsalt hämmastav. 93 00:06:30,850 --> 00:06:33,224 >> Mark Zuckerberg: õppimine et programm ei alustanud 94 00:06:33,224 --> 00:06:35,450 kui tahavad õppida kõik arvutiteadus 95 00:06:35,450 --> 00:06:38,630 või üritavad kapten seda distsipliini või midagi sellist. 96 00:06:38,630 --> 00:06:41,591 Ta lihtsalt hakkas välja, sest ma tahtsin seda teha üks lihtne asi. 97 00:06:41,591 --> 00:06:44,340 Tahtsin teha midagi, mis oli lõbus mina ja mu õde. 98 00:06:44,340 --> 00:06:46,399 >> Ja ma kirjutasin selle väikese programmi. 99 00:06:46,399 --> 00:06:48,440 Ja siis põhimõtteliselt lihtsalt lisada veidi ta. 100 00:06:48,440 --> 00:06:49,930 Ja siis, kui ma vajasin õppida midagi uut, 101 00:06:49,930 --> 00:06:52,210 Ma uurisin seda, kas raamat või Internetis 102 00:06:52,210 --> 00:06:53,240 ja seejärel lisatakse veidi ta. 103 00:06:53,240 --> 00:06:56,300 >> DREW HOUSTON: See ei ole tõesti erinevalt mängides instrument või midagi 104 00:06:56,300 --> 00:07:00,007 või mängib sport. 105 00:07:00,007 --> 00:07:01,090 DAVID J. Humala: Olgu. 106 00:07:01,090 --> 00:07:04,120 Olgem nüüd tegelikult sukelduda veidi sügavamale. 107 00:07:04,120 --> 00:07:07,430 Mis need on sisendid ja väljundid et me räägime siin? 108 00:07:07,430 --> 00:07:09,110 >> Niisiis, kuidas midagi lihtsat? 109 00:07:09,110 --> 00:07:12,120 Te ilmselt teate, isegi kui teil on no tuttav infotehnoloogia 110 00:07:12,120 --> 00:07:16,570 üldse, et arvutid kuidagi kasutada ja oskab ainult nulle ja ones. 111 00:07:16,570 --> 00:07:20,500 Aga kuidas see võimalik anda, kuidas palju tänapäeva lauaarvutid ja sülearvutid moodi 112 00:07:20,500 --> 00:07:21,280 saab teha? 113 00:07:21,280 --> 00:07:24,310 >> DNA päev, ainult tähestik, et nad mõistavad 114 00:07:24,310 --> 00:07:26,410 on null või üks. 115 00:07:26,410 --> 00:07:27,470 Noh, mõtle sellele. 116 00:07:27,470 --> 00:07:30,840 Meie, inimeste, kalduvad kasutama detsimaalsüsteem. "Detsember", mis tähendab 10. 117 00:07:30,840 --> 00:07:33,970 Ja see on 10, sest meil on 10 numbrit, 0 kuni üheksa. 118 00:07:33,970 --> 00:07:36,180 >> Nüüd arvutid, seevastu kalduvad kasutama binaarne. 119 00:07:36,180 --> 00:07:37,270 "Bi", mis tähendab kahte. 120 00:07:37,270 --> 00:07:39,560 Nii nad kalduvad kasutama ainult nulli ja ühe. 121 00:07:39,560 --> 00:07:42,680 Aga selgub, et isegi ainult nullidega ja need, mis 122 00:07:42,680 --> 00:07:45,900 on piisavalt suur tähestik kellega esindada kõige 123 00:07:45,900 --> 00:07:48,490 iga tükk andmed, mida soovite, kas see on number, 124 00:07:48,490 --> 00:07:52,100 kas see on kirjas, kas see on graafika või video ekraanil. 125 00:07:52,100 --> 00:07:57,140 >> Võtame näiteks, kuidas me inimesi tavaliselt seda tõlgendada number siin. 126 00:07:57,140 --> 00:08:00,010 See on vaid kolm numbrit, üks, kaks, kolm. 127 00:08:00,010 --> 00:08:04,570 Aga me teame, et see number loomupäraselt nüüd 123. 128 00:08:04,570 --> 00:08:05,510 Aga miks see nii on? 129 00:08:05,510 --> 00:08:07,570 >> Noh, kui te arvate tagasi et võib-olla algkool, 130 00:08:07,570 --> 00:08:11,700 sa ilmselt õpetati mõtlema Nende numbrite olevaks veerud 131 00:08:11,700 --> 00:08:14,700 kus üks on sadu kohas, kaks on kümneid koha 132 00:08:14,700 --> 00:08:16,360 ja kolm on üheliste kohale. 133 00:08:16,360 --> 00:08:17,790 Miks see nii on tegelikult kasulik? 134 00:08:17,790 --> 00:08:19,665 Noh, mõtle super lihtne aritmeetika 135 00:08:19,665 --> 00:08:22,219 et meil kõigil on olnud teeme juba aastaid. 136 00:08:22,219 --> 00:08:24,510 Tõhusalt, kui sul üks sadu koha 137 00:08:24,510 --> 00:08:29,610 sa kiire matemaatika 100 korda 1 pluss 10 korda 2-- 138 00:08:29,610 --> 00:08:33,059 sest kaks on kümneid tulevad-- pluss 1 korda 3-- 139 00:08:33,059 --> 00:08:34,830 kuna kolm on üheliste kohale. 140 00:08:34,830 --> 00:08:37,039 Niisiis, muidugi, kui me tegelikult selle läbi korrutan, 141 00:08:37,039 --> 00:08:39,600 mida me tegelikult esindavad Selle pattern-- üks 142 00:08:39,600 --> 00:08:46,150 kaks meeter on 100 pluss 20 pluss 3, mis muidugi on 123. 143 00:08:46,150 --> 00:08:51,130 >> Nüüd binaarne ja arvutid tõesti, põhimõtteliselt räägivad sama keelt 144 00:08:51,130 --> 00:08:51,680 mida me teeme. 145 00:08:51,680 --> 00:08:53,400 Nad lihtsalt on väiksem tähestikku. 146 00:08:53,400 --> 00:08:57,100 Nii et arvutid on ainult nullid ja need, kelle käsutuses. 147 00:08:57,100 --> 00:09:02,500 Nii et arvestades, et me inimestel on sisuliselt volitusi 10 kõigis nendes places-- 148 00:09:02,500 --> 00:09:06,810 10 kuni nullini, 10 ühe, kümme Lisa kaks korda, võimaldades 110 ja 100 149 00:09:06,810 --> 00:09:07,700 aastal. 150 00:09:07,700 --> 00:09:12,140 >> Kuna arvutid on ainult kaks väärtust nad saavad aru, nulli ja ühe, 151 00:09:12,140 --> 00:09:16,600 nad kasutavad erinevaid väärtusi Nendes veergudes, üks, kaks, neli. 152 00:09:16,600 --> 00:09:20,480 Ja kui me elus hoida, kaheksa, 16, 32, 64, ja nii edasi. 153 00:09:20,480 --> 00:09:24,220 Aga muster ja mentaliteet on täpselt sama. 154 00:09:24,220 --> 00:09:27,340 >> Nii et see loogika, et keegi, kuidas oleks Ma minna esindavad number 155 00:09:27,340 --> 00:09:28,530 üks binaarne? 156 00:09:28,530 --> 00:09:33,080 Kui sa pole kunagi isegi mõelnud seda enne, mis su soole öelda? 157 00:09:33,080 --> 00:09:33,777 >> Sihtrühm: One. 158 00:09:33,777 --> 00:09:34,610 DAVID J. Humala: One. 159 00:09:34,610 --> 00:09:35,660 Täpselt. 160 00:09:35,660 --> 00:09:38,100 Meil on vaja ainult üks ones koht, sest nulli 161 00:09:38,100 --> 00:09:40,610 piisab meile kumbki nelja ega kaks. 162 00:09:40,610 --> 00:09:42,440 Nii et üks korda üks võrdub üks. 163 00:09:42,440 --> 00:09:43,940 Nüüd on asjad natuke huvitav. 164 00:09:43,940 --> 00:09:46,830 Kui ma tahan esindada kahekomponentsete number kaks-- kuid 165 00:09:46,830 --> 00:09:49,790 uuesti, isegi kui te pole kunagi räägitakse seda keelt enne, 166 00:09:49,790 --> 00:09:54,680 kuidas me esindame binaarne väärtus meie, inimesed teavad, kui kaks? 167 00:09:54,680 --> 00:09:55,570 Zero üks null. 168 00:09:55,570 --> 00:09:57,620 Pane üks veerus, et sa tahad seda. 169 00:09:57,620 --> 00:09:59,560 >> Nüüd see muutub üsna lihtne ilmselt nüüd. 170 00:09:59,560 --> 00:10:02,950 Nii et kui ma tahan kujutada meeter puudub kolme veeru. 171 00:10:02,950 --> 00:10:06,770 Niisiis, jälle saan nüüd lisada need väärtused kokku pannes siin. 172 00:10:06,770 --> 00:10:10,320 Seega 2 korda 1 pluss 1 korda 1 on muidugi 3. 173 00:10:10,320 --> 00:10:13,480 >> Nüüd on asjad natuke nalja et need nüüd nulli. 174 00:10:13,480 --> 00:10:15,480 Ning esindada neli, ma saan seda. 175 00:10:15,480 --> 00:10:19,310 Ja kui me juurdekasvu aeglaselt siin-- et oleks viis. 176 00:10:19,310 --> 00:10:20,700 See oleks kuus. 177 00:10:20,700 --> 00:10:22,100 See oleks seitse. 178 00:10:22,100 --> 00:10:25,310 >> Aga nüüd ma tundub, et on tekib probleem. 179 00:10:25,310 --> 00:10:30,520 Kuidas võiks ma minna esindavad eight-- oleks järgmine väärtus. 180 00:10:30,520 --> 00:10:31,900 Jah, me vajame uut bitti. 181 00:10:31,900 --> 00:10:33,899 Ja tõesti, kui olete kuulnud seda fraasi enne, 182 00:10:33,899 --> 00:10:37,380 bitti, see on lihtsalt lühike Kahendnumber, null või üks. 183 00:10:37,380 --> 00:10:41,520 >> Ja nii ma juhtumisi esindavad kõigest kolm bitti siin. 184 00:10:41,520 --> 00:10:44,900 Aga kui mul oleks viis ladustamiseks ei kolme erinevat bitti, kuid neli, 185 00:10:44,900 --> 00:10:47,250 kindlasti ma võiks olla kaheksa ja siis üheksa ja seejärel 186 00:10:47,250 --> 00:10:49,400 10 ja isegi kõrgemale ja kõrgemale. 187 00:10:49,400 --> 00:10:52,140 >> Aga mis siis nõuab kahtluse, kuidas me saame 188 00:10:52,140 --> 00:10:54,540 minna neid esindavate asjad kõigepealt. 189 00:10:54,540 --> 00:10:56,950 See on üks asi, mida teha neid siin slaidile 190 00:10:56,950 --> 00:11:00,660 aga kuidas sa neid esindama kui sa oled mehaaniline seade? 191 00:11:00,660 --> 00:11:04,390 Mis on arvuti teeb esindavad sisendid ja väljundid, et 192 00:11:04,390 --> 00:11:09,020 põhimõtteliselt määratleda arvutamine lõpus päeval? 193 00:11:09,020 --> 00:11:12,090 >> Noh, aga midagi super lihtne nagu see on? 194 00:11:12,090 --> 00:11:13,200 See on lihtsalt üks lambipirn. 195 00:11:13,200 --> 00:11:15,460 Ja ma ei saa käivitada seda lambipirn minna 196 00:11:15,460 --> 00:11:17,920 keerates mõned elekter kohta ja võimaldab elektrone 197 00:11:17,920 --> 00:11:22,585 läbivoolu, mis muudab oma riik või selle väärtus, kui nii võib öelda. 198 00:11:22,585 --> 00:11:24,460 Näiteks on see vana kooli laualamp 199 00:11:24,460 --> 00:11:27,250 siin üks selline lambi sees on. 200 00:11:27,250 --> 00:11:29,940 Ja just nüüd, et see pole tõesti teeb midagi kasulikku. 201 00:11:29,940 --> 00:11:32,680 Aga niipea, kui ma ühendage see vooluvõrku 202 00:11:32,680 --> 00:11:36,390 ja seda siis kasutada switch-- või saame isegi kutsuvad seda transistor 203 00:11:36,390 --> 00:11:39,970 või ma arvan et kui such-- Nüüd saan esinda 204 00:11:39,970 --> 00:11:44,120 seda väärtust, kui lamp on ilmselt ära, või selle väärtust. 205 00:11:44,120 --> 00:11:46,060 See väärtus või selle väärtuse. 206 00:11:46,060 --> 00:11:47,520 See väärtus ja nii edasi. 207 00:11:47,520 --> 00:11:51,220 >> Nii sees arvuti, arvatavasti, on palju väiksemad tükid riistvara, 208 00:11:51,220 --> 00:11:52,970 kuid lõpus päeval lihtsalt 209 00:11:52,970 --> 00:11:55,360 kasutada electricity-- võibolla lüüa Kui-- 210 00:11:55,360 --> 00:11:59,730 ja siis kas hoida midagi või hoida midagi välja. 211 00:11:59,730 --> 00:12:02,021 Loomulikult ei ole see Eriti huvitav on teha 212 00:12:02,021 --> 00:12:03,270 vaid ühe lambipirni. 213 00:12:03,270 --> 00:12:06,726 >> Tegelikult, kui kõrgele ma saan loota sisse binaarne selle laualamp siin? 214 00:12:06,726 --> 00:12:07,420 >> Sihtrühm: One. 215 00:12:07,420 --> 00:12:08,545 >> DAVID J. Humala: Üks, eks? 216 00:12:08,545 --> 00:12:11,020 Mul on vaja rohkem laualambid, kui ma tegelikult tahan loota suurem. 217 00:12:11,020 --> 00:12:12,210 Aga me saame teha paremini. 218 00:12:12,210 --> 00:12:14,460 Kuna lambid, mis meil panna need asjad 219 00:12:14,460 --> 00:12:17,730 on tegelikult Kasvataja lambid kui Läinud lubaks. 220 00:12:17,730 --> 00:12:20,310 Ja nad on tegelikult võrgustatud lambipirnid. 221 00:12:20,310 --> 00:12:23,160 Ja kobarad ettevõtted teha neid asju nendel päevadel. 222 00:12:23,160 --> 00:12:25,190 >> Aga selgub, et see üks eriti 223 00:12:25,190 --> 00:12:27,680 Kaasas omadus, mille saate muuta oma värvi. 224 00:12:27,680 --> 00:12:30,810 Nii näiteks, kui te kaunistatud oma Dorm tuba 225 00:12:30,810 --> 00:12:33,200 mõned neist tuli sibulad, sõltuvalt teie meeleolu, 226 00:12:33,200 --> 00:12:35,366 olenevalt sellest, kes on saadaval, sõltuvalt ilmast, 227 00:12:35,366 --> 00:12:37,360 sõltuvalt kellaajast päeva, saab tegelikult 228 00:12:37,360 --> 00:12:40,300 muuta värve sibulad oma toas. 229 00:12:40,300 --> 00:12:43,740 Ja see on sellepärast, et nende valgus sibulad ja teised, nagu see on, mida on 230 00:12:43,740 --> 00:12:48,010 nimetatakse API, taotluse programmeerimise liides, mis 231 00:12:48,010 --> 00:12:50,920 on teema, mille sa pead olema hästi tuttav poolt semestri lõpus. 232 00:12:50,920 --> 00:12:53,710 >> Ja see on lihtsalt fancy, segasena viis öelda, 233 00:12:53,710 --> 00:12:57,570 saab programmeerida neid kerge sibulad teha oma pakkumise. 234 00:12:57,570 --> 00:13:00,360 Võite saata neile sõnumeid just nagu sina, inimene, 235 00:13:00,360 --> 00:13:03,640 saab sõnumit saata veebiserverisse ütles mulle tänane uudis 236 00:13:03,640 --> 00:13:05,110 või anna mulle oma e-posti. 237 00:13:05,110 --> 00:13:08,010 >> Võite saata enam kauge sõnumeid need lambid 238 00:13:08,010 --> 00:13:09,700 öelda, sisse ja välja lülitada. 239 00:13:09,700 --> 00:13:11,370 Aga see pole veel kõik, et huvitav. 240 00:13:11,370 --> 00:13:14,280 Võite öelda, lülitage punane, põleb roheliselt, lülitage sinine, 241 00:13:14,280 --> 00:13:15,990 kõik sama lambipirn. 242 00:13:15,990 --> 00:13:20,990 Ja te võite isegi natuke rohkem Savvy, ütleme, keera ennast siniseks 243 00:13:20,990 --> 00:13:24,710 kui see on sünge päev väljaspool, näiteks. 244 00:13:24,710 --> 00:13:27,910 See võib tegelikult plaaster sisse Ilm API ja teada saada, 245 00:13:27,910 --> 00:13:32,260 mis ilm on, või aeg päev, või muid selliseid käivitab. 246 00:13:32,260 --> 00:13:35,550 >> Niisiis, tegelikult kaks CS50 enda töötajad, 247 00:13:35,550 --> 00:13:38,827 Dan Bradley ja Ansel Duff siin lahkelt hangitud 248 00:13:38,827 --> 00:13:40,410 meil terve hunnik neid lampe. 249 00:13:40,410 --> 00:13:42,910 Ja nad ehitasid CS50 on esimene binaarne sibulad, 250 00:13:42,910 --> 00:13:46,850 kus me oleme esindatud siin-- nende mänguline vähe magnets-- 251 00:13:46,850 --> 00:13:49,780 mitmesuguseid kohatäitjaid me vihjas lihtsalt natuke tagasi. 252 00:13:49,780 --> 00:13:52,572 >> Niisiis, kuidas siin on ones kohas, kaks, neli. 253 00:13:52,572 --> 00:13:54,030 Ja me ei näinud kõrgem. 254 00:13:54,030 --> 00:13:55,613 Aga muidugi, nad on volitused kaks. 255 00:13:55,613 --> 00:13:59,490 Kaheksa, 16, 32, 64, ja 128. 256 00:13:59,490 --> 00:14:03,320 Nii et kui ma nüüd tahan olla veidi Kasvataja kui kasutate seda vana kooli lüliti, 257 00:14:03,320 --> 00:14:07,310 Mul on siin selle iPad super lihtne kasutajaliides 258 00:14:07,310 --> 00:14:10,440 et Dan Bradley, endine õpilane ja nüüd õpetab kolleege, 259 00:14:10,440 --> 00:14:13,510 programed kasutades mõned HTML ja JavaScript, mis 260 00:14:13,510 --> 00:14:15,685 on juurdehindlus ja programmeerimine keelte kohta. 261 00:14:15,685 --> 00:14:17,560 Ja võite ilmselt vaadake-- isegi tagasi-- 262 00:14:17,560 --> 00:14:21,670 seal on suur pluss ja suur miinus, pluss üks nupp kõigi nende sibulad. 263 00:14:21,670 --> 00:14:25,740 Ja mis see läheb lubage mul ei on näiteks klõpsake pluss 264 00:14:25,740 --> 00:14:28,250 ja nüüd esindab, ning Muidugi, mis number? 265 00:14:28,250 --> 00:14:28,750 Üks. 266 00:14:28,750 --> 00:14:30,220 Ja ma ei tabanud seda jälle. 267 00:14:30,220 --> 00:14:31,480 Kaks. 268 00:14:31,480 --> 00:14:32,800 Kolm. 269 00:14:32,800 --> 00:14:33,950 Four. 270 00:14:33,950 --> 00:14:35,200 Viis. 271 00:14:35,200 --> 00:14:36,360 Kuus. 272 00:14:36,360 --> 00:14:36,880 Seitse. 273 00:14:36,880 --> 00:14:40,740 >> Ja nüüd siin me saame, et pikendamist, kuid peame neljas bitine seekord 274 00:14:40,740 --> 00:14:42,180 nii et nüüd on meil kaheksa. 275 00:14:42,180 --> 00:14:44,000 Nii et me võiks seda teha juba mõnda aega. 276 00:14:44,000 --> 00:14:46,530 Tegelikult, nagu kõrvale, kuidas kõrge võiksime loota? 277 00:14:46,530 --> 00:14:48,318 Keegi? 278 00:14:48,318 --> 00:14:49,270 >> Sihtrühm: 255. 279 00:14:49,270 --> 00:14:51,420 >> DAVID J. Humala: 255, eks? 280 00:14:51,420 --> 00:14:54,900 Ärge muretsege liiga palju matemaatikat nüüd, kuid see on päris korralik number. 281 00:14:54,900 --> 00:14:59,140 Aga tegelikult ei seondunud lihtsalt kui palju andmeid, 282 00:14:59,140 --> 00:15:01,760 nagu kirjas, või graafiline et meil võiks olla. 283 00:15:01,760 --> 00:15:02,697 >> Aga ükski asi nüüd. 284 00:15:02,697 --> 00:15:04,530 Ma lähen edasi minna ja muuta need kõik maha. 285 00:15:04,530 --> 00:15:09,670 Ja kui ma saaksin, tahaks küsida vabatahtlike, meie esimene volunteer-- 286 00:15:09,670 --> 00:15:11,342 oh, hello-- laval. 287 00:15:11,342 --> 00:15:14,050 Saak pead olema mugav ilmumist, kui sa selgelt 288 00:15:14,050 --> 00:15:17,421 on ees kõik oma klassikaaslastega, samuti internetis. 289 00:15:17,421 --> 00:15:20,420 Ja lubage mul vaadata veidi kaugemale kura kuidas siin valge särk? 290 00:15:20,420 --> 00:15:20,920 Ja käsi üles. 291 00:15:20,920 --> 00:15:22,071 Tule. 292 00:15:22,071 --> 00:15:22,820 Mis su nimi on? 293 00:15:22,820 --> 00:15:23,760 >> Sihtrühm: Jackie. 294 00:15:23,760 --> 00:15:24,718 >> DAVID J. Humala: Jackie. 295 00:15:24,718 --> 00:15:25,820 Jackie, tulge siia. 296 00:15:25,820 --> 00:15:29,820 Niisiis, mida on ka selles iPad on nupp nimega mäng režiimis. 297 00:15:29,820 --> 00:15:32,570 Ja see Mängurežiim luban, et ma sisend 298 00:15:32,570 --> 00:15:35,780 eelnevalt konkreetse kohaga number, numbrid meil inimestel on 299 00:15:35,780 --> 00:15:36,760 tuttav. 300 00:15:36,760 --> 00:15:39,820 Ja siis tuleb väljakutse siin kasutada nuppe 301 00:15:39,820 --> 00:15:42,140 aasta top-- üks Kõigi nende bulbs-- 302 00:15:42,140 --> 00:15:45,050 et tegelikult aru saada, muster lambid 303 00:15:45,050 --> 00:15:46,970 mis tähistab number küsimus. 304 00:15:46,970 --> 00:15:47,790 >> Ja mul on kahju, mis su nimi oligi? 305 00:15:47,790 --> 00:15:48,250 >> Sihtrühm: Jackie. 306 00:15:48,250 --> 00:15:48,620 >> DAVID J. Humala: Jackie. 307 00:15:48,620 --> 00:15:48,920 Olgu. 308 00:15:48,920 --> 00:15:49,740 Meeldiv kohtuda. 309 00:15:49,740 --> 00:15:54,580 >> Nii et lubage mul minna ja programmi maailma näha number 15. 310 00:15:54,580 --> 00:15:56,360 Hoiame seda esialgu väike siin. 311 00:15:56,360 --> 00:15:58,240 Ja ma lähen minema mäng režiimis. 312 00:15:58,240 --> 00:16:01,160 Ja ma lähen, et täpsustada, anna meile number 15. 313 00:16:01,160 --> 00:16:01,900 >> OK. 314 00:16:01,900 --> 00:16:05,510 Ja nüüd kõik watching-- kui tahad äkki seisma nii, 315 00:16:05,510 --> 00:16:09,970 sest see liinile up-- minna ja Lülitab kaheksa nupud ülaosas 316 00:16:09,970 --> 00:16:12,530 pöörduda Lampide või välja näed. 317 00:16:12,530 --> 00:16:13,530 >> Sihtrühm: OK. 318 00:16:13,530 --> 00:16:17,720 >> DAVID J. Humala: Ja no petmine lööb pluss 15 korda. 319 00:16:17,720 --> 00:16:19,275 Oh, me ei kavatse seda teha. 320 00:16:19,275 --> 00:16:20,069 >> Sihtrühm: Oh, oota. 321 00:16:20,069 --> 00:16:20,610 Mul on nii kahju. 322 00:16:20,610 --> 00:16:22,660 >> DAVID J. Humala: võid keerata lambid individuaalselt 323 00:16:22,660 --> 00:16:24,076 kõigi nende nuppude peal. 324 00:16:24,076 --> 00:16:24,844 Sihtrühm: Oh, OK. 325 00:16:24,844 --> 00:16:27,429 Seega oleks nagu-- 326 00:16:27,429 --> 00:16:28,220 DAVID J. Humala: OK. 327 00:16:28,220 --> 00:16:29,100 Nii et nüüd on meil kaheksa. 328 00:16:29,100 --> 00:16:31,280 Nii et olgem pausi publik tegeleda siin. 329 00:16:31,280 --> 00:16:34,300 Mis number on Jackie praegu on? 330 00:16:34,300 --> 00:16:34,800 11. 331 00:16:34,800 --> 00:16:35,730 Nii et me oleme peaaegu kohal. 332 00:16:35,730 --> 00:16:38,360 333 00:16:38,360 --> 00:16:39,630 Ja väga hea. 334 00:16:39,630 --> 00:16:41,487 Nii et meil on meie esimene võitja. 335 00:16:41,487 --> 00:16:42,445 Palju õnne. 336 00:16:42,445 --> 00:16:48,200 >> Ja me arvasime me tahaks olla mõned vapustav meened. 337 00:16:48,200 --> 00:16:50,860 Kui soovid olla üks selline Dorm tuba siin ülikoolilinnakus 338 00:16:50,860 --> 00:16:56,126 võite ise on lõplik projekt kasutades nüüd see API, tänu Jackie. 339 00:16:56,126 --> 00:16:57,050 Nii nüüd-- 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 saime veel üks nagu ümber selle. 343 00:17:04,839 --> 00:17:07,690 Oh, nüüd igaüks tahab mõned lambid. 344 00:17:07,690 --> 00:17:11,790 Sest nn häkker väljaanne, me ramp see üles a-- oh, 345 00:17:11,790 --> 00:17:12,770 Jah, millekski. 346 00:17:12,770 --> 00:17:16,010 Ma arvan, et sa kohe olemas kui käsi läheb alla. 347 00:17:16,010 --> 00:17:16,800 Mis su nimi on? 348 00:17:16,800 --> 00:17:17,424 >> Sihtrühm: Alex. 349 00:17:17,424 --> 00:17:19,440 DAVID J. Humala: Alex, tule siia. 350 00:17:19,440 --> 00:17:26,190 Nii Alex, me ei kavatse programmi veidi suurem arv. 351 00:17:26,190 --> 00:17:27,790 Arvatavasti selleks. 352 00:17:27,790 --> 00:17:29,110 Number 50. 353 00:17:29,110 --> 00:17:29,744 >> Sihtrühm: OK. 354 00:17:29,744 --> 00:17:31,660 DAVID J. Humala: Aga nagu Ma ütlesin ja te võite 355 00:17:31,660 --> 00:17:33,580 taha seista siin, nii et nupud rivistama 356 00:17:33,580 --> 00:17:37,115 kui sa oleks expect-- aga ma tegin nimetame seda häkker väljaanne. 357 00:17:37,115 --> 00:17:47,125 Nii-- õnne! 358 00:17:47,125 --> 00:17:48,416 >> [Naer] 359 00:17:48,416 --> 00:17:58,570 360 00:17:58,570 --> 00:18:02,050 >> Sul on võimalik pöörduda need ära, kui sind-- OK. 361 00:18:02,050 --> 00:18:02,880 Suurepärane. 362 00:18:02,880 --> 00:18:03,675 Wonderful. 363 00:18:03,675 --> 00:18:04,341 Palju õnne. 364 00:18:04,341 --> 00:18:08,730 >> [APPLAUSE] 365 00:18:08,730 --> 00:18:10,355 Ma arvan, et ma peaks maksma. 366 00:18:10,355 --> 00:18:11,830 Õnnitlused Alex samuti. 367 00:18:11,830 --> 00:18:12,330 OK. 368 00:18:12,330 --> 00:18:15,550 >> Nii ülim Buffee siin on loodetavasti ausalt öeldes 369 00:18:15,550 --> 00:18:18,109 simplicity-- lihtsus, millega 370 00:18:18,109 --> 00:18:20,650 saad mõne kena valgus sibulad, ilmselt [kuuldamatu]. 371 00:18:20,650 --> 00:18:23,000 Aga mida nad esindavad, lõppkokkuvõttes sama ideed 372 00:18:23,000 --> 00:18:26,310 kellega meil on inimesed juba liigagi tuttav. 373 00:18:26,310 --> 00:18:28,660 Niisiis, milline võiks järgmise etapis olla progresseerumise 374 00:18:28,660 --> 00:18:30,920 üritavad teha midagi huvitav andmeid 375 00:18:30,920 --> 00:18:34,950 ja esindavad sisendid, mis ei ole lihtsalt numbrid, kuid on võib-olla tähed või rohkem? 376 00:18:34,950 --> 00:18:37,820 >> Noh, selgub, et arvuti maailmas, aastaid 377 00:18:37,820 --> 00:18:43,300 lihtsalt vastu meelevaldne, kuid järjepidev standard, mis kaardistab numbrid 378 00:18:43,300 --> 00:18:44,610 kuni tähestiku tähti. 379 00:18:44,610 --> 00:18:47,120 Näiteks, siin on Katkend et kaardistamine. 380 00:18:47,120 --> 00:18:48,350 Seda nimetatakse ASCII. 381 00:18:48,350 --> 00:18:53,220 -S-C-I-I. Ja see on lihtsalt tabel, mis kaardistab suurtäheks Kirjad-- 382 00:18:53,220 --> 00:18:56,600 Selles juhul-- koma numbrid. 383 00:18:56,600 --> 00:18:57,890 >> Aga mis on kaudselt? 384 00:18:57,890 --> 00:19:01,090 Noh, kui sa tegelikult tahad esindada midagi talle või mingi tekst 385 00:19:01,090 --> 00:19:03,310 veebilehele, siis ilmselt tahavad näidata 386 00:19:03,310 --> 00:19:06,100 inimese tähed tähestik, mitte numbrid. 387 00:19:06,100 --> 00:19:09,140 Nii et olenevalt kontekstis programmi 388 00:19:09,140 --> 00:19:12,600 et kasutaja kasutab, kui see on veebibrauser või e-posti klient, 389 00:19:12,600 --> 00:19:16,090 numbreid saab kindlasti tõlgendada nii, et tähed. 390 00:19:16,090 --> 00:19:20,290 See tähendab, mustrid bittide saab lihtsalt tuleb tõlgendada nii tähti. 391 00:19:20,290 --> 00:19:24,700 >> Ja mis meil on on kirjas olemise 392 00:19:24,700 --> 00:19:28,410 esindatud 65 B on esindatud 66. 393 00:19:28,410 --> 00:19:30,900 Nii et kui meil on super lühike sõna, nagu hi, 394 00:19:30,900 --> 00:19:35,740 mida arvuti lõppkokkuvõttes Hoida kohaga, kuid tegelikult binaarne, 395 00:19:35,740 --> 00:19:40,070 kasutades teatud bittide jada, võimendades natuke elektrit mingil viisil, 396 00:19:40,070 --> 00:19:44,010 oleks kaks numbrit 72 ja 73. 397 00:19:44,010 --> 00:19:46,780 >> Aga muster bitid esindab neid väärtusi. 398 00:19:46,780 --> 00:19:49,820 Nii et need on siis kuidas me saame esindada oma sisendid ja väljundid. 399 00:19:49,820 --> 00:19:52,630 Ja piisab, kui öelda, et me ei saa seda keerulisem esindused 400 00:19:52,630 --> 00:19:56,450 lõpuks on asjad graafika, videod, muusika ja rohkem 401 00:19:56,450 --> 00:19:58,190 nagu me näeme hiljem selle aja jooksul. 402 00:19:58,190 --> 00:20:00,630 >> Nii et lihtsalt jätab siis algoritmid, nende komplektid 403 00:20:00,630 --> 00:20:03,490 juhiseid, mille me lahendada tegelikke probleeme. 404 00:20:03,490 --> 00:20:05,820 Me möödume sisendite algoritme. 405 00:20:05,820 --> 00:20:09,630 Ja need algoritmid toodavad väljundid, loodetavasti õige väljundid 406 00:20:09,630 --> 00:20:14,160 ja loodetavasti ka efektiivselt kogutud väljundid. 407 00:20:14,160 --> 00:20:16,890 Teisisõnu, see on üks asi, rakendada midagi õigesti. 408 00:20:16,890 --> 00:20:20,790 See on teine ​​asi, et rakendada midagi hästi või tõhusalt. 409 00:20:20,790 --> 00:20:23,690 >> Näiteks üks meeleavaldus et me oleme kiindunud käigus 410 00:20:23,690 --> 00:20:24,460 on see üks. 411 00:20:24,460 --> 00:20:26,345 Aga need asjad hakkavad üha raske leida. 412 00:20:26,345 --> 00:20:28,930 Aga see on tõesti vana kooli telefoniraamat, mille sees 413 00:20:28,930 --> 00:20:32,580 on 1000 pluss lehekülge nimed ja telefoninumbrid. 414 00:20:32,580 --> 00:20:34,830 Ja kui ma tahtsin otsida keegi selles telefoniraamatust 415 00:20:34,830 --> 00:20:38,640 Ma lihtsalt ei oska väga naiivne algoritm. 416 00:20:38,640 --> 00:20:42,150 Ma võiks avada esimesel leheküljel, ja Ma võiks hakata otsima, ütleme, keegi 417 00:20:42,150 --> 00:20:43,130 nimega Mike Smith. 418 00:20:43,130 --> 00:20:46,160 Ja kui ta ei ole esimesel lehele, ma edu teiseks 419 00:20:46,160 --> 00:20:49,120 ja siis kolmas, ja seejärel Lisa neljandat ja nii edasi, 420 00:20:49,120 --> 00:20:51,430 kuni ma lõpuks leida Mike Smith. 421 00:20:51,430 --> 00:20:53,010 >> Nüüd on see, et algoritm on õige? 422 00:20:53,010 --> 00:20:53,896 >> Sihtrühm: Jah. 423 00:20:53,896 --> 00:20:54,248 >> DAVID J. Humala: Jah. 424 00:20:54,248 --> 00:20:56,039 Kui ta on seal, ma tulen lõpuks ta leida. 425 00:20:56,039 --> 00:20:58,820 Aga see on väidetavalt ei ole väga tõhus, kindlasti mitte kiiresti, 426 00:20:58,820 --> 00:21:01,200 sest, mu Jumal, miks ma raiskad oma aega flipping 427 00:21:01,200 --> 00:21:04,500 läbi kõik need leheküljed, kui suutsin kindlasti seda teha füüsiliselt kiiremini? 428 00:21:04,500 --> 00:21:08,210 >> Noh, kerge optimeerimine, nii et räägi, võib olla mitte üks lehekülg korraga, 429 00:21:08,210 --> 00:21:11,610 kuid kaks, neli, kuus, kaheksa, 10. 430 00:21:11,610 --> 00:21:12,725 Ikka õige? 431 00:21:12,725 --> 00:21:14,030 >> Sihtrühm: Ei 432 00:21:14,030 --> 00:21:17,040 >> DAVID J. Humala: Nii ei kui I Näiteks vahele üle Mike Smith. 433 00:21:17,040 --> 00:21:20,530 Aga nii kaua, kui ma tagasi pedaali üks lehekülg, kui ma ületavad teda, 434 00:21:20,530 --> 00:21:25,240 võibolla me võiks parandada seda, mis vastasel juhul võivad olla gotcha. 435 00:21:25,240 --> 00:21:26,020 >> Aga kas see on parem? 436 00:21:26,020 --> 00:21:27,469 Kas see on kiirem? 437 00:21:27,469 --> 00:21:28,010 Ma mõtlen, jah. 438 00:21:28,010 --> 00:21:30,950 See on sõna otseses mõttes kaks korda kiiremini kui ma seda kaks lehekülge korraga. 439 00:21:30,950 --> 00:21:35,720 Nii et kui ma algselt oli 1000 lehekülge, nüüd mul on ainult klapp 500 korda 440 00:21:35,720 --> 00:21:39,429 ole täielikult 1000 lehekülge, et saada potentsiaalselt kõige halvemal juhul 441 00:21:39,429 --> 00:21:41,220 Lisa lõpuks telefoni raamat, kus keegi 442 00:21:41,220 --> 00:21:44,380 nagu Mike Smith või keegi hiljem nimi võiks tegelikult olla. 443 00:21:44,380 --> 00:21:46,540 >> Kuid loomulikult inimestel kindlasti ei ole 444 00:21:46,540 --> 00:21:49,250 hakkate tegema, et kindlasti mitte sel hetkel meie elus. 445 00:21:49,250 --> 00:21:51,454 Milline on mõistlik Inimese tõenäoliselt teeme? 446 00:21:51,454 --> 00:21:52,870 Sihtrühm: Mine otse the9 S. 447 00:21:52,870 --> 00:21:53,860 DAVID J. Humala: Mine otse S? 448 00:21:53,860 --> 00:21:55,563 Kuidas minna otse S? 449 00:21:55,563 --> 00:21:57,342 >> Sihtrühm: Rip see pooleks. 450 00:21:57,342 --> 00:21:59,050 DAVID J. Humala: Noh, seal ei ole märgistus. 451 00:21:59,050 --> 00:22:02,116 Nii et, jah, kui oleks tõepoolest Valmistaja või kleepuv sakk S, 452 00:22:02,116 --> 00:22:03,240 peaksime hüpata seal. 453 00:22:03,240 --> 00:22:05,420 Aga see on üsna kahjutu. 454 00:22:05,420 --> 00:22:08,480 Nii et parim, mis ma teha saan, on enam-vähem et S jagu või ehk umbes 455 00:22:08,480 --> 00:22:09,650 keskele. 456 00:22:09,650 --> 00:22:12,110 Aga peamine Buffee nüüd-- ja intuitsioon 457 00:22:12,110 --> 00:22:14,430 et olete võetud antakse aastat ehk-- 458 00:22:14,430 --> 00:22:17,103 on see, et mida sa nüüd teavad seda probleemi? 459 00:22:17,103 --> 00:22:19,320 >> Sihtrühm: [kuuldamatu] 460 00:22:19,320 --> 00:22:22,290 >> DAVID J. Humala: Mike Smith on kindlasti mitte selles pool probleemi 461 00:22:22,290 --> 00:22:25,600 sest Smith tuleb pärast keskel mis on umbes M jagu, 462 00:22:25,600 --> 00:22:26,510 see tundub olevat. 463 00:22:26,510 --> 00:22:30,340 Nii nagu te võib-olla näha Visitas, saame nüüd sõna otseses mõttes 464 00:22:30,340 --> 00:22:31,737 pisar selle probleemi poole. 465 00:22:31,737 --> 00:22:32,320 Sihtrühm: Woo! 466 00:22:32,320 --> 00:22:33,690 DAVID J. Humala: See on üha lihtsamaks ja lihtsamaks. 467 00:22:33,690 --> 00:22:34,666 [APPLAUSE] 468 00:22:34,666 --> 00:22:36,618 Seal sa lähed. 469 00:22:36,618 --> 00:22:39,060 [Naer] 470 00:22:39,060 --> 00:22:41,870 Ja nüüd ma põhimõtteliselt on sama probleem, 471 00:22:41,870 --> 00:22:43,866 aga see on sõna otseses mõttes kaks korda väiksem. 472 00:22:43,866 --> 00:22:45,240 Ma ikka otsin Mike Smith. 473 00:22:45,240 --> 00:22:47,950 Ja Julgen väita, ma ei saa ikka otsida teda samamoodi 474 00:22:47,950 --> 00:22:51,200 jagades probleemi pooleks uuesti, pisaravool probleem uuesti 475 00:22:51,200 --> 00:22:54,140 poole, mis nüüd jääb mul probleem kvartalis suurus, 476 00:22:54,140 --> 00:22:58,710 dramaatiliselt visata, et pool ära ja korrake seda protsessi ikka ja jälle 477 00:22:58,710 --> 00:23:01,150 ja jälle, põrkav alla igas punktis näha 478 00:23:01,150 --> 00:23:03,400 Kui Mike Smith on Lehe küsimusele. 479 00:23:03,400 --> 00:23:06,190 >> Nüüd, kui ma seda teha küll, lõpuks ma leian end 480 00:23:06,190 --> 00:23:11,085 vaid üks leht, kus Mike Smith on, kui ta on tõesti telefoniraamatust. 481 00:23:11,085 --> 00:23:13,510 Muidugi, ma võiks kunagi helistada Mike uuesti. 482 00:23:13,510 --> 00:23:18,800 Aga point on selles, et kui me alustasime koos 1000 lehekülge, minu esimene algoritm, 483 00:23:18,800 --> 00:23:21,620 flip lehele, võibolla 1000 korda-- kindlasti vähem, sest see on 484 00:23:21,620 --> 00:23:26,430 S nime ja mitte Z nimi, kuid nagu palju kui 1000 lehekülge potentsiaalselt. 485 00:23:26,430 --> 00:23:27,590 >> Teine algoritm, seda parem. 486 00:23:27,590 --> 00:23:28,480 500 lehekülge. 487 00:23:28,480 --> 00:23:31,230 Kolmas algoritm, kuigi Mitu sammu oleks see 488 00:23:31,230 --> 00:23:35,520 võtta jagada 1000 lehekülge telefoniraamat pooleks niimoodi? 489 00:23:35,520 --> 00:23:37,000 10, võta või jäta. 490 00:23:37,000 --> 00:23:40,770 Nii et ainult flipping kaudu, et telefoniraamat, sukeldumine ja vallutamist, 491 00:23:40,770 --> 00:23:46,130 niiöelda 10 korda, siis ma teen Minu tee alla vaid üks lehekülg. 492 00:23:46,130 --> 00:23:48,880 >> Ja nii me saab lüüa see intuitsioon Nüüd natuke graafiliselt 493 00:23:48,880 --> 00:23:51,320 kui sa lihtsalt kaaluda see super lihtne graafik. 494 00:23:51,320 --> 00:23:55,470 Me oleme x-teljel, horisontaalselt või telg, on suurus minu probleem 495 00:23:55,470 --> 00:23:57,100 lehekülgede arvu telefoniraamatus. 496 00:23:57,100 --> 00:23:59,040 Ja infotehnoloogid üldiselt meeldib helistada 497 00:23:59,040 --> 00:24:02,180 suurus probleemi n, kus n on vaid mõned muutuja, mis 498 00:24:02,180 --> 00:24:04,310 represents-- selles juhul-- lehekülgede arv. 499 00:24:04,310 --> 00:24:07,412 >> Vertikaalne või y-telg, siin on läheb aega, et lahendada 500 00:24:07,412 --> 00:24:09,870 võibolla arv lehekülje pöördeid, võibolla sekundite arv 501 00:24:09,870 --> 00:24:11,960 või protokolli sõltumata oma mõõtühik on. 502 00:24:11,960 --> 00:24:14,337 Ja nii see punane joon tähistab esimese algoritmi 503 00:24:14,337 --> 00:24:16,670 sest seal on 00:59 suhet number 504 00:24:16,670 --> 00:24:18,880 lehekülgede ja aega kulub. 505 00:24:18,880 --> 00:24:22,240 >> Kui Verizon kahekordistab arv lehti telefoniraamatust järgmisel aastal 506 00:24:22,240 --> 00:24:24,590 minu jooksvad AEG_ aega täitmisega 507 00:24:24,590 --> 00:24:27,610 et esimene algorithm-- kahekordistab halvimal juhul. 508 00:24:27,610 --> 00:24:30,690 Aga teise algoritmi, kus ma flipping kaks, 509 00:24:30,690 --> 00:24:33,650 nõuab vähem aega antud suurusega probleem. 510 00:24:33,650 --> 00:24:36,090 Nii et kui mul on see palju lehti siin-- teade 511 00:24:36,090 --> 00:24:38,870 et kollane joon soovitab vähem aega lahendada. 512 00:24:38,870 --> 00:24:42,490 Ja tõepoolest, see tähendab, me ütleme, n üle kahe. 513 00:24:42,490 --> 00:24:47,717 >> Aga mis on kuju kolmanda ja lõplik kõver hakkab välja nägema? 514 00:24:47,717 --> 00:24:50,800 Jah, see on tõepoolest läheb vaata-- I ei tea, mida te kavatsete öelda. 515 00:24:50,800 --> 00:24:52,300 Aga vaatame, mida te ei kavatse öelda. 516 00:24:52,300 --> 00:24:53,280 >> Sihtrühm: Nagu see. 517 00:24:53,280 --> 00:24:57,060 >> DAVID J. Humala: See hakkab välja nägema see, logaritmiline slope-- täpselt-- 518 00:24:57,060 --> 00:24:59,770 mille sa pead seda uudishimulik kalle. 519 00:24:59,770 --> 00:25:01,235 See ei ole enam sirge. 520 00:25:01,235 --> 00:25:05,000 Ja mis mõjuvad umbes see on, et kuigi graafik on nüüd ära lõigatud, 521 00:25:05,000 --> 00:25:07,790 saab ekstrapoleerida oma meeles, et see roheline joon ei ole 522 00:25:07,790 --> 00:25:10,060 läheb suureneb kõrgus kõik, et palju 523 00:25:10,060 --> 00:25:13,500 kui sa edasi tegutseda ette, et horisontaalteljel. 524 00:25:13,500 --> 00:25:15,890 >> Tõepoolest, Verizon, et Näiteks võib kahekordistuda 525 00:25:15,890 --> 00:25:19,100 lehekülgede arv telefoninumber Raamatu vahel tänavu ja järgmisel aastal 526 00:25:19,100 --> 00:25:22,140 alates 1000 kuni 2000 lehed, kuid pole hullu. 527 00:25:22,140 --> 00:25:24,960 Selle kolmanda ja viimase, seal on intuitiivne algoritm 528 00:25:24,960 --> 00:25:26,209 jagamise ja vallutamise. 529 00:25:26,209 --> 00:25:29,000 See hakkab mind, kui palju astub järgmisel aastal, et leida keegi 530 00:25:29,000 --> 00:25:29,700 meeldib Mike Smith? 531 00:25:29,700 --> 00:25:30,560 >> Sihtrühm: One. 532 00:25:30,560 --> 00:25:31,230 >> DAVID J. Humala: Seal on ainult üks. 533 00:25:31,230 --> 00:25:34,430 Ja nad saavad neljakordne, see on aega võtab mul veel kaks sammu 534 00:25:34,430 --> 00:25:35,210 ja nii edasi. 535 00:25:35,210 --> 00:25:38,730 Ja nii on see märk sellest, kuidas mõned hoolikalt läbi mõelda 536 00:25:38,730 --> 00:25:42,437 ja mõned tunnustust selle eest, mida oma sisendid on võimalik teha veelgi paremini. 537 00:25:42,437 --> 00:25:44,270 Nüüd me petmine natukene mõttes 538 00:25:44,270 --> 00:25:46,350 et me võimendades oletus. 539 00:25:46,350 --> 00:25:48,500 Mis on minu oletus meie telefoniraamat 540 00:25:48,500 --> 00:25:52,720 mis võimaldas mul jaga ja valitse selles intuitiivne ja ikka õige? 541 00:25:52,720 --> 00:25:53,705 >> Sihtrühm: [kuuldamatu] 542 00:25:53,705 --> 00:25:54,580 DAVID J. Humala: Jah. 543 00:25:54,580 --> 00:25:55,440 Nii et see oli tellitud. 544 00:25:55,440 --> 00:25:57,392 See oli Tähestikuline poolt telefoniraamatust ettevõte. 545 00:25:57,392 --> 00:26:00,100 Kui see oleks juhuslikus järjekorras, et oleks kuradima Telefoniraamatu 546 00:26:00,100 --> 00:26:02,850 kuid see kindlasti ei anda ennast algoritm 547 00:26:02,850 --> 00:26:05,950 Ma kasutasin, sest sa ei oleks kunagi lihtsalt juhtub kogu Mike Smith 548 00:26:05,950 --> 00:26:09,210 kui te hoida jagades sisse pool niimoodi juhuslikult. 549 00:26:09,210 --> 00:26:12,060 >> Nii et olgem nüüd vormistama mis on selgelt arusaadavad. 550 00:26:12,060 --> 00:26:13,950 Nii et midagi, mida nimetatakse pseudokoodi on kus me 551 00:26:13,950 --> 00:26:15,780 algab mõned meie esialgsed probleemid. 552 00:26:15,780 --> 00:26:20,410 Ja see on üldine viis, kuidas kirjeldada algoritmi või arvutiprogrammi 553 00:26:20,410 --> 00:26:24,150 ei kasuta C või C ++ või Java või mis tahes keeles, 554 00:26:24,150 --> 00:26:27,430 aga lihtsalt, kasutades inglise keeles, mis tahes inimese võib olla tuttav. 555 00:26:27,430 --> 00:26:31,220 >> Ja me võiksime kirjutada pseudokoodi Selle probleemi järgmiselt. 556 00:26:31,220 --> 00:26:33,520 Astu ühte, korja telefoniraamatust. 557 00:26:33,520 --> 00:26:35,840 Teine etapp, mis on avatud keset telefoniraamat. 558 00:26:35,840 --> 00:26:37,730 Kolmas samm, pilk nimed. 559 00:26:37,730 --> 00:26:40,630 Samm neli, kui Smith on üks nimed- 560 00:26:40,630 --> 00:26:42,960 >> Ja nüüd on see huvitav konstruktsioon. 561 00:26:42,960 --> 00:26:44,290 See on otsus, punkt. 562 00:26:44,290 --> 00:26:47,920 See on tee hargneb, kui te siis, filiaal, nii rääkida. 563 00:26:47,920 --> 00:26:50,810 Nii et ma lähen treppimistasemel lihtsalt kokkuleppeliselt step-- 564 00:26:50,810 --> 00:26:53,950 ei five-- mis on ütleme, et ma helistan Mike. 565 00:26:53,950 --> 00:26:57,290 Nii et see taandus, täiesti suvalise inimese konventsioon, kuid see on 566 00:26:57,290 --> 00:27:01,160 lihtsalt tähendas edastada semantiliselt et kui Smith on üks nimesid, 567 00:27:01,160 --> 00:27:03,310 siis ma helistan Mike. 568 00:27:03,310 --> 00:27:06,630 >> Vahepeal samm kuus, teade mis taandus läinud. 569 00:27:06,630 --> 00:27:10,980 Nii et veel on teine ​​kahvel tee, teiste liiklejate võin reisida. 570 00:27:10,980 --> 00:27:14,130 Nii teine ​​kui Smith on varasem raamat, mis on 571 00:27:14,130 --> 00:27:16,964 minu järgmine samm ilmselt saab olema siin? 572 00:27:16,964 --> 00:27:18,380 Sihtrühm: Lähed vasakule küljele. 573 00:27:18,380 --> 00:27:21,004 DAVID J. Humala: Jah, nii minna vasakul pool telefoniraamatust. 574 00:27:21,004 --> 00:27:24,140 Viska ära parem pool, kui Smith on varem raamatus. 575 00:27:24,140 --> 00:27:27,140 Nii avatud keskel vasakul poolel raamat. 576 00:27:27,140 --> 00:27:30,240 >> Ja siis samm kaheksa, minna liinil. 577 00:27:30,240 --> 00:27:34,520 Ja see on uudishimulik loop ma olen indutseerivate, rekursioon niiöelda. 578 00:27:34,520 --> 00:27:35,990 Aga rohkem sellest tulevikus. 579 00:27:35,990 --> 00:27:39,590 >> Ma kasutan oma sama algoritmi, minu sama pseudokoodi, 580 00:27:39,590 --> 00:27:43,020 lahendada sama probleem uuesti sest ainus asi, mis on muutunud 581 00:27:43,020 --> 00:27:46,550 on suurus probleem, mitte minu eesmärk ja mitte inimene 582 00:27:46,550 --> 00:27:47,340 Ma otsin. 583 00:27:47,340 --> 00:27:51,610 Nii et ma ei saa taaskasutada algoritm et ma olen juba määratletud. 584 00:27:51,610 --> 00:27:53,580 >> Else kui Smith on hilisem aastal book-- võite 585 00:27:53,580 --> 00:27:56,200 arvan-- avatud keskel paremal poolel raamat. 586 00:27:56,200 --> 00:27:58,350 Ja jälle läheb liinile kolm. 587 00:27:58,350 --> 00:28:01,480 Else-- mis on viimane rida Selles programmis saab olema? 588 00:28:01,480 --> 00:28:03,580 Kui ta ei ole nende hulgast nimesid lehel ma olen 589 00:28:03,580 --> 00:28:06,870 kohta, kui ta ei ole varem raamat ja ta ei ole hiljem 590 00:28:06,870 --> 00:28:09,899 raamat, mida ma tean On tõsi, umbes Mike Smith nüüd? 591 00:28:09,899 --> 00:28:11,190 Sihtrühm: Ta ei ole raamat. 592 00:28:11,190 --> 00:28:12,731 DAVID J. Humala: Ta ei ole raamat. 593 00:28:12,731 --> 00:28:16,040 Nii et parim, mis ma teha saan, on lihtsalt loobuda ja lõpetada see programm. 594 00:28:16,040 --> 00:28:16,540 Olgu. 595 00:28:16,540 --> 00:28:20,350 Nii et sel hetkel, võtame kiirülevaate mõned, mis ootab. 596 00:28:20,350 --> 00:28:23,620 Ja tegelikult, ma olen siin poolt mitmeid CS50 personal. 597 00:28:23,620 --> 00:28:26,940 Kui need inimesed saaksid kõik minuga siin laval. 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 >> Mind you, see on ainult alagrupis CS50 personal 601 00:28:38,170 --> 00:28:42,380 sest igal aastal on meil ligi 100 töötajat liikmete rollid muidugi assistendid 602 00:28:42,380 --> 00:28:44,410 õpetamise stipendiaatide ja rohkem. 603 00:28:44,410 --> 00:28:45,700 Tule. 604 00:28:45,700 --> 00:28:48,820 Nii nad ühinevad meiega siin kohmakalt hetkeks 605 00:28:48,820 --> 00:28:54,230 kui me anname tuulispask tour, mida Peaksite siin muidugi. 606 00:28:54,230 --> 00:28:59,640 >> Nii et ennekõike on meil SAT / UNS kui liigitamise valik muidugi. 607 00:28:59,640 --> 00:29:03,180 See on mõeldud tahtlikult oleks võimalus, mille 608 00:29:03,180 --> 00:29:05,570 Kui teil on natuke rahutu kell on käigus, 609 00:29:05,570 --> 00:29:09,390 ja sa ei karda failure-- isegi kui ausalt jätmine tähendab kannatamist GPA, 610 00:29:09,390 --> 00:29:13,180 saada B ja ei A-- mis on täpselt see, mida kindlasti käib värav 611 00:29:13,180 --> 00:29:15,750 Muidugi nagu CS50 ja muud sissejuhatavad kursused, 612 00:29:15,750 --> 00:29:17,540 sellise liigitamise võimalust eesmärgiks on võimaldada. 613 00:29:17,540 --> 00:29:19,930 >> Ma südamest julgustada students-- eriti 614 00:29:19,930 --> 00:29:23,090 kui on Taraga-- alustada Muidugi SAT / UNS isegi jääda SAT / UNS. 615 00:29:23,090 --> 00:29:27,310 Aga sa võid kindlasti minna kirja klassi viienda esmaspäeval perspektiivis. 616 00:29:27,310 --> 00:29:31,560 >> Ausalt, tagasi, kui ma oli uustulnuk 1995 617 00:29:31,560 --> 00:29:34,630 Ma ise ei ole isegi võtta CS50 sest ma ei saa üles närvi 618 00:29:34,630 --> 00:29:36,540 tegelikult samm jala klassiruumis. 619 00:29:36,540 --> 00:29:40,020 Tundus domeeni liiga võõras mulle ja tõesti ainult 620 00:29:40,020 --> 00:29:43,080 neile, mu sõbrad, ausalt, kes oli olnud programmeerimine 621 00:29:43,080 --> 00:29:45,570 sest need olid kuue või äkki 10-aastane. 622 00:29:45,570 --> 00:29:48,640 Ja see oli ainult sellepärast, et ma olin võimalik võtta CS50 minu päev 623 00:29:48,640 --> 00:29:52,720 aastal samaväärse versioon SAT / UNS-- läbimise / mitteläbimise tagasi day-- 624 00:29:52,720 --> 00:29:53,850 et isegi võtsin 50. 625 00:29:53,850 --> 00:29:57,440 Ja ühel või teisel moel, olen jälle siin täna teiega. 626 00:29:57,440 --> 00:30:00,690 >> Nüüd vahepeal mida veel peaksid meeles pidama, umbes 50 627 00:30:00,690 --> 00:30:01,910 Samaaegselt kursusel. 628 00:30:01,910 --> 00:30:03,785 Erinevalt kuulujutud, et Te olete kuulnud, 629 00:30:03,785 --> 00:30:07,650 saate tegelikult üheaegselt registreeruda CS50 ja teine ​​klass, 630 00:30:07,650 --> 00:30:12,150 kohtub sama või osad kattuvad ajal CS50 loenguid siin. 631 00:30:12,150 --> 00:30:16,420 Vaata ainekava andmed selle rakendamisele. 632 00:30:16,420 --> 00:30:19,540 >> Loengud, vahepeal vastuolus mis on ametlikult kataloogi 633 00:30:19,540 --> 00:30:22,060 üldiselt ainult kohtuvad vaid tund. 634 00:30:22,060 --> 00:30:24,240 Mõnikord võime joosta natuke pikk. 635 00:30:24,240 --> 00:30:26,800 Kuid pidage meeles, et eesmärk CS50 loengud 636 00:30:26,800 --> 00:30:28,980 on pakkuda Teile kontseptuaalne ülevaade, 637 00:30:28,980 --> 00:30:31,830 loodetavasti mõned meeleavaldused, võibolla isegi mõned meened, 638 00:30:31,830 --> 00:30:34,390 mis ootab jaoks nädalal, mis järgneb. 639 00:30:34,390 --> 00:30:37,730 >> Ja nii loengutes Uurime neid teemasid ja näiteid koos, 640 00:30:37,730 --> 00:30:41,420 tuues õpilased lavale ja töötajate lavale nii tihti kui võimalik, 641 00:30:41,420 --> 00:30:43,740 vaid paar tundi nädalas. 642 00:30:43,740 --> 00:30:47,435 Jaos, vahepeal on pakutud need inimesed siin-- palju 643 00:30:47,435 --> 00:30:50,060 neist õpetamise stipendiaatide mõned neist muidugi assistants-- tahet 644 00:30:50,060 --> 00:30:51,160 toimumas nädalas. 645 00:30:51,160 --> 00:30:52,940 >> Ja mis peamine, et hoida meeles on see, et me 646 00:30:52,940 --> 00:30:55,920 ei peate-- ole erinevalt Esimese Ööd, muusika class-- 647 00:30:55,920 --> 00:30:59,220 eri palade sektsioonid üliõpilased vähem mugav, rohkem 648 00:30:59,220 --> 00:31:01,150 mugav, ja kusagil vahepeal. 649 00:31:01,150 --> 00:31:03,559 Ja ausalt öeldes, sa tead, kui sa oled vähem mugav. 650 00:31:03,559 --> 00:31:05,600 Ja te ilmselt teate, kui sa oled rohkem rahul. 651 00:31:05,600 --> 00:31:09,920 Ja kui sa ei ole päris kindel, siis on definitsiooni kusagil vahepeal. 652 00:31:09,920 --> 00:31:12,850 Nii et kui on aeg jagu nädal või nii, ühe õppekava, 653 00:31:12,850 --> 00:31:14,070 küsime sellele küsimusele. 654 00:31:14,070 --> 00:31:16,890 Ja sa võid ise valida Based ise mugavuse tase 655 00:31:16,890 --> 00:31:22,220 ja olla students-- olla roheline dots-- sarnane mugavuse tase teile. 656 00:31:22,220 --> 00:31:25,710 >> Samas on meil probleem komplektid, mis lõppkokkuvõttes 657 00:31:25,710 --> 00:31:28,310 määratleda oma kogemusi selles muidugi. 658 00:31:28,310 --> 00:31:30,370 Nad pakutakse tavaliselt mitmes väljaandes. 659 00:31:30,370 --> 00:31:34,150 Standard Edition, et ootame kõige iga õpilane käigus tegeleda 660 00:31:34,150 --> 00:31:37,900 kuid ka nn häkker väljaanne mis ei paku kujul täiendava laenu 661 00:31:37,900 --> 00:31:41,980 otse, kuid tegelikult praalimine õigusi öelda, et te olete proovinud ja lahendada 662 00:31:41,980 --> 00:31:45,250 Muidugi on häkker väljaandeid, mis läheneda sarnane materjal 663 00:31:45,250 --> 00:31:47,370 kuid keerukamaid nurk. 664 00:31:47,370 --> 00:31:49,480 >> Mida pakume Standard Edition, eest, 665 00:31:49,480 --> 00:31:51,420 jälle super enamus õpilased, ei ole 666 00:31:51,420 --> 00:31:54,060 ainult walk-läbi ekspordi, mis on videod eesotsas muidugi töötajad 667 00:31:54,060 --> 00:31:57,840 et tõeliselt sõelub Loomulikult on probleeme ja võimalikke disain 668 00:31:57,840 --> 00:31:58,910 rakendusi. 669 00:31:58,910 --> 00:32:01,434 Ja meil on ka pärast Tegelikult pakuvad Lahkamine, 670 00:32:01,434 --> 00:32:03,350 kusjuures kui sa ei tea, kuidas te oleksite 671 00:32:03,350 --> 00:32:05,930 või oleks lahendanud mõned probleem, õppejõudude 672 00:32:05,930 --> 00:32:08,640 sõelub need on video ka. 673 00:32:08,640 --> 00:32:14,350 >> Vahepeal, mis ootab sama ka viie hilinenud päeva ja asjaolu 674 00:32:14,350 --> 00:32:16,680 et me kaotage väikseim probleem seatud skoor. 675 00:32:16,680 --> 00:32:20,370 Me kindlasti hindan seda, et vahetada töökoormuse et 50 loodab 676 00:32:20,370 --> 00:32:24,020 teist, elu jääb jalgu Mõnikord, kui mitte viis korda. 677 00:32:24,020 --> 00:32:26,150 Ja nii see annab sa natuke paindlikkust, 678 00:32:26,150 --> 00:32:29,400 laiendada oma tähtaja, ütleme, Neljapäev keskpäeval reede keskpäeval. 679 00:32:29,400 --> 00:32:33,150 Vaata ainekava rakendamise üksikasjadest. 680 00:32:33,150 --> 00:32:34,702 >> Nüüd sellest, mis nüüd ootab? 681 00:32:34,702 --> 00:32:36,660 Ja see on ainult esinevate mulle nüüd lihtsalt, kui kaua 682 00:32:36,660 --> 00:32:38,333 Mul on teiega siin seista laval. 683 00:32:38,333 --> 00:32:39,060 >> [Naer] 684 00:32:39,060 --> 00:32:41,867 >> DAVID J. Humala: Aga me jõuame climactic viimistlus enne pikk. 685 00:32:41,867 --> 00:32:43,700 Mida ootab poolest Probleemi komplekti? 686 00:32:43,700 --> 00:32:47,099 Noh, võib-olla teaser, mida me kõik eelmisel aastal tegid oma eelkäijatest. 687 00:32:47,099 --> 00:32:49,140 Esimesel probleem komplekt Eelmisel aastal tutvustasime 688 00:32:49,140 --> 00:32:51,630 Scratch, graafiline programmeerimiskeel, mis 689 00:32:51,630 --> 00:32:54,570 saab programmeerida sõna otseses mõttes pukseerige puzzle tükki, 690 00:32:54,570 --> 00:32:57,220 nagu need, mis on meenutab konstruktid 691 00:32:57,220 --> 00:32:59,260 näed vaid üks nädal seega, kui me lülituda 692 00:32:59,260 --> 00:33:01,870 et traditsiooniliste keelt, tuntakse C. 693 00:33:01,870 --> 00:33:03,930 >> Eelmisel aastal asus Selle probleemi komplekt, 694 00:33:03,930 --> 00:33:06,720 hõlmavad krüptograafia, segipaiskamist info 695 00:33:06,720 --> 00:33:10,410 hoida seda riiklike või sõprade silmi, et sa ei taha seda näha. 696 00:33:10,410 --> 00:33:12,540 Kodeeritud siin sõnum, et varsti sa 697 00:33:12,540 --> 00:33:15,740 suudab dekrüpteerida või de-rüselus. 698 00:33:15,740 --> 00:33:17,960 >> Breakout oli probleem eelmisel aastal püstitatud, milles 699 00:33:17,960 --> 00:33:21,530 kasutada neid uue leiti programmeerimine oskusi tegelikult rakendada 700 00:33:21,530 --> 00:33:24,840 mäng wherein-- kui võib mäletate childhood-- 701 00:33:24,840 --> 00:33:28,040 Eesmärgiks oli bash tellised, mis on atop ekraani 702 00:33:28,040 --> 00:33:30,190 siin, akumuleerivad lööb mööda teed, 703 00:33:30,190 --> 00:33:35,460 ja rakendades oma algoritme kellega see lahendus lõppkokkuvõttes 704 00:33:35,460 --> 00:33:37,357 võimaldab teil mängida mängu. 705 00:33:37,357 --> 00:33:39,440 Vahepeal hiljem semester, anname teile 706 00:33:39,440 --> 00:33:43,470 sõnastik 143091 ingliskeelseid sõnu. 707 00:33:43,470 --> 00:33:46,300 Ja siis tuleb väljakutse Kirjutada programm, mis 708 00:33:46,300 --> 00:33:50,260 õigekirja kontroll, dokumentide, mille laadimist, et paljud sõnad mällu 709 00:33:50,260 --> 00:33:52,300 võimalikult tõhusalt. 710 00:33:52,300 --> 00:33:54,240 Üldiselt pehme sind vastu oma klassikaaslastega 711 00:33:54,240 --> 00:33:56,610 kui valite sisse natuke väljakutse juht pardal 712 00:33:56,610 --> 00:34:00,090 näha, kes saab kasutada kõige vähem sekundit sõiduaega, 713 00:34:00,090 --> 00:34:03,550 ja kõige vähem megabaiti mälu, 714 00:34:03,550 --> 00:34:08,659 ja tegelikult peenhäälestus-programmid uskumatult ressursside tõhusa ei 715 00:34:08,659 --> 00:34:09,820 lihtsalt aega. 716 00:34:09,820 --> 00:34:13,239 >> Eelmisel aastal liiga, otsisime lõpus semestri ajal veebi programmeerimine. 717 00:34:13,239 --> 00:34:16,230 Ja tõepoolest, me teeme seda uuesti seda aastal mitme probleem komplekti, 718 00:34:16,230 --> 00:34:20,290 tutvustab teile tehnikaid ja mõtteviisi, millega saab kohaldada 719 00:34:20,290 --> 00:34:23,489 Nende programmeerimise oskusi veebilehed, dünaamilisi veebisaite, 720 00:34:23,489 --> 00:34:26,639 veebisaidid, mis tegelikult lahendada probleeme ja käituda erinevalt 721 00:34:26,639 --> 00:34:30,620 ning ei ole lihtsalt staatiline alade staatiline teave. 722 00:34:30,620 --> 00:34:32,854 >> Lõplik projekt lõpuks määratleb, kuigi 723 00:34:32,854 --> 00:34:34,770 kliimaksi käigus õpilastele, kus 724 00:34:34,770 --> 00:34:37,228 saate vaidlustas rakendada Kõige midagi huvi 725 00:34:37,228 --> 00:34:40,590 teile, nii kaua, kui see kuidagi juhib pärast kursuse õppetunnid. 726 00:34:40,590 --> 00:34:42,930 >> Ja kui sa nägid video alguses, 727 00:34:42,930 --> 00:34:47,340 me järeldada semestri CS50 hackathon, mis siis, kui võõras, 728 00:34:47,340 --> 00:34:51,420 algab kell 07:00 ühe öö ja lõpeb kell 07:00 järgmisel hommikul. 729 00:34:51,420 --> 00:34:53,614 Umbes 09:00, paneme et esimese õhtusöögi. 730 00:34:53,614 --> 00:34:55,489 Umbes 01:00, paneme et teise õhtusöögi. 731 00:34:55,489 --> 00:34:57,490 Ja kui sa oled ikka seisvat 05:00 oleme 732 00:34:57,490 --> 00:35:00,320 hakkab liinibuss sa et IHOP hommikusöögiks. 733 00:35:00,320 --> 00:35:04,980 >> CS50 Fair, vahepeal on sündmus millele 2000 pluss õppejõud, üliõpilased, 734 00:35:04,980 --> 00:35:07,850 ja personali kogu linnak tulla, et näha oma saavutusi 735 00:35:07,850 --> 00:35:10,150 käigus ning lõpliku projektide ja loomingut 736 00:35:10,150 --> 00:35:14,960 et loote oma sülearvuteid, lauaarvutid, või isegi lambipirnid. 737 00:35:14,960 --> 00:35:17,340 >> Vahepeal tööajal ja tugistruktuur. 738 00:35:17,340 --> 00:35:20,480 Ja nüüd see oleks olnud paremat aega, et viia teid kõiki üles. 739 00:35:20,480 --> 00:35:24,310 >> Tööaeg toimub neli ööd nädalas mitu tundi igal öösel 740 00:35:24,310 --> 00:35:27,710 on tavaliselt 20 kuni 30 kohta Muidugi töötajad tööl korraga 741 00:35:27,710 --> 00:35:31,240 pakkuda teile intiimne üks-ühele võimalusi toetust 742 00:35:31,240 --> 00:35:33,790 koos muidugi probleem komplekti. 743 00:35:33,790 --> 00:35:36,120 Õpetamine liiga on kättesaadav, eelkõige 744 00:35:36,120 --> 00:35:39,630 õpilastele vähem comfortable-- või julgen öelda vähemalt comfortable-- kellele 745 00:35:39,630 --> 00:35:41,869 tööajal ei ole kõige toitev keskkond 746 00:35:41,869 --> 00:35:43,660 ja kindlasti ei ole kõige stressivaba. 747 00:35:43,660 --> 00:35:47,430 Eriti siis, kui tähtajad on pressimine, me ennetavalt siduda teile endale 748 00:35:47,430 --> 00:35:51,440 liikmega töötajate tööle mõned regulaarset teie vajadustele 749 00:35:51,440 --> 00:35:53,850 ja oma ajakava lubab. 750 00:35:53,850 --> 00:35:55,260 >> Ja töötajad. 751 00:35:55,260 --> 00:36:01,020 Lubage mul tutvustada Davon, Rob, ja Gabriel, tänavu pead. 752 00:36:01,020 --> 00:36:02,370 Kui teil oleks iga meeldib olen öelnud 753 00:36:02,370 --> 00:36:03,349 >> [APPLAUSE] 754 00:36:03,349 --> 00:36:03,849 --a sõna. 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 siin on muidugi manager, mis 758 00:36:13,220 --> 00:36:15,730 tähendab tema täistööajaga roll ta aitab täitmine 759 00:36:15,730 --> 00:36:18,424 ja logistika CS50. 760 00:36:18,424 --> 00:36:19,340 Davon: Jah, Tere, kutid. 761 00:36:19,340 --> 00:36:20,965 Näete palju mulle tööajal. 762 00:36:20,965 --> 00:36:22,110 Ma õpetamise lõigud. 763 00:36:22,110 --> 00:36:25,150 Ja kui sa tulistada kirju edasi, Ma ilmselt reageeri. 764 00:36:25,150 --> 00:36:27,670 Nii et ma näen palju te kõik semester. 765 00:36:27,670 --> 00:36:29,890 Ja tere tulemast CS50. 766 00:36:29,890 --> 00:36:38,330 >> DAVID J. Humala: Ja nüüd Gabriel, kes ise oli lihtsalt uustulnuk eelmisel aastal 767 00:36:38,330 --> 00:36:41,820 kuid on viimase paari aasta jooksul on tegutseb oma versiooni CS50 768 00:36:41,820 --> 00:36:44,660 Brasiilias, mille ta alla kõik kursuse content-- 769 00:36:44,660 --> 00:36:46,890 mis on selge märk, filmitud ja paigutatud online-- 770 00:36:46,890 --> 00:36:51,480 , et ta saaks seda tõlkida Portugali ja seejärel õpetada rohkem kui 100 771 00:36:51,480 --> 00:36:54,610 oma klassikaaslastega üle käigus paar aastat, 772 00:36:54,610 --> 00:36:57,650 õpetas oma emakeeles Kursuse õppekava. 773 00:36:57,650 --> 00:36:58,964 >> GABRIEL: Tere. 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: Tere, mina olen Gabriel. 777 00:37:07,710 --> 00:37:09,340 Olen pea TF muidugi. 778 00:37:09,340 --> 00:37:10,780 Ja ma loodan, et sa armastad CS50. 779 00:37:10,780 --> 00:37:12,830 See on CS50. 780 00:37:12,830 --> 00:37:14,697 >> DAVID J. Humala: Nüüd Rob. 781 00:37:14,697 --> 00:37:15,780 Oh, sa tahad kasutuselevõtt? 782 00:37:15,780 --> 00:37:16,696 >> ROB: Ei, ma ei tea. 783 00:37:16,696 --> 00:37:18,225 [Naer] 784 00:37:18,225 --> 00:37:19,475 DAVID J. Humala: Ja Rob Boden. 785 00:37:19,475 --> 00:37:22,300 [Naer] 786 00:37:22,300 --> 00:37:23,800 ROB: Tere, ma olen Rob. 787 00:37:23,800 --> 00:37:27,220 See on minu viiendal aastal kursusega seotud. 788 00:37:27,220 --> 00:37:29,220 Igal aastal, see on lihtsalt paremaks klass, 789 00:37:29,220 --> 00:37:31,550 nii et te olete selgelt saab olema fantastiline. 790 00:37:31,550 --> 00:37:33,181 Loodan, et te kõik nautige seda. 791 00:37:33,181 --> 00:37:34,430 Ma lähen nautige seda. 792 00:37:34,430 --> 00:37:36,670 Nii näeme siis. 793 00:37:36,670 --> 00:37:38,445 >> DAVID J. Humala: Ja aeg ei võimalda meid-- 794 00:37:38,445 --> 00:37:39,670 >> [APPLAUSE] 795 00:37:39,670 --> 00:37:41,661 >> Aeg ei luba meil tutvustada kõigile 796 00:37:41,661 --> 00:37:44,660 laval ja kõik oma kolleegid kes on ostetavad klasside täna. 797 00:37:44,660 --> 00:37:47,390 Aga lubage mul tutvustada Belinda ja CS50 Puzzle 798 00:37:47,390 --> 00:37:49,550 Päev, mis ootab seda tulevad laupäev, mis 799 00:37:49,550 --> 00:37:51,800 on esimene Muidugi on ulatuslike sündmuste. 800 00:37:51,800 --> 00:37:54,300 >> See üks eriti tähendas haamer kodus punkt 801 00:37:54,300 --> 00:37:57,580 et infotehnoloogia on lõppkokkuvõttes mitte umbes programmeerimine, vaid pigem 802 00:37:57,580 --> 00:37:59,280 umbes probleemilahendus üldisemalt. 803 00:37:59,280 --> 00:38:01,450 Ja Puzzle Day, nagu te peate vaata, jõuad 804 00:38:01,450 --> 00:38:04,207 ja oma klassikaaslastega koos-- loodame, et see laupäev. 805 00:38:04,207 --> 00:38:04,961 >> BELINDA: OK. 806 00:38:04,961 --> 00:38:05,750 Tere, kutid. 807 00:38:05,750 --> 00:38:06,740 Nii et aitäh. 808 00:38:06,740 --> 00:38:10,120 Nii nagu meie kuulus kapten ütles minu nime Belinda. 809 00:38:10,120 --> 00:38:12,100 Olen üliõpilane at Quincy House. 810 00:38:12,100 --> 00:38:15,730 >> Ma lihtsalt tahan, et te, võttis CS50 eelmisel aastal tõesti meeldis see. 811 00:38:15,730 --> 00:38:17,960 Mul on pehme koht kutid kolmandas reas. 812 00:38:17,960 --> 00:38:21,384 Ja ma olen uhke öelda, ma olen nüüd aastal toime suhe 813 00:38:21,384 --> 00:38:22,300 koos CS50 [kuuldamatu]. 814 00:38:22,300 --> 00:38:22,799 OK. 815 00:38:22,799 --> 00:38:26,140 See oli minu lame versioon nali. 816 00:38:26,140 --> 00:38:28,320 >> Igatahes, liigub, tahtsin kutsuda 817 00:38:28,320 --> 00:38:31,439 te kõik i-lab või HBS nõgestõbi. 818 00:38:31,439 --> 00:38:33,730 Me läheme olema võttes Puzzle Day 12:00-03:00. 819 00:38:33,730 --> 00:38:37,680 Ja see on suurepärane võimalus teil poisid, et rahuldada oma mehe CS sõbrad, 820 00:38:37,680 --> 00:38:42,780 lahendada mõned mitte-CS mõistatusi, nagu Captain nimetatud, ja ka süüa tasuta toitu, 821 00:38:42,780 --> 00:38:46,910 teenida vinge auhindu, nagu kinkekaardid, $ 75 inimese kohta, 822 00:38:46,910 --> 00:38:48,400 ja also-- mis see oli? 823 00:38:48,400 --> 00:38:49,540 Wii U või midagi? 824 00:38:49,540 --> 00:38:50,333 Wii U? 825 00:38:50,333 --> 00:38:51,040 Jah. 826 00:38:51,040 --> 00:38:52,330 Meie loosimine. 827 00:38:52,330 --> 00:38:52,830 Lahe. 828 00:38:52,830 --> 00:38:54,310 Nii et ma jään umbes pärast klassis. 829 00:38:54,310 --> 00:38:56,770 Ja kui te mingit küsimusi, andke teada. 830 00:38:56,770 --> 00:38:59,980 >> DAVID J. Humala: Ja te näete, pärast see pole midagi teha täna. 831 00:38:59,980 --> 00:39:01,920 Esimeseks probleemiks seatud lähevad reede. 832 00:39:01,920 --> 00:39:05,420 Aga meid koju täna, ma tahaks tutvustada teile konkreetselt ühe 833 00:39:05,420 --> 00:39:09,080 personali liige, Colton Ogden siin, kelle käed on nüüd 834 00:39:09,080 --> 00:39:12,250 kaitstud üle teile Selle MIDI kontroller 835 00:39:12,250 --> 00:39:15,170 haamer kodus punkt veelgi et infotehnoloogia, liiga, 836 00:39:15,170 --> 00:39:19,130 on kohaldatavuse kaugemale inseneri ja vars ja infotehnoloogia ise, 837 00:39:19,130 --> 00:39:22,890 laiendada ka selliste valdkondade nagu muusika. 838 00:39:22,890 --> 00:39:30,590 >> Colton on lahkelt offered-- ma arvasin üks neist pidi fookust fikseerida. 839 00:39:30,590 --> 00:39:34,400 Andrew, kui me võiksime kutsuda fookus siin hetkeks. 840 00:39:34,400 --> 00:39:36,780 >> Mis Colton teinud eelnevalt on programmi 841 00:39:36,780 --> 00:39:40,345 see seade käesoleva pad nupud et näete pildil siin, 842 00:39:40,345 --> 00:39:42,470 nagu MIDI kontroller, kusjuures kõik need nupud 843 00:39:42,470 --> 00:39:47,080 on traadiga eelkõige muusikaline tähele või heli üldisemalt Salvestamise 844 00:39:47,080 --> 00:39:50,445 nii et mängides mustrid neist nupud, palju nagu mustrid bitti, 845 00:39:50,445 --> 00:39:52,620 võib esindada teisi kõrgema taseme mõisted. 846 00:39:52,620 --> 00:39:56,750 Kas ta saaks lõpuks meid koju täna siin? 847 00:39:56,750 --> 00:39:59,540 Ilma pikema jututa, kui võiksime päevasõidutulede tuled, 848 00:39:59,540 --> 00:40:03,145 ja lülita ekraani taga Colton. 849 00:40:03,145 --> 00:40:03,865 >> Sihtrühm: Woo! 850 00:40:03,865 --> 00:40:06,090 >> DAVID J. Humala: See on CS50. 851 00:40:06,090 --> 00:40:10,518 >> [Muusika mängimine] 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 >> Ongi CS50. 856 00:42:56,450 --> 00:42:57,950 Me näeme reedel. 857 00:42:57,950 --> 00:42:59,890 Mõned kook ootab teid Transept. 858 00:42:59,890 --> 00:43:04,046 859 00:43:04,046 --> 00:43:08,850 >> [Muusika mängimine] 860 00:43:08,850 --> 00:45:49,227