1 00:00:00,000 --> 00:00:15,059 >> [MUSIC MÄNGIB] 2 00:00:15,059 --> 00:00:19,170 >> See on CS50-- Harvard Ülikooli kasutuselevõttu 3 00:00:19,170 --> 00:00:22,070 intellektuaalse ettevõtete infotehnoloogia 4 00:00:22,070 --> 00:00:23,800 ja kunsti programmeerimine. 5 00:00:23,800 --> 00:00:27,020 Ja minu nimi on David Humala ja Ma lihtsalt mõtlesin täna hommikul, 6 00:00:27,020 --> 00:00:33,120 see on olnud hämmastavalt 20 aastat täna kuna ma viimati istunud kus kutid praegu. 7 00:00:33,120 --> 00:00:33,840 >> See oli 1996. 8 00:00:33,840 --> 00:00:37,550 Olin üliõpilane ning Olin CS50 jaoks väga esmakordselt. 9 00:00:37,550 --> 00:00:40,890 Ja ma isegi ei saanud üles närvi võtta ise uustulnuk aastal, 10 00:00:40,890 --> 00:00:42,500 osalt aeg. 11 00:00:42,500 --> 00:00:44,782 Arvutiteadus mulle oli selline nagu, meh. 12 00:00:44,782 --> 00:00:46,990 Ma olin natuke geek kasvab üles, kuid ma ei ole tegelikult 13 00:00:46,990 --> 00:00:49,180 on mis tahes intellektuaalse huvi, mida ilmus 14 00:00:49,180 --> 00:00:51,920 lihtsalt olla terve hunnik inimesed programmeerimine kogu aeg. 15 00:00:51,920 --> 00:00:53,904 >> Ja ma kartsin, et kui aus olla. 16 00:00:53,904 --> 00:00:56,820 Kursus ja infotehnoloogia rohkem Üldiselt oli ja mingil määral 17 00:00:56,820 --> 00:01:01,230 iseloomustab see maine valdkonnas ole ettevaatlik, kui ainult sellepärast, et paljud meist 18 00:01:01,230 --> 00:01:04,410 ei tunne seda ja kindel see. 19 00:01:04,410 --> 00:01:08,480 Ja see tõesti ei olnud, kuni ma sisseoste Selle klassi, et üliõpilane fall-- 20 00:01:08,480 --> 00:01:10,880 ja isegi siis, ma ainult registreerunud sest professor-- 21 00:01:10,880 --> 00:01:13,950 üks minu esimene mentorid, Brian Kernighan nüüd Princeton-- 22 00:01:13,950 --> 00:01:15,700 võimaldas mul teha klassi pass ei suuda. 23 00:01:15,700 --> 00:01:18,020 Ja tõepoolest, et põhjus, miks Täna võimaldama ja soodustama 24 00:01:18,020 --> 00:01:20,030 õpilastel võtta selles klassis istus / unsat. 25 00:01:20,030 --> 00:01:22,040 >> Ja alles siis, mille semestri lõpuks 26 00:01:22,040 --> 00:01:24,870 ma aru, nagu, wow, see ei olnud selline tunne valdkonnas. 27 00:01:24,870 --> 00:01:26,850 Tõepoolest, see oli väga volitatakse valdkonnas, 28 00:01:26,850 --> 00:01:28,970 ja põnevalt, eriti hiljem 29 00:01:28,970 --> 00:01:32,809 kui ma võtsin kursused Teatrikunst 101 ja Ladina 30 00:01:32,809 --> 00:01:34,600 ja siis lõpuks grad kooli arheoloogia 31 00:01:34,600 --> 00:01:37,860 ma tõesti alustada, et näha ristumiskohtades selles valdkonnas arvuti 32 00:01:37,860 --> 00:01:41,979 teaduse, humanitaar, loodusteaduste, kunsti, meditsiin, 33 00:01:41,979 --> 00:01:42,520 jms. 34 00:01:42,520 --> 00:01:44,420 Ja nii see on, mida on lihtsalt nii puhas arvutiteaduse 35 00:01:44,420 --> 00:01:46,930 lõpuks, kui loodame see-- on selle rakendatavuse 36 00:01:46,930 --> 00:01:50,280 Nende teistes valdkondades, ja kuidas te saate võtta mõned tänapäeva ja semestri 37 00:01:50,280 --> 00:01:53,070 ideed ja praktilised oskused tagasi oma domeen, 38 00:01:53,070 --> 00:01:58,200 ja tegelikult avastada seda ristmikul on vabade kunstide ja teaduste. 39 00:01:58,200 --> 00:02:02,690 >> Nii 73% sulle, kui viimane aastal on viiteid, 40 00:02:02,690 --> 00:02:04,390 ei ole kunagi võtnud CS muidugi enne. 41 00:02:04,390 --> 00:02:06,389 Nii et kui, nagu mina, siis on tunne natuke 42 00:02:06,389 --> 00:02:09,190 hirmul, või ausalt sa pole päris kindel, miks sa isegi siin. 43 00:02:09,190 --> 00:02:11,510 Võib-olla sa lihtsalt järgida mõningaid sõprade üle Sanders kohe. 44 00:02:11,510 --> 00:02:12,490 See on täiesti korras. 45 00:02:12,490 --> 00:02:15,059 Eesmärk siin on konks teid ja teid rahustada 46 00:02:15,059 --> 00:02:17,100 et kui sa vaadata vasakule ja paremale, 47 00:02:17,100 --> 00:02:21,480 sa lähed, et näha klassikaaslastega koos nii vähe või nii palju kogemusi 48 00:02:21,480 --> 00:02:22,890 et sa ise olla. 49 00:02:22,890 --> 00:02:25,280 Ja tõepoolest, me jagada Mõned statistika hiljem täna 50 00:02:25,280 --> 00:02:28,120 et mida demograafia klassi tavaliselt nägema. 51 00:02:28,120 --> 00:02:31,440 >> Ja kui lisada reassurance-- ja see meil ei tähenda, sest võtsin jooksul 52 00:02:31,440 --> 00:02:33,252 Mõne aasta ago-- sisse kursuse ainekava 53 00:02:33,252 --> 00:02:35,460 on see-- et mida lõppkokkuvõttes küsimusi selle kursuse 54 00:02:35,460 --> 00:02:38,040 ei ole nii palju, kui sa lõpuks üles võrreldes oma klassikaaslastega, 55 00:02:38,040 --> 00:02:43,110 kuid kuhu 11. nädalal, lõppu semestri lõpuks võrreldes ennast 56 00:02:43,110 --> 00:02:46,280 nädalal 0, mis on kus me oleme täna siin. 57 00:02:46,280 --> 00:02:48,704 Ja see on see, mida ma mõistsin kõik need aastad tagasi. 58 00:02:48,704 --> 00:02:50,620 Ja ma tean palju klasside öelda, aga see on 59 00:02:50,620 --> 00:02:52,450 Eriti kehtib arvutiteadus. 60 00:02:52,450 --> 00:02:55,320 Lõpus päeval, valdkonnas on võõras, sest see oli minu 61 00:02:55,320 --> 00:02:58,590 ja võib olla teile, on tõesti peaaegu probleemide lahendamine. 62 00:02:58,590 --> 00:03:01,324 Ja sellisena, see ei ole see rakendatavuse saada teistes valdkondades. 63 00:03:01,324 --> 00:03:03,490 Ja tegelikult, kui me püüdsime ajama, mida see tähendab, 64 00:03:03,490 --> 00:03:06,897 See on probleemide lahendamine oma olemuselt Julgen väita. 65 00:03:06,897 --> 00:03:09,480 Seal input-- nii iganes see on see, et sa üritad lahendada. 66 00:03:09,480 --> 00:03:12,264 Seal on väljund, mis on loodetavasti lahendus sellele probleemile. 67 00:03:12,264 --> 00:03:14,180 Ja siis, kui oleksime öelda, infotehnoloogia, 68 00:03:14,180 --> 00:03:17,310 seal on see must kast keskel, et sa ei pruugi 69 00:03:17,310 --> 00:03:19,450 hoolivad, kuidas see toimib. 70 00:03:19,450 --> 00:03:22,230 Sa ise lõpuks võiks rakendada, mis sees, et kasti. 71 00:03:22,230 --> 00:03:25,194 Aga tänapäeva eesmärkidel ja rohkem üldiselt elus, kõik sa hoolid 72 00:03:25,194 --> 00:03:26,610 on see, et need probleemid saavad lahendatud. 73 00:03:26,610 --> 00:03:29,340 >> Ja mis on see muidugi on lõppkokkuvõttes uurib 74 00:03:29,340 --> 00:03:31,700 ristmikul Nende sisendid ja väljundid, 75 00:03:31,700 --> 00:03:34,410 ja nende nn algoritme, nagu me kohe näha, 76 00:03:34,410 --> 00:03:37,450 et rakendada mis on all olemas, kapuuts. 77 00:03:37,450 --> 00:03:40,487 Aga need sisendid ja nende outputs-- Mida see tegelikult tähendab? 78 00:03:40,487 --> 00:03:43,570 Noh, lõpus päeval, me peame mingil moel esindada teavet. 79 00:03:43,570 --> 00:03:46,660 See kehtib eriti arvuti, mis väljamõeldud ja keeruline, sest see 80 00:03:46,660 --> 00:03:48,160 Võib tunduda, on päris loll seade. 81 00:03:48,160 --> 00:03:52,240 See võtab electricity-- kas alates kaabli või aku input-- 82 00:03:52,240 --> 00:03:55,820 ja seejärel ta toodab mõned preprogramed vastuseid ekraanil. 83 00:03:55,820 --> 00:03:57,970 >> Aga kuidas me saame algusest lõpuni olemas? 84 00:03:57,970 --> 00:03:59,470 Noh, mis on probleem, mis tuleb lahendada? 85 00:03:59,470 --> 00:04:01,050 Noh, võib-olla me võiksime juures algust igal semestril 86 00:04:01,050 --> 00:04:02,841 püüdke käimist ruumis niimoodi. 87 00:04:02,841 --> 00:04:04,750 Nii et ma võiks teha nagu üks, kaks, kolm. 88 00:04:04,750 --> 00:04:07,060 Või äkki, kui ma tegin seda et omamoodi jälgida 89 00:04:07,060 --> 00:04:10,560 ning myself-- jälgida things-- Ma võiks kiiresti otsa sõrmede. 90 00:04:10,560 --> 00:04:14,650 Nii et ma võiks lihtsalt teha hash marks-- üks inimene, kaks, kolm, neli, viis, kuus, 91 00:04:14,650 --> 00:04:15,431 seitse, kaheksa. 92 00:04:15,431 --> 00:04:17,930 Ja meil kõigil on ilmselt seda teinud, kas teie kätes 93 00:04:17,930 --> 00:04:19,680 või paberile. 94 00:04:19,680 --> 00:04:22,140 Ja see on tegelikult lihtsalt midagi, mida nimetatakse unaarse notation-- 95 00:04:22,140 --> 00:04:26,130 kus, kui sul on ainult üks täht oma tähestikku, ühe või hash 96 00:04:26,130 --> 00:04:29,440 märgi sel juhul iga sisend soovite loota, 97 00:04:29,440 --> 00:04:32,330 sa pead panema ühe sellise letters-- üks nendest märkidest. 98 00:04:32,330 --> 00:04:32,510 >> Hästi. 99 00:04:32,510 --> 00:04:34,790 See kõik on hea ja hea mitte kõik nii keeruline. 100 00:04:34,790 --> 00:04:37,800 Aga arvuti ei ole kõik et palju keerulisem. 101 00:04:37,800 --> 00:04:40,770 Tõepoolest, enamik teist ilmselt tean isegi siis, kui olete tõesti ei 102 00:04:40,770 --> 00:04:44,080 lugeda, mida see tähendab, et arvutite aru ainult nullid 103 00:04:44,080 --> 00:04:45,870 ja ones-- nn binaarse süsteemi. 104 00:04:45,870 --> 00:04:49,390 Meie inimestel seevastu on nii palju keerukam, kuivõrd 105 00:04:49,390 --> 00:04:51,770 kui me mõistame, nulle läbi nines. 106 00:04:51,770 --> 00:04:55,740 >> Aga isegi kui binaarne on esimesel pilgul ei ole kõik nii tuttav, 107 00:04:55,740 --> 00:05:00,330 Selgub see on nagu süsteemid ja ideid, mida me juba teame. 108 00:05:00,330 --> 00:05:02,420 Nii näiteks kaaluda seda. 109 00:05:02,420 --> 00:05:03,896 See on lihtsalt sümbolite jada. 110 00:05:03,896 --> 00:05:05,770 Ja kõik teie, kui riivav see ilmselt 111 00:05:05,770 --> 00:05:09,380 arvan 123-- midagi tõesti huvitav seal. 112 00:05:09,380 --> 00:05:11,940 Aga miks on nii, see arv 123? 113 00:05:11,940 --> 00:05:14,440 Need on vaid Märgid kohta screen-- lihtsalt mustrid 114 00:05:14,440 --> 00:05:16,387 et keegi oleks tõmmatud või kirjutatud. 115 00:05:16,387 --> 00:05:18,970 Aga kui sa oled nagu mina, siis Ilmselt mäletavad algkool 116 00:05:18,970 --> 00:05:21,610 et on olemas mingisugune veerud või kohti siin. 117 00:05:21,610 --> 00:05:25,340 Seal on üks koht ja kümme koha ja sada koha. 118 00:05:25,340 --> 00:05:29,820 Ja sel põhjusel, et see on 123 ja mitte ainult muster kolm sümbolit 119 00:05:29,820 --> 00:05:33,090 põhjuseks on asjaolu, muidugi, kui me on üks sadadest koht, 120 00:05:33,090 --> 00:05:36,610 sa matemaatikat 100 korda üks, ja siis kaks kümnes koht. 121 00:05:36,610 --> 00:05:41,390 Nii et 10 korda 2 ja seejärel kolm üks koht ja see on 1 korda 3. 122 00:05:41,390 --> 00:05:45,670 Ja kui lisate kõik need üles, ja Muidugi, sa saad 100 pluss 20 pluss 3. 123 00:05:45,670 --> 00:05:48,220 >> Nii alustasime vaid muster ning symbols-- alphabet-- 124 00:05:48,220 --> 00:05:51,670 aga siis me kaardistatud tähenduse peale seda, kuidas nende sambad. 125 00:05:51,670 --> 00:05:54,450 Noh, selgub, et arvutid on tõesti ei ole 126 00:05:54,450 --> 00:05:56,300 kõik, mis erineb sina ja mina. 127 00:05:56,300 --> 00:06:01,840 Kuid selle asemel, kasutades volitusi 10 nii et speak-- 1, 10, 100, 1000, 128 00:06:01,840 --> 00:06:04,330 10000 kohas ja nii forth-- nad tegelikult 129 00:06:04,330 --> 00:06:08,930 lihtsalt kasutada volitused 2-- nii ühe, 2, 4, ja seejärel 130 00:06:08,930 --> 00:06:12,810 Kui me paneme rohkem numbreid, 8, 16, 32, 64, 128, ja nii edasi. 131 00:06:12,810 --> 00:06:16,050 Ja nii see on, kuidas arvuti oleks esindama arvu 0, 132 00:06:16,050 --> 00:06:17,300 just nagu meie, inimesed. 133 00:06:17,300 --> 00:06:21,660 >> 0, 0, 0-- ja saab ilmselt vist Mis mustri ühtede ja nullide, 134 00:06:21,660 --> 00:06:24,610 kui arvuti saab ainult räägi 0 või 1-- mida 135 00:06:24,610 --> 00:06:29,110 muster läheb esindama arvu meie, inimesed teavad, kui 1? 136 00:06:29,110 --> 00:06:30,590 Yeah-- 0, 0, 1. 137 00:06:30,590 --> 00:06:31,090 Hästi. 138 00:06:31,090 --> 00:06:35,900 Nii 0, 0, 1, kuidas me esindame 1, nii et siin võib olla kallutatud siis 139 00:06:35,900 --> 00:06:39,510 esindada number 2, kui teil on nelja koha ja kahe koha 140 00:06:39,510 --> 00:06:48,290 kui ühes kohas, siis võib öelda, noh, kui meil oli 1 üks koht, 141 00:06:48,290 --> 00:06:50,430 ja nüüd me tahame loota kuni 2 võite 142 00:06:50,430 --> 00:06:53,310 seda teha ja jätke see olla null. 143 00:06:53,310 --> 00:06:56,397 Aga muidugi ei ole see, kuidas koma süsteem toimib nii. 144 00:06:56,397 --> 00:06:58,230 Kui paned kohaline need mõlemad sambad, 145 00:06:58,230 --> 00:06:59,563 sul teha aritmeetika. 146 00:06:59,563 --> 00:07:01,930 Mis number tegin ma kogemata lihtsalt esindavad? 147 00:07:01,930 --> 00:07:06,710 >> Nii et see on 3, kuna 2 korda 1 pluss 1 korda 1 loomulikult annab meile kolm. 148 00:07:06,710 --> 00:07:08,340 Nii et see oleks kaks. 149 00:07:08,340 --> 00:07:12,730 Natuke omamoodi Peegeldab, nii et rääkida, kui 0 muutub ühe meelega 9 rollide üle 150 00:07:12,730 --> 00:07:14,840 ja muutub 0, kui kannad 1. 151 00:07:14,840 --> 00:07:16,510 See siis oleks kolm muidugi. 152 00:07:16,510 --> 00:07:20,170 Four-- veel üks huvitav asi juhtub, kui need ümbermineku 153 00:07:20,170 --> 00:07:21,750 ja kannad 1 ö. 154 00:07:21,750 --> 00:07:23,320 Nii see muidugi on 4. 155 00:07:23,320 --> 00:07:25,160 >> Aga kui sa kiiresti edasi nüüd, Milline on suurim arv läheb 156 00:07:25,160 --> 00:07:26,660 olema, et arvuti võib esindada? 157 00:07:26,660 --> 00:07:30,420 158 00:07:30,420 --> 00:07:32,380 Nii et see on ainult seitse sel juhul, eks? 159 00:07:32,380 --> 00:07:35,570 Kuna teil on üks neljast, ühe kahe, ühe osana ühest. 160 00:07:35,570 --> 00:07:36,900 Nii et see 4 + 2 + 1. 161 00:07:36,900 --> 00:07:37,972 Nii, mis annab sulle seitse. 162 00:07:37,972 --> 00:07:39,680 Ja tõepoolest, see oleks tundub esmapilgul 163 00:07:39,680 --> 00:07:43,750 et arvutid võivad loota ei ole suurem kui see. 164 00:07:43,750 --> 00:07:45,210 >> Aga see muidugi ei ole tõsi. 165 00:07:45,210 --> 00:07:48,243 Mida me inimestel teha, kui me tahame loota kõrgem kui näiteks 999? 166 00:07:48,243 --> 00:07:51,000 167 00:07:51,000 --> 00:07:53,900 Just kanda üks ja õige lisada neljanda numbri vasakule. 168 00:07:53,900 --> 00:07:55,070 Ja nii tõepoolest saime. 169 00:07:55,070 --> 00:07:57,900 Meil võiks olla kaheksa s koht ja 16. koht, 170 00:07:57,900 --> 00:08:02,000 ja 32 koht, 64, 128-- ja te lihtsalt hoida läheb kuni lõpmatuseni. 171 00:08:02,000 --> 00:08:04,640 Nii et need nullid ja ones-- nn binaarse süsteemis endale 172 00:08:04,640 --> 00:08:10,290 on, mida arvuti teadlane oleks Üldiselt nõuavad natuke või Kahendnumber. 173 00:08:10,290 --> 00:08:13,590 >> Aga nüüd, kuidas me saame alates mõiste või graafika need asjad 174 00:08:13,590 --> 00:08:14,620 tegeliku arvuti? 175 00:08:14,620 --> 00:08:17,170 Meil tundub, et vahele samm siin. 176 00:08:17,170 --> 00:08:20,210 Noh, ainult sisendi lõpus Päeva minu sülearvuti siin 177 00:08:20,210 --> 00:08:22,060 on see elektrienergia voog. 178 00:08:22,060 --> 00:08:24,560 Isegi siis, kui see on olnud pikk aega, sest olete mõelnud 179 00:08:24,560 --> 00:08:26,580 või kunagi mõelnud kuidas elektritööd, 180 00:08:26,580 --> 00:08:30,909 seal on elektronid voolab või välja, ja see on minu mingi sisend. 181 00:08:30,909 --> 00:08:34,659 >> Nii et kui see on kõik, mis me oleme saada sisendina siin 182 00:08:34,659 --> 00:08:36,830 Mida me saame teha, et andmed? 183 00:08:36,830 --> 00:08:40,040 Noh, me võiks mõelda nulli lihtsalt puudub elekter. 184 00:08:40,040 --> 00:08:42,540 Miski pole flowinw ei ole midagi liigub, ei juhtu midagi. 185 00:08:42,540 --> 00:08:44,690 See on lihtsalt default state-- null. 186 00:08:44,690 --> 00:08:48,200 Aga kui on elektri voolab, miks me lihtsalt ei meelevaldselt, vaid kogu maailmas 187 00:08:48,200 --> 00:08:50,250 järjekindlalt, kõne, et üks. 188 00:08:50,250 --> 00:08:54,760 >> Nii lihtsalt võttes ei ole võimu, meil on null, jah võimu 189 00:08:54,760 --> 00:08:57,520 meil one-- mingit võimu, jah võimu. 190 00:08:57,520 --> 00:09:01,520 Ja sel moel, kasutades midagi rohkem füüsilise või elektroonilise 191 00:09:01,520 --> 00:09:05,340 hakkame rakendama seda mõistet midagi asetsevad kas üks või null. 192 00:09:05,340 --> 00:09:07,230 Tõepoolest, me võiks lihtsalt teha siin. 193 00:09:07,230 --> 00:09:10,590 Nii et siin, ma ei ole kolm, kuid Kaheksa lambid, millest igaüks 194 00:09:10,590 --> 00:09:11,810 on oma lüliti. 195 00:09:11,810 --> 00:09:15,760 >> Ja nii kui ma tahtsin esindama arvu seitse siin 196 00:09:15,760 --> 00:09:18,510 Ma võiks sisse lülitada need kolm lambid. 197 00:09:18,510 --> 00:09:21,470 Ja tõepoolest, sees minu arvuti on miljoneid, 198 00:09:21,470 --> 00:09:25,650 miljardeid asju, mis on lihtsalt väiksem, mida nimetatakse transistorid, 199 00:09:25,650 --> 00:09:27,330 lülitid, et sa lihtsalt sisse ja välja lülitada. 200 00:09:27,330 --> 00:09:30,420 Nii et need on big-- suhteliselt big-- lülitid sees minu laptop-- 201 00:09:30,420 --> 00:09:32,150 On palju, palju, palju, palju lülitid. 202 00:09:32,150 --> 00:09:35,160 Aga kõik nad on täpselt selle-- keera midagi, keera midagi välja. 203 00:09:35,160 --> 00:09:38,076 Ja sellisena, arvuti võib esindada, neid miljoneid või miljardeid 204 00:09:38,076 --> 00:09:40,480 transistoride, palju ja palju ühtede ja nullide. 205 00:09:40,480 --> 00:09:43,160 Ja seal on muu riistvara ikka, et võimaldab salvestada informatsiooni pikaajaliseks 206 00:09:43,160 --> 00:09:45,243 nii et kui sa tõmba pistik, sa ei kaota. 207 00:09:45,243 --> 00:09:46,900 Aga see lugu teisele päevale. 208 00:09:46,900 --> 00:09:51,170 >> Mida me saame teha nende bitti? 209 00:09:51,170 --> 00:09:54,309 Võib me lihtsalt võtta surve välja mind-- 210 00:09:54,309 --> 00:09:56,600 võiks keegi taha tulla siin ja pakkuda kuni demo? 211 00:09:56,600 --> 00:09:57,516 Ma nägin seda käsitsi esimene. 212 00:09:57,516 --> 00:09:58,709 Mis su nimi on? 213 00:09:58,709 --> 00:09:59,250 MADAY: Maday. 214 00:09:59,250 --> 00:10:00,542 DAVID Humala: Maday, tule üles. 215 00:10:00,542 --> 00:10:01,250 Meeldiv tutvuda. 216 00:10:01,250 --> 00:10:02,390 MADAY: Meeldiv kohtuda. 217 00:10:02,390 --> 00:10:02,930 >> DAVID Humala: Tule sel viisil. 218 00:10:02,930 --> 00:10:04,182 Ma ei pea huule sind. 219 00:10:04,182 --> 00:10:04,682 Hästi. 220 00:10:04,682 --> 00:10:11,090 Nii et siin on meil, notice-- üks, two-- me muuta, et out-- üks, kaks, neli, 221 00:10:11,090 --> 00:10:13,350 kaheksa, 16, 32, 64, 128. 222 00:10:13,350 --> 00:10:14,220 See on tahtlik. 223 00:10:14,220 --> 00:10:17,370 Seal on kaheksa bitti siin-- binaarne digits-- ühtede ja nullide. 224 00:10:17,370 --> 00:10:21,460 Ja natuke on kasulik ühik measure-- ei ole nii kasulik mõõtühik 225 00:10:21,460 --> 00:10:21,999 peale ise. 226 00:10:21,999 --> 00:10:24,290 Tavaliselt soovid vähemalt Kaheksa neist asjadest teise nimega 227 00:10:24,290 --> 00:10:24,790 bait. 228 00:10:24,790 --> 00:10:26,230 Nii et meil on bait bitti siin. 229 00:10:26,230 --> 00:10:31,130 >> Nii et kui me tahtsime väljakutse teile, Näiteks tähthaaval, binaarne, 230 00:10:31,130 --> 00:10:33,230 see väärtus siin-- 42. 231 00:10:33,230 --> 00:10:35,140 Tahad võtta torkehaav tol? 232 00:10:35,140 --> 00:10:36,034 >> MADAY: [kuuldamatu]. 233 00:10:36,034 --> 00:10:38,700 DAVID Humala: Jah, just push väike valge lülitid ees. 234 00:10:38,700 --> 00:10:41,290 Ja sa tahad kirjutada välja 42 ja üles Kättesaadav 235 00:10:41,290 --> 00:10:44,061 see CS50 stress palli, kui sa selle. 236 00:10:44,061 --> 00:10:44,560 Hästi. 237 00:10:44,560 --> 00:10:46,420 Nii et teil on 32. 238 00:10:46,420 --> 00:10:48,430 Meil läheb vaja 42. 239 00:10:48,430 --> 00:10:51,410 Nii et kaheksa, nii et see on 40. 240 00:10:51,410 --> 00:10:54,160 Ja excellent-- väga ilusti tehtud. 241 00:10:54,160 --> 00:10:55,186 Aitäh. 242 00:10:55,186 --> 00:10:58,790 >> [APPLAUSE] 243 00:10:58,790 --> 00:10:59,290 Hästi. 244 00:10:59,290 --> 00:11:00,623 Nii et meil on veel üks stressi pall. 245 00:11:00,623 --> 00:11:03,595 Teeme seda veel kord, kui me võib. 246 00:11:03,595 --> 00:11:05,368 Üks teine ​​vabatahtlike? 247 00:11:05,368 --> 00:11:07,970 Vaba stressiga palli, tasuta stress palli. 248 00:11:07,970 --> 00:11:08,470 OKEI. 249 00:11:08,470 --> 00:11:11,640 Üle siin keset, Kas soovid alla tulema? 250 00:11:11,640 --> 00:11:14,100 Hästi. 251 00:11:14,100 --> 00:11:15,552 Ma tean. 252 00:11:15,552 --> 00:11:16,360 Seal me läheme. 253 00:11:16,360 --> 00:11:20,818 >> Nii numbrid siin-- tule alla. 254 00:11:20,818 --> 00:11:21,567 Mis su nimi on? 255 00:11:21,567 --> 00:11:21,984 >> Davey: Davey. 256 00:11:21,984 --> 00:11:22,820 >> DAVID Humala: Davey. 257 00:11:22,820 --> 00:11:23,320 OKEI. 258 00:11:23,320 --> 00:11:24,810 Tule üles, Davey. 259 00:11:24,810 --> 00:11:25,890 Meeldiv tutvuda. 260 00:11:25,890 --> 00:11:28,639 Ja mida me lähed on sul spell-- kui võid jõlkuma seal 261 00:11:28,639 --> 00:11:32,810 ainult ühe moment-- on number 50. 262 00:11:32,810 --> 00:11:36,293 Aga, kuid, kuid kuid, kuid need on algkool magnetid põhjusel. 263 00:11:36,293 --> 00:11:39,370 264 00:11:39,370 --> 00:11:43,327 Just sain natuke raskem, eks? 265 00:11:43,327 --> 00:11:44,160 On veel kaheksa. 266 00:11:44,160 --> 00:11:46,820 267 00:11:46,820 --> 00:11:47,320 Hästi. 268 00:11:47,320 --> 00:11:48,486 Niisiis, mida me seal? 269 00:11:48,486 --> 00:11:51,356 Meil on 32. 270 00:11:51,356 --> 00:11:54,344 Nice. 271 00:11:54,344 --> 00:11:58,610 32 pluss 16 annab meile 48-- nii lähedal. 272 00:11:58,610 --> 00:12:00,390 Ja imeline. 273 00:12:00,390 --> 00:12:02,831 Õnnitleme Davey samuti. 274 00:12:02,831 --> 00:12:05,720 >> [APPLAUSE] 275 00:12:05,720 --> 00:12:06,516 >> Hästi. 276 00:12:06,516 --> 00:12:09,390 Nii et me saame seda teha kogu päeva pikk, ja see ei saa kõik, et palju rohkem 277 00:12:09,390 --> 00:12:10,800 huvitav ja väljakutsuv. 278 00:12:10,800 --> 00:12:13,250 Aga see on tõesti point-- kuidas suhteliselt lihtne 279 00:12:13,250 --> 00:12:16,930 see on, lõpus päeval, mida arvuti ei talletada informatsiooni, 280 00:12:16,930 --> 00:12:21,740 salvestada sisendid ja lõppkokkuvõttes salvestada või kujutavad need väljundid. 281 00:12:21,740 --> 00:12:23,750 Aga numbrid üksi ei kõik, mis huvitavad. 282 00:12:23,750 --> 00:12:26,069 >> Nii inimestel, mõned aastad tagasi otsustas, tead mis? 283 00:12:26,069 --> 00:12:27,860 Oleks tore, kui arvutid ei olnud lihtsalt 284 00:12:27,860 --> 00:12:31,030 kalkulaatorid aritmeetilise operatsioone, kuid tegelikult võiks 285 00:12:31,030 --> 00:12:35,209 asju nagu tekstitöötlus, või e-posti või moodsam kehastused 286 00:12:35,209 --> 00:12:36,500 taoliste tehnoloogiaid. 287 00:12:36,500 --> 00:12:40,680 Ja nii maailma otsustanud omavoliliselt, kuid üldiselt, 288 00:12:40,680 --> 00:12:44,380 et kui sa tahad hoida kapitali tähega A arvutis, tead mis? 289 00:12:44,380 --> 00:12:47,730 Olgem lihtsalt kõik ühel meelel, et salvestada mõned muster nulle ja ones-- 290 00:12:47,730 --> 00:12:52,422 bits-- et lõppkokkuvõttes esindab koma number 65. 291 00:12:52,422 --> 00:12:53,630 Me lihtsalt kõik ühel meelel, et. 292 00:12:53,630 --> 00:12:56,620 >> 66 kujutaks B, 67 kujutaks C, 293 00:12:56,620 --> 00:13:00,210 ja seal on kobarad teisi mudeleid ühtede ja nullide või esineb numbrid, 294 00:13:00,210 --> 00:13:02,224 mis esindavad teised tähed ikka. 295 00:13:02,224 --> 00:13:04,390 Nii et kui sa mingi vaimselt ima see hetk, 296 00:13:04,390 --> 00:13:10,900 Ma teadlikult panna läbi I, kus H 72 ja I on 73. 297 00:13:10,900 --> 00:13:15,830 Kui arvuti siis, kontekstis tekstitöötluse programmi või e-mail, 298 00:13:15,830 --> 00:13:19,620 näitas all kapuuts on Nende mustrite bits-- muster 299 00:13:19,620 --> 00:13:22,500 bittide esindavad 72, siis 73, siis 33-- 300 00:13:22,500 --> 00:13:26,640 milline võiks seda kirjutada, et programm? 301 00:13:26,640 --> 00:13:28,150 >> Nii tere ja siis midagi. 302 00:13:28,150 --> 00:13:31,460 Me ei pruugi teada, kuid tõepoolest 33-- tabelis ei ole earlier-- 303 00:13:31,460 --> 00:13:33,170 oli lihtsalt hüüumärk. 304 00:13:33,170 --> 00:13:38,870 Nii 72 oli H 73 on I, 33 juhtu olema hüüumärk ikka. 305 00:13:38,870 --> 00:13:41,719 Aga see on kõik hästi ja hea, ja tegelikult tänapäeval asemel 306 00:13:41,719 --> 00:13:43,760 lihtsalt kasutada seitse või kaheksa bitti, tänu midagi 307 00:13:43,760 --> 00:13:46,530 nimetatakse Unicode erinevalt ASCII juba järgmisel päeval, 308 00:13:46,530 --> 00:13:50,010 me tegelikult ei esinda veelgi huvitav tähemärki kui lihtsalt 309 00:13:50,010 --> 00:13:52,980 Nende esialgne inglise kallutatud tähed. 310 00:13:52,980 --> 00:13:56,030 Aga me ei saa esindada ka isegi korralikum asjad värve. 311 00:13:56,030 --> 00:13:59,750 >> Kui olete kunagi kuulnud akronüüm RGB, punane, roheline, sinine, et 312 00:13:59,750 --> 00:14:03,510 tähendab lihtsalt, et arvuti kasutab tavaliselt kolmed bits-- 313 00:14:03,510 --> 00:14:06,760 mõned bittide arv, mis esindavad number, kui palju punase soovite, 314 00:14:06,760 --> 00:14:08,940 veel mõni bitti kui palju rohelist soovite, 315 00:14:08,940 --> 00:14:11,430 ja veel mõni number kui palju sinist soovite. 316 00:14:11,430 --> 00:14:14,457 Nii suur arv tähendab palju punane, väike arv, siis ei ole punane. 317 00:14:14,457 --> 00:14:16,290 Ja nii need omamoodi Keskmise väärtused siin. 318 00:14:16,290 --> 00:14:20,180 >> Nii et anna mulle mõned punased, anna mulle roheline, ja anna mulle natuke sinine. 319 00:14:20,180 --> 00:14:24,260 Ja kui sa mix need kolm tooni värvi koos, sel juhul 320 00:14:24,260 --> 00:14:26,850 sa selle Kahtlane varju kollane või pruun. 321 00:14:26,850 --> 00:14:32,330 Aga see muster kaheksa pluss kaheksa pluss eight-- nii 24 bits-- 322 00:14:32,330 --> 00:14:36,550 vasakult paremale, on kuidas arvuti tähendaks selle värvi. 323 00:14:36,550 --> 00:14:38,090 Nüüd see on lihtsalt dot ekraanil. 324 00:14:38,090 --> 00:14:42,230 Kui sa vaatad tõesti lähedal oma TV oma arvuti, näete punkti või pikslit. 325 00:14:42,230 --> 00:14:45,420 Ja kui sul on terve võre pikslit, horisontaalselt ja vertikaalselt, 326 00:14:45,420 --> 00:14:46,630 sul on pilte. 327 00:14:46,630 --> 00:14:49,029 Ja siis, kui te võtate pilt ja seejärel pesta 328 00:14:49,029 --> 00:14:52,070 näita ennast teise pildi, teise pilt, teise pildi, teise pildi, 329 00:14:52,070 --> 00:14:54,760 tõesti kiire, siis muidugi on filme. 330 00:14:54,760 --> 00:14:56,109 >> Ja nii märkate, kust me alustasime. 331 00:14:56,109 --> 00:14:57,650 Alustasime nende ühtede ja nullide. 332 00:14:57,650 --> 00:15:00,570 Me töötasime sealt kümnendarvuks numbrid, kuidas me neid esindama. 333 00:15:00,570 --> 00:15:02,070 Nüüd on meil tähestiku tähti. 334 00:15:02,070 --> 00:15:05,664 Kuid teistes kontekstides oodata, saame kasutada veel mõned bitid ja esindavad värvid. 335 00:15:05,664 --> 00:15:07,830 Niipea, kui teil on võimet esindada värvid, 336 00:15:07,830 --> 00:15:11,200 teil on võime esindada fotode ja animeeritud gifid 337 00:15:11,200 --> 00:15:13,780 ja muud sellised tegelased ekraanil. 338 00:15:13,780 --> 00:15:17,160 Ja kui sul on terve hulk pildid sõidab inimese korraga 339 00:15:17,160 --> 00:15:21,480 tundub, filmides, ja nii saad videod samuti. 340 00:15:21,480 --> 00:15:23,460 >> Nii kasutades neid väga Lihtne primitiivid me 341 00:15:23,460 --> 00:15:28,070 on viis esindavad lõppkokkuvõttes kõik need meediavormid. 342 00:15:28,070 --> 00:15:30,450 Ja me oleme ammutatud jälle ja uuesti ja uuesti, kuni me 343 00:15:30,450 --> 00:15:33,467 saada madalaimale tasemele Selle kõige kõrgemal tasemel. 344 00:15:33,467 --> 00:15:35,550 Nii et see annab meile selle üldine idee võtmiseks. 345 00:15:35,550 --> 00:15:36,990 Aga me alustasime siin. 346 00:15:36,990 --> 00:15:38,790 >> Siin nüüd võiksime esindavad arvutis 347 00:15:38,790 --> 00:15:41,920 Meie sisendid ühtede ja nullide, Meie väljundid ühtede ja nullide, 348 00:15:41,920 --> 00:15:43,640 aga mis läheb karbi sees? 349 00:15:43,640 --> 00:15:46,080 See, kui arvuti teaduse läheb huvitavamaks. 350 00:15:46,080 --> 00:15:49,770 See, kui sa tegelikult tuua oma enda mõtetes kandma probleeme lahendada. 351 00:15:49,770 --> 00:15:52,590 Nüüd on võimalik ette näha, et Ülejäänud semestri, jah. 352 00:15:52,590 --> 00:15:53,870 Ma tean, kuidas binaarne teoseid. 353 00:15:53,870 --> 00:15:57,942 Mäletan, kuidas ASCII või Unicode-- kaardistamist, et letters-- teoseid. 354 00:15:57,942 --> 00:15:59,650 Ja see on loomulik et põhjus, et me 355 00:15:59,650 --> 00:16:03,470 võiks olla punane ja roheline ja sinine ja esindavad multimeedia samuti. 356 00:16:03,470 --> 00:16:05,390 Aga see on huvitav kraam. 357 00:16:05,390 --> 00:16:09,790 See teebki keegi suudab lahendada probleeme. 358 00:16:09,790 --> 00:16:11,980 >> Ja üks selline probleem me tahame teha, tõepoolest, 359 00:16:11,980 --> 00:16:15,345 võtab käimist, või Seejuures algoritmidega. 360 00:16:15,345 --> 00:16:16,470 Ja jälle, ma võin seda teha. 361 00:16:16,470 --> 00:16:19,580 I võiks teha ühe, kahe, kolme, nelja viie, kuue, seitsme, kaheksa üheksa. 362 00:16:19,580 --> 00:16:21,520 Ja ma võiks kirjutada maha jälgida seda. 363 00:16:21,520 --> 00:16:23,769 Aga see on just see, kuidas ma esindavad teavet. 364 00:16:23,769 --> 00:16:27,550 Või ma võiks seda teha faster-- kaks, neli, kuue, kaheksa, kümme, 12, 14, 16, 18, 20, 365 00:16:27,550 --> 00:16:30,380 22-- tunne kaks korda nii kiiresti, kuid see on ikka 366 00:16:30,380 --> 00:16:32,050 aega võtab palju aega. 367 00:16:32,050 --> 00:16:35,990 >> Aga selgub, kui me ära veel teise resource-- ja tõepoolest arvutid 368 00:16:35,990 --> 00:16:38,940 nendel päevadel on mitme protsessoriga või aju. 369 00:16:38,940 --> 00:16:41,970 Selgub arvutid teha palju asju korraga, 370 00:16:41,970 --> 00:16:44,460 ja tõepoolest oleme, selles ruumis, võib esindada just seda. 371 00:16:44,460 --> 00:16:47,130 >> Nii et see on natuke sotsiaalselt ebamugav, aga kui sa oleks huumor mulle 372 00:16:47,130 --> 00:16:51,550 jaoks vaid kolme etappi, las mul küsida igaüks seal lihtsalt 373 00:16:51,550 --> 00:16:54,640 seisma hetkeks. 374 00:16:54,640 --> 00:16:57,380 Seisa. 375 00:16:57,380 --> 00:17:01,580 Nii et mõtle ise, number one-- nii et igaüks siin ruumis 376 00:17:01,580 --> 00:17:05,010 va inimesed, kes ei ole oblige, mõtled number üks. 377 00:17:05,010 --> 00:17:06,510 Nii et on oma number kohe. 378 00:17:06,510 --> 00:17:09,399 See on esimene samm, või kui arvuti teadlane või programmeerija 379 00:17:09,399 --> 00:17:11,827 oleks tavaliselt teha, me ei kavatse alustada nullist. 380 00:17:11,827 --> 00:17:14,410 Kui väiksema arvu saame esindavad nende lambid 381 00:17:14,410 --> 00:17:17,410 on null, lihtsalt jättes neile kõik maha, ma võin ka lihtsalt 382 00:17:17,410 --> 00:17:19,271 hakka lugema alates null on ühe asemel. 383 00:17:19,271 --> 00:17:21,020 Ja nii see ongi arvuti teadlased teevad. 384 00:17:21,020 --> 00:17:23,750 Nii samm nulli, püsti ja mõtle number üks. 385 00:17:23,750 --> 00:17:26,339 Järgmine samm on see-- paari off kellegi alalise 386 00:17:26,339 --> 00:17:27,660 lisada oma numbrid kokku. 387 00:17:27,660 --> 00:17:30,660 388 00:17:30,660 --> 00:17:32,850 Wonderful. 389 00:17:32,850 --> 00:17:37,640 >> Nii on käesoleval hetkel, sõna otseses mõttes igaüks osalevad 390 00:17:37,640 --> 00:17:41,930 mõtleb number 2, välja arvatud üks kummaline inimene, kui meil on 391 00:17:41,930 --> 00:17:43,450 paaritu arv inimesi ruumis. 392 00:17:43,450 --> 00:17:50,640 Ja nüüd kolmas samm siin läheb see-- üks sa peaksid istuma. 393 00:17:50,640 --> 00:17:54,490 Üks siis tuleb maha istuda, ja kui sa veel püsti, 394 00:17:54,490 --> 00:17:56,590 minna tagasi astuma üks. 395 00:17:56,590 --> 00:18:44,799 396 00:18:44,799 --> 00:18:45,790 Hästi. 397 00:18:45,790 --> 00:19:00,760 398 00:19:00,760 --> 00:19:01,650 Hästi. 399 00:19:01,650 --> 00:19:03,880 Nii üha rohkem inimesi tuleks istudes. 400 00:19:03,880 --> 00:19:08,280 Pange tähele, et see on põhjustatud loop-- mingi tsükli. 401 00:19:08,280 --> 00:19:11,983 Mõned siis peaks olema kohmakalt kinni, läheb edasi ja tagasi vahel esimene etapp 402 00:19:11,983 --> 00:19:14,180 ja kaks, üks ja kaks, üks ja kaks. 403 00:19:14,180 --> 00:19:21,190 404 00:19:21,190 --> 00:19:21,810 See on OK. 405 00:19:21,810 --> 00:19:22,630 Meie esimene viga. 406 00:19:22,630 --> 00:19:24,740 Me tegeleme sellega. 407 00:19:24,740 --> 00:19:25,320 Hästi. 408 00:19:25,320 --> 00:19:27,370 Las ma proovin kannus asju koos. 409 00:19:27,370 --> 00:19:31,454 >> Teoreetiliselt ainult üks inimene seisab kui kõik jätkub paarideks. 410 00:19:31,454 --> 00:19:33,870 Aga las ma asju kiirendada rahvaga veel püsti. 411 00:19:33,870 --> 00:19:35,480 Mis number on sa mõtled? 412 00:19:35,480 --> 00:19:36,070 46. 413 00:19:36,070 --> 00:19:36,570 OKEI. 414 00:19:36,570 --> 00:19:37,820 Lase käia ja istuda. 415 00:19:37,820 --> 00:19:39,190 Te ei veel püsti. 416 00:19:39,190 --> 00:19:42,130 Kes veel püsti? 417 00:19:42,130 --> 00:19:45,240 Mis number on sa mõtled? 418 00:19:45,240 --> 00:19:46,160 OKEI. 419 00:19:46,160 --> 00:19:47,900 >> Nii et me tuleme teile. 420 00:19:47,900 --> 00:19:49,630 Taga? 421 00:19:49,630 --> 00:19:50,790 Mis see on? 422 00:19:50,790 --> 00:19:53,100 22. 423 00:19:53,100 --> 00:19:56,540 OK kellegi kuni top-- jah? 424 00:19:56,540 --> 00:19:57,720 34. 425 00:19:57,720 --> 00:19:58,300 OKEI. 426 00:19:58,300 --> 00:20:02,780 Üle siin minu right-- siin? 427 00:20:02,780 --> 00:20:06,820 132, väga kena. 428 00:20:06,820 --> 00:20:08,380 22? 429 00:20:08,380 --> 00:20:08,990 >> OKEI. 430 00:20:08,990 --> 00:20:10,031 Ja kes veel püsti? 431 00:20:10,031 --> 00:20:11,000 Siin? 432 00:20:11,000 --> 00:20:14,520 46, väga kena. 433 00:20:14,520 --> 00:20:16,890 72. 434 00:20:16,890 --> 00:20:18,220 Ma ei saa varisemine palju kauem. 435 00:20:18,220 --> 00:20:20,520 Jah? 436 00:20:20,520 --> 00:20:22,490 30, kena. 437 00:20:22,490 --> 00:20:24,120 Siin? 438 00:20:24,120 --> 00:20:26,200 23? 439 00:20:26,200 --> 00:20:27,270 23. 440 00:20:27,270 --> 00:20:30,920 >> Ja ma arvan, et igaüks va kutid, ei rõhu. 441 00:20:30,920 --> 00:20:32,860 Oh, oota. 442 00:20:32,860 --> 00:20:33,360 28? 443 00:20:33,360 --> 00:20:37,500 444 00:20:37,500 --> 00:20:38,281 Just kaheksa. 445 00:20:38,281 --> 00:20:38,780 OKEI. 446 00:20:38,780 --> 00:20:41,030 Just kaheksa. 447 00:20:41,030 --> 00:20:42,580 Siin all? 448 00:20:42,580 --> 00:20:44,570 30. 449 00:20:44,570 --> 00:20:47,344 23. 450 00:20:47,344 --> 00:20:47,843 24. 451 00:20:47,843 --> 00:20:50,810 452 00:20:50,810 --> 00:20:52,310 18. 453 00:20:52,310 --> 00:20:54,690 See on kõige halvem rakendamine Selle algoritmi kunagi. 454 00:20:54,690 --> 00:20:55,190 OKEI. 455 00:20:55,190 --> 00:20:59,760 Nii kui keegi teine? 456 00:20:59,760 --> 00:21:00,421 Keegi teine? 457 00:21:00,421 --> 00:21:00,920 OKEI. 458 00:21:00,920 --> 00:21:03,300 Üks veel. 459 00:21:03,300 --> 00:21:04,400 16? 460 00:21:04,400 --> 00:21:04,900 OKEI. 461 00:21:04,900 --> 00:21:05,510 16. 462 00:21:05,510 --> 00:21:06,010 Hästi. 463 00:21:06,010 --> 00:21:09,070 Nii et kui ma ei ole jäänud keegi pimestavad siin, kui ma Enter, 464 00:21:09,070 --> 00:21:13,091 näeme, algoritmidega on inimeste koguarv Sanders. 465 00:21:13,091 --> 00:21:16,340 Sest jälle, see on justkui igaühele kui istus, läbis oma number välja 466 00:21:16,340 --> 00:21:19,215 keegi teine, keegi teine, kellelegi teisele, nii et teoreetiliselt 467 00:21:19,215 --> 00:21:22,304 lõpuks, ainult üks ebamugav inimene tuleb jätta seisma. 468 00:21:22,304 --> 00:21:22,970 Aga see on hea. 469 00:21:22,970 --> 00:21:24,290 Me kiirustas asju käsitsi. 470 00:21:24,290 --> 00:21:27,590 See on eriti raske mõista selles ruumis. 471 00:21:27,590 --> 00:21:34,200 >> Ja inimeste koguarv me arvame, et siin on 546. 472 00:21:34,200 --> 00:21:37,330 Kokku olin kätega poolt õpetamise stipendiaatide 473 00:21:37,330 --> 00:21:40,660 kes seda tegi vana kooli aeglane viis, oli 820. 474 00:21:40,660 --> 00:21:43,660 >> [Naerab] 475 00:21:43,660 --> 00:21:47,170 >> [APPLAUSE] 476 00:21:47,170 --> 00:21:48,670 >> See on OK. 477 00:21:48,670 --> 00:21:50,740 Nii kindlasti siis on need vead. 478 00:21:50,740 --> 00:21:51,460 Ja see on hea. 479 00:21:51,460 --> 00:21:53,810 Ja nii mõelda tagasi selle Esmakordselt midagi 480 00:21:53,810 --> 00:21:55,420 Sa kirjutad, ei pruugi töötada. 481 00:21:55,420 --> 00:21:57,620 See juhtus minuga ka siin. 482 00:21:57,620 --> 00:22:00,844 Kuid olgem nüüd mõtlema, kuidas me võiksime kohaldatakse sama mõte midagi 483 00:22:00,844 --> 00:22:03,760 Te olete näinud enne, mis on see vana kooli tehnoloogia siin-- 484 00:22:03,760 --> 00:22:05,130 tõesti suur telefoniraamat. 485 00:22:05,130 --> 00:22:09,380 Ja oletame, et see telefoniraamat on 1000 lehekülge ja 1000 nimed 486 00:22:09,380 --> 00:22:11,360 ja numbrid tähestiku sees on. 487 00:22:11,360 --> 00:22:14,860 >> Noh, me võiks mingi kohaldada samasugust mõte seda väga füüsiline probleem, 488 00:22:14,860 --> 00:22:16,270 lihtsalt kasutades mind. 489 00:22:16,270 --> 00:22:18,810 Ma lihtsalt selline petnud võimendades teile kõigile 490 00:22:18,810 --> 00:22:23,240 palju ja palju erinevaid protsessoriga või aju täidesaatva mõned algoritm. 491 00:22:23,240 --> 00:22:25,440 Aga kui see on lihtsalt vähe vana mulle, ma ei saa ikka 492 00:22:25,440 --> 00:22:29,630 võimendada, et sama sisuliselt idee jagamise ja vallutavad selle probleemi 493 00:22:29,630 --> 00:22:32,970 ikka ja jälle, mille poole sa, poole sa, pool teile, pool teile, 494 00:22:32,970 --> 00:22:35,830 teoreetiliselt hoida istudes, kuni me jäid teoreetiliselt 495 00:22:35,830 --> 00:22:36,990 vaid üks inimene. 496 00:22:36,990 --> 00:22:39,810 >> Nii see vana kooli tehnoloogia-- me ei 497 00:22:39,810 --> 00:22:43,030 vaja seda map-- seda vana kooli tehnoloogia 498 00:22:43,030 --> 00:22:47,300 me võiks hakata otsima keegi meeldib Mike Smith, üks lehekülg korraga. 499 00:22:47,300 --> 00:22:49,410 Ja ma näen, et ei ole, Mike ei ole siin. 500 00:22:49,410 --> 00:22:51,110 Ma olen ikka sektsioon. 501 00:22:51,110 --> 00:22:53,900 Lõpuks leian mina B jagu. 502 00:22:53,900 --> 00:22:56,910 Ja see on algorithm-- samm-sammult juhiseid. 503 00:22:56,910 --> 00:22:59,890 Alusta alguses ja ühel lehel korraga, otsida Mike Smith. 504 00:22:59,890 --> 00:23:03,410 See correct-- seda algoritmi või lähenemine? 505 00:23:03,410 --> 00:23:04,550 >> Jah, see on õige. 506 00:23:04,550 --> 00:23:06,840 Kui Mike on siin lõpuks Ma saan temaga. 507 00:23:06,840 --> 00:23:08,139 Aga see ei ole tõhus. 508 00:23:08,139 --> 00:23:09,180 See on muidugi väga aeglane. 509 00:23:09,180 --> 00:23:11,340 Nii et ma ei võimendada Sama twosies läheneda. 510 00:23:11,340 --> 00:23:15,350 Ma võin teha mingi kaks, nelja, kuue, kaheksa, 10, 12. 511 00:23:15,350 --> 00:23:16,330 See on kaks korda kiirem. 512 00:23:16,330 --> 00:23:18,290 Ma lähen, et Mike kiiremini, kui ta on olemas. 513 00:23:18,290 --> 00:23:20,770 On see õige? 514 00:23:20,770 --> 00:23:22,320 Jah, aga ma kuulsin little-- ole. 515 00:23:22,320 --> 00:23:24,200 Nüüd kuulsin mingit. 516 00:23:24,200 --> 00:23:24,700 Jah. 517 00:23:24,700 --> 00:23:26,190 Seal on viga potentsiaalselt. 518 00:23:26,190 --> 00:23:29,374 Võib-olla Mike lihtsalt satub kogemata vahele kaks lehekülge, 519 00:23:29,374 --> 00:23:31,290 sest ma lendan läbi Selle kaks korraga. 520 00:23:31,290 --> 00:23:33,580 Nii vähemalt me ​​vajame Selline tingimisi fix. 521 00:23:33,580 --> 00:23:35,330 Mul on vaja öelda, hei, kui ma tabanud keegi, kelle 522 00:23:35,330 --> 00:23:39,190 nimi algab T asemel S, Ma parem topelt tagasi vähemalt ühel lehel. 523 00:23:39,190 --> 00:23:40,767 Nii lollakas alguses, kuid parandatav. 524 00:23:40,767 --> 00:23:43,850 Kuid keegi meist lähevad otsima Mike Smith läbi 1000 lehekülge telefon 525 00:23:43,850 --> 00:23:45,290 broneerida ühe lehekülje korraga. 526 00:23:45,290 --> 00:23:48,486 Mis on normaalne inimene tegema hakkad? 527 00:23:48,486 --> 00:23:50,860 Sa lähed minema Si, kui teaksid, kus S on. 528 00:23:50,860 --> 00:23:54,230 Sa võid minna umbes keskel või veidi viltu lõpus. 529 00:23:54,230 --> 00:23:56,850 Ja ma vaatan siin ja Olen M jagu. 530 00:23:56,850 --> 00:23:58,952 Aga mida sa tead selle probleemi nüüd, 531 00:23:58,952 --> 00:24:02,160 et me ei pruugi teada enne meile kõigile lihtsalt lugedes end 532 00:24:02,160 --> 00:24:03,030 samaväärselt? 533 00:24:03,030 --> 00:24:06,010 Noh, Mike ilmselgelt läheb olla selles poolel raamat 534 00:24:06,010 --> 00:24:07,920 kui ta on siin üldse, sest see on järjestatud. 535 00:24:07,920 --> 00:24:10,160 >> Ja nii saab väga dramatically-- 536 00:24:10,160 --> 00:24:11,250 >> [Himustama] 537 00:24:11,250 --> 00:24:12,300 >> Ma tean. 538 00:24:12,300 --> 00:24:16,940 >> [APPLAUSE] 539 00:24:16,940 --> 00:24:19,450 >> See on tegelikult väga lihtne, kui sa seda mööda selgroogu olemas. 540 00:24:19,450 --> 00:24:22,070 Aga sa võid visata poolel probleemi kaugusel. 541 00:24:22,070 --> 00:24:25,950 Nüüd ma jäänud sama problem-- leida Mike Smith telefoni book-- 542 00:24:25,950 --> 00:24:29,610 aga nüüd telefoniraamatus algab M ja läheb Z, kuid see on kaks korda väiksem. 543 00:24:29,610 --> 00:24:30,890 >> Aga see on see, mis on muljetavaldav. 544 00:24:30,890 --> 00:24:34,170 Just nagu teoreetiliselt kutid, kui te kõik istusid vaid pool korraga, 545 00:24:34,170 --> 00:24:37,150 probleem sai pool nii suur, poole nii suur, ikka ja jälle. 546 00:24:37,150 --> 00:24:40,260 Nii on see probleem muutunud Sama probleem, vaid kaks korda väiksem. 547 00:24:40,260 --> 00:24:42,670 Nüüd on 250 lehekülge probleem. 548 00:24:42,670 --> 00:24:45,340 Niipea, kui ma mõistan, oh, ma olen T paragrahvi kogemata. 549 00:24:45,340 --> 00:24:46,590 Olen läinud liiga kaugele. 550 00:24:46,590 --> 00:24:48,500 Ma ei viska, et pool telefoniraamatust kaugusel. 551 00:24:48,500 --> 00:24:50,410 Nüüd ma, et seda on kvartalis probleem. 552 00:24:50,410 --> 00:24:53,910 >> Ja võid korrata, korrata, korrata, kuni teoreetiliselt oled 553 00:24:53,910 --> 00:24:55,460 jäänud vaid üks lehekülg. 554 00:24:55,460 --> 00:24:59,010 Ja kui Mike on sellel lehel, Nüüd saan seda probleemi lahendada. 555 00:24:59,010 --> 00:25:00,810 Aga kui kiiresti ma seda lahendada? 556 00:25:00,810 --> 00:25:05,420 Esimesel juhul, ta võttis mind nagu võibolla 1000 sammud leida Mike Smith. 557 00:25:05,420 --> 00:25:09,260 See võis võtta mind-- Võtsin telefoniraamat 558 00:25:09,260 --> 00:25:11,440 ja hakkasin otsima ühe lehekülje korraga 559 00:25:11,440 --> 00:25:13,480 ja Mike võib olla 1000 lehekülge hiljem. 560 00:25:13,480 --> 00:25:16,020 >> Teine lähenemine võibolla võtab mul 500 sammu, 561 00:25:16,020 --> 00:25:17,960 sest ma lendan läbi kahe korraga. 562 00:25:17,960 --> 00:25:21,082 Ja kolmas lähenemine küll, see on eriti võimas. 563 00:25:21,082 --> 00:25:23,790 Kuid olgem kaaluma, mida me tegelikult tegi seda kolmandat lähenemist. 564 00:25:23,790 --> 00:25:27,590 Võtan mida ma helistan lihtsalt neid avaldused siin, ühekaupa. 565 00:25:27,590 --> 00:25:28,560 Korja telefoniraamat. 566 00:25:28,560 --> 00:25:30,130 Avatud keset telefoniraamat. 567 00:25:30,130 --> 00:25:31,419 Vaata nimed. 568 00:25:31,419 --> 00:25:33,960 Ja siis asjad natuke rohkem intellektuaalselt huvitav, 569 00:25:33,960 --> 00:25:35,170 kui ikka lihtne. 570 00:25:35,170 --> 00:25:38,350 Kui Smith on üks nimed, et praegune lehel 571 00:25:38,350 --> 00:25:40,170 siis midagi tinglikult. 572 00:25:40,170 --> 00:25:41,840 See on nagu teelahkmele. 573 00:25:41,840 --> 00:25:42,660 Helista Mike. 574 00:25:42,660 --> 00:25:44,930 Kui Mike on üks nimesid selle lehe nimega Mike. 575 00:25:44,930 --> 00:25:49,720 Aga ainult teha rida neli, kui liin puu, kui soovite, on tõsi. 576 00:25:49,720 --> 00:25:51,590 Vastus sellele küsimusele on jah. 577 00:25:51,590 --> 00:25:55,520 >> Või kui Smith on varem book-- Teisisõnu, kui ma olen M sektsioon 578 00:25:55,520 --> 00:25:58,540 ja ma otsin kedagi, kes Vasakul siis mida ma peaks tegema 579 00:25:58,540 --> 00:26:00,300 on midagi väga sarnast. 580 00:26:00,300 --> 00:26:03,440 Siis ma peaks avama keskele vasaku poole raamatust. 581 00:26:03,440 --> 00:26:07,930 Nii et mine vasakule ja seejärel naasta sammu kaks. 582 00:26:07,930 --> 00:26:09,290 Vaata nimed seal. 583 00:26:09,290 --> 00:26:12,779 >> Nii teisisõnu, teha sama asja, kuid probleem, mis on poole võrra vähenenud. 584 00:26:12,779 --> 00:26:13,570 Sa tead, mida veel? 585 00:26:13,570 --> 00:26:16,470 Kui Smith on hiljem raamatus põhineb lehel Otsin, 586 00:26:16,470 --> 00:26:18,790 avatud keskel paremal poolel raamat 587 00:26:18,790 --> 00:26:22,050 ja siis jälle tagasi astuda kaks, else-- 588 00:26:22,050 --> 00:26:24,000 seal on neljas võimalus siin. 589 00:26:24,000 --> 00:26:28,830 Mike'i kas siin või vasakule või paremale või mitte. 590 00:26:28,830 --> 00:26:30,570 Ja siin me parem kaaluda seda. 591 00:26:30,570 --> 00:26:33,360 Ja tegelikult, kui olete kunagi olnud arvuti lihtsalt lennuõnnetuse sa, 592 00:26:33,360 --> 00:26:36,822 mis on mõnikord, kuid mitte alati, tõttu vaid inimese programmeerija ei 593 00:26:36,822 --> 00:26:39,280 realiseerimisel, oh tulistada, seal tegelikult selle neljanda stsenaariumi. 594 00:26:39,280 --> 00:26:41,650 Ja kui sa ei kirjuta koodi hakkama, et stsenaarium, 595 00:26:41,650 --> 00:26:43,220 mõnikord sa ei tea mida arvuti võib teha. 596 00:26:43,220 --> 00:26:44,770 Ja tõepoolest programm võib põrgata. 597 00:26:44,770 --> 00:26:47,550 >> Aga sel juhul, ma arvasin sellest, ja ma ütlesin, muidu lõpetan, 598 00:26:47,550 --> 00:26:49,850 sest see on neljas loogiline võimalik stsenaarium. 599 00:26:49,850 --> 00:26:51,950 Nüüd saab lihtsalt lisada mõned sõnavara nii et me 600 00:26:51,950 --> 00:26:55,320 saab alustada Toss umbes poolest, et muidu päris arusaadavad. 601 00:26:55,320 --> 00:26:57,870 Kõik asjad, mida ma olen lihtsalt lajoonitud siin 602 00:26:57,870 --> 00:27:00,140 Ma lihtsalt lähen funktsioonid ja protseduurid. 603 00:27:00,140 --> 00:27:01,590 Nad on lihtsalt mingi tegevuse. 604 00:27:01,590 --> 00:27:04,900 Nii elavneb, avatud, otsige kell, helista, avatud, avatud, 605 00:27:04,900 --> 00:27:09,170 quit-- need on vaid tegevused, või jagame helista neile rohkem formaalselt funktsioone. 606 00:27:09,170 --> 00:27:11,410 >> Vahepeal nüüd kollane, Olen rõhutanud asju 607 00:27:11,410 --> 00:27:14,084 selle-- olgem lihtsalt alustada kutsudes neid tingimusi või oksad. 608 00:27:14,084 --> 00:27:16,750 Need on kohad, kus võite minna seda teed, seda teed, 609 00:27:16,750 --> 00:27:18,100 või mõne muu suuna ikka. 610 00:27:18,100 --> 00:27:19,430 Nii et need on tingimused. 611 00:27:19,430 --> 00:27:20,930 Ja nüüd see üks on natuke uhkemat. 612 00:27:20,930 --> 00:27:24,600 Kutsume neid küsimusi Loogiline väljendeid, 613 00:27:24,600 --> 00:27:26,530 pärast keegi, kelle perekonnanimi Bool. 614 00:27:26,530 --> 00:27:28,340 >> Ja Boole'i ​​väljendus on lihtsalt midagi 615 00:27:28,340 --> 00:27:30,290 see on kas õige või vale, jah või ei. 616 00:27:30,290 --> 00:27:35,870 Nii et see on küsimus, mille vastust sa hoolivad, et sellises seisukorras 617 00:27:35,870 --> 00:27:39,210 teha decision-- tagasi saada vastust, ja siis minna vasakule või paremale, või midagi 618 00:27:39,210 --> 00:27:40,450 muidu üldse. 619 00:27:40,450 --> 00:27:42,860 >> Ja siis lõpuks, need read siin-- tagasi minna 620 00:27:42,860 --> 00:27:44,737 astuda kaks, mine tagasi samm two-- võiksime 621 00:27:44,737 --> 00:27:46,320 selle idee elluviimiseks erinevalt. 622 00:27:46,320 --> 00:27:49,028 Ja siis need teile programmeerimise kogemus oleks võinud teha 623 00:27:49,028 --> 00:27:50,670 või kujutan ette, tehes seda erinevalt. 624 00:27:50,670 --> 00:27:53,170 Aga tänapäeva eesmärkidel, on lihtsalt mõte, mis loeb. 625 00:27:53,170 --> 00:27:55,400 See kutsub esile mida me tavaliselt nimetame 626 00:27:55,400 --> 00:28:00,110 loop-- mingi tsükli, sest see teeb mulle midagi uuesti. 627 00:28:00,110 --> 00:28:03,340 >> Nüüd, olgem lihtsalt kaaluda kui hea see algoritm on. 628 00:28:03,340 --> 00:28:03,899 See on õige. 629 00:28:03,899 --> 00:28:06,940 Kui Mike'i raamat, see on üks Nende nelja scenarios-- ikka ja jälle 630 00:28:06,940 --> 00:28:08,023 ja jälle leiame teda. 631 00:28:08,023 --> 00:28:08,890 Aga kui hea see on? 632 00:28:08,890 --> 00:28:10,150 Noh, meil ei ole liiga formaalne siin. 633 00:28:10,150 --> 00:28:12,066 Kuid olgem lihtsalt joonistada midagi, x ja y, et saada 634 00:28:12,066 --> 00:28:14,470 tunde kuju see probleem. 635 00:28:14,470 --> 00:28:17,160 >> X-telg on siin suurus minu probleem. 636 00:28:17,160 --> 00:28:20,256 Ja nad y-telg siin saab ajal lahendada. 637 00:28:20,256 --> 00:28:21,630 Ehk on see lehekülgede arv. 638 00:28:21,630 --> 00:28:24,400 Võib-olla on see sekundit lk turns-- iganes. 639 00:28:24,400 --> 00:28:27,290 Kuid soovite loota on mida see pilt esindab. 640 00:28:27,290 --> 00:28:30,630 Ja see esimene algoritm, ma lähen kirjeldada kui lihtsalt sirge. 641 00:28:30,630 --> 00:28:33,120 Kui seal on n lehekülge telefoniraamatus, siis 642 00:28:33,120 --> 00:28:36,010 võib mind nii palju kui n samme leida Mike. 643 00:28:36,010 --> 00:28:38,930 Kui Verizon või telefoni firma lisab veel ühe lehe järgmisel aastal 644 00:28:38,930 --> 00:28:42,170 see võib võtta mulle veel üks step-- ühe ühiku aega leida Mike. 645 00:28:42,170 --> 00:28:44,230 Nii et just sel 00:59 suhtega. 646 00:28:44,230 --> 00:28:45,970 See on sirge kalle. 647 00:28:45,970 --> 00:28:49,110 >> Vahepeal, et teine algorithm-- kui ma 648 00:28:49,110 --> 00:28:51,570 läheb kahekaupa AEG_ kaks, neli, kuus, kaheksa või double-- 649 00:28:51,570 --> 00:28:54,550 läbimas lehekülge korda korraga kaks korraga 650 00:28:54,550 --> 00:28:55,710 see on ikka sirge. 651 00:28:55,710 --> 00:28:58,720 Seal on nüüd 1-2 suhe, kuid napilt. 652 00:28:58,720 --> 00:29:02,240 Nii et kui seal on see palju lehti diagrammi siin kollane, 653 00:29:02,240 --> 00:29:04,800 mis võiks mind see palju samme või sekundi 654 00:29:04,800 --> 00:29:07,980 vastasel juhul läheb mind kaks korda nii palju punast joont. 655 00:29:07,980 --> 00:29:10,190 >> Aga roheline joon on tõeline Buffee. 656 00:29:10,190 --> 00:29:12,290 See on see, mida me üldiselt helistada logorithm-- log 657 00:29:12,290 --> 00:29:13,840 n, kus n on lehekülgede arvu. 658 00:29:13,840 --> 00:29:16,450 Aga see on kuju, mis loeb täna, sest meil ei ole 659 00:29:16,450 --> 00:29:17,950 isegi mõelda kandes punkti. 660 00:29:17,950 --> 00:29:19,830 >> Mõtle äärmuslik stsenaarium. 661 00:29:19,830 --> 00:29:23,070 Oletame, Verizon homme kahekordistab lehekülgede arv, et telefoniraamat, 662 00:29:23,070 --> 00:29:24,900 1000 kuni 2000. 663 00:29:24,900 --> 00:29:28,440 Esimesel algoritm, ma võib raisata ekstra 1000 664 00:29:28,440 --> 00:29:32,080 samme otsivad Mike, lihtsalt sellepärast, Verizon kahekordistunud suurus raamat. 665 00:29:32,080 --> 00:29:34,740 Teine algorithm-- see võib võta mind ekstra 500 sammu. 666 00:29:34,740 --> 00:29:38,370 1000 rohkem lehekülgi, ma lähen kohe kahe AEG_ 500 rohkem samme, et leida Mike. 667 00:29:38,370 --> 00:29:41,020 >> Aga see kolmas algoritm on omamoodi maagiline. 668 00:29:41,020 --> 00:29:44,270 Verizon kahekordistab number lehekülgede alates 1000 kuni 2000, 669 00:29:44,270 --> 00:29:47,730 aga kui palju samme teeb see mind otsima Mike? 670 00:29:47,730 --> 00:29:51,220 See on vaid üks, sest ma lihtsalt pisar telefoniraamatust veel üks kord 671 00:29:51,220 --> 00:29:55,280 alates 2000 lk probleem kuni 1000 lk probleem, ja voila. 672 00:29:55,280 --> 00:29:57,030 Olen võtnud tohutu hammustada välja. 673 00:29:57,030 --> 00:29:59,405 >> Ja kui sa lähed tõesti äärmuslik, Oletame, et telefoniraamatus 674 00:29:59,405 --> 00:30:03,600 Ettevõte oli midagi hull nagu 4 miljardi dollarini telefoniraamat. 675 00:30:03,600 --> 00:30:07,020 Noh, kui palju samme võib see võtta leida Mike Smith on 4 miljardit 676 00:30:07,020 --> 00:30:09,990 lk telefoniraamat? 677 00:30:09,990 --> 00:30:16,450 See on suur number, kuid vaid 4 miljardi 2000000000-1000000000 to 500 miljoni 678 00:30:16,450 --> 00:30:18,720 250 million-- veel kõlab nagu suur number, 679 00:30:18,720 --> 00:30:20,980 aga ma olen väga kiiresti saada väiksemaid väärtusi. 680 00:30:20,980 --> 00:30:24,790 >> Ja tegelikult, kui ma ei matemaatikat õige, ma ei saa jaguneda ainult 4 miljardit 681 00:30:24,790 --> 00:30:28,750 poolt umbes 32 korda, enne kui Ma saan alla vaid üks. 682 00:30:28,750 --> 00:30:31,640 Nii et kui see telefoniraamat olid 4 miljardit lehekülge pikk, ei ole suur asi. 683 00:30:31,640 --> 00:30:35,270 Mõne sekundi, võibolla 32 sekundit, võin jagada see pooleks 684 00:30:35,270 --> 00:30:39,560 ja lõpuks leida Mike või järeldada, et ta ei ole seal. 685 00:30:39,560 --> 00:30:42,219 Ja see põhiolemus algorithm-- hea algoritm. 686 00:30:42,219 --> 00:30:44,260 Ja see on üks eesmärkide klassi niimoodi, 687 00:30:44,260 --> 00:30:47,350 püüab välja selgitada, kuidas ma probleemi lahendada mitte ainult korrektselt, 688 00:30:47,350 --> 00:30:52,360 nagu ma alati teadnud, kuidas seda teha ühe lehekülje kaupa AEG_ aga õigesti ja hästi. 689 00:30:52,360 --> 00:30:55,034 Kuidas kujundada hea lahendusi probleemidele? 690 00:30:55,034 --> 00:30:57,200 Võtame hetkeks siin ja teile mõttes nüüd 691 00:30:57,200 --> 00:31:00,260 kohta CS50 käigus itself-- tutvustada mõne kursuse töötajad. 692 00:31:00,260 --> 00:31:02,010 Vahetult enne 02:00, jagame võtta pausi 693 00:31:02,010 --> 00:31:03,520 nii et neile, kes on ostetavad saab 694 00:31:03,520 --> 00:31:05,130 pardi välja ja võtta mõningaid muid klass 695 00:31:05,130 --> 00:31:06,580 ja vaadata ülejäänud seda online. 696 00:31:06,580 --> 00:31:09,250 Aga nüüd, lubage mul tutvustada CS50 klass omaette, 697 00:31:09,250 --> 00:31:11,330 eriti, mis on uus. 698 00:31:11,330 --> 00:31:13,960 >> Nii minevikus Kevadel veetis üsna natuke AEG_ 699 00:31:13,960 --> 00:31:17,911 käigus töötajad ja I-- mõtlemine mis see on me tahame CS50 olla, 700 00:31:17,911 --> 00:31:19,910 ja läheb tagasi esimese põhimõtteid, nii et rääkida, 701 00:31:19,910 --> 00:31:22,760 kaaluda, mida me tahame See muidugi nägema ja olema 702 00:31:22,760 --> 00:31:23,740 nagu oma õpilastele. 703 00:31:23,740 --> 00:31:26,480 Ja nii näete probleemi seatud null samuti, kutse 704 00:31:26,480 --> 00:31:28,780 võtta pilk, et URL, mis võtab kokku 705 00:31:28,780 --> 00:31:33,270 motivatsioonist taga järgmised omadused sügisel 2016. 706 00:31:33,270 --> 00:31:35,570 >> Nii nagu te võib järeldan alates TL: DR jaotusmaterjali, 707 00:31:35,570 --> 00:31:39,060 ainekava täna kui ka muidugi kataloogi, sel aastal CS50, 708 00:31:39,060 --> 00:31:42,540 sa ainult oodatakse osalema today-- nii tööd hästi done-- 709 00:31:42,540 --> 00:31:45,960 ja viimane loeng 21. novembril. 710 00:31:45,960 --> 00:31:49,150 Ja sa oled teretulnud, kuid mitte oodata osaleda need loengud keskel, 711 00:31:49,150 --> 00:31:51,180 sest mida me teeme Tänavu on pildistamise 712 00:31:51,180 --> 00:31:52,661 Reaalajas kursuse materjali. 713 00:31:52,661 --> 00:31:54,660 Nii et kõik jääb praeguste ja lisada 714 00:31:54,660 --> 00:31:57,410 nii hästi kui can-- praeguste sündmuste ja vestluste inimesed võiksid 715 00:31:57,410 --> 00:32:00,400 olla kellel on tööstus maailma, kuid muudab selle materjali 716 00:32:00,400 --> 00:32:03,892 saadaval, selle tulemusena isegi earlier-- koos täieliku teksti ärakirju 717 00:32:03,892 --> 00:32:05,850 ja selle otsimist ja seosed teiste vahenditega. 718 00:32:05,850 --> 00:32:07,930 >> Ja tõepoolest, me oleme olnud väites mõnda aega 719 00:32:07,930 --> 00:32:10,830 ja me nüüd uskuda seda, et me saame luua digitaalselt 720 00:32:10,830 --> 00:32:15,170 rohkem ümbritsevale, Köitvama õpetlik kogemus, mitte 721 00:32:15,170 --> 00:32:19,110 kogumisega siin mõned 23 korda isiklikult kohtuistungil keegi meeldib mulle 722 00:32:19,110 --> 00:32:22,925 lihtsalt rääkida infotehnoloogia, vastandina kaasates aktiivsemalt. 723 00:32:22,925 --> 00:32:25,800 Nii näete kursuse ainekava visand semestri siin 724 00:32:25,800 --> 00:32:27,840 koos kui loengud filmitakse, mille sa oled 725 00:32:27,840 --> 00:32:29,710 tere, aga mitte oodata, ja kui nad 726 00:32:29,710 --> 00:32:31,640 vabastatakse käigus kodulehel. 727 00:32:31,640 --> 00:32:34,300 >> Ja mida me teeme siin Kolmapäeviti algab järgmisel nädalal 728 00:32:34,300 --> 00:32:37,362 On palju tihedamalt, ainult need inimesed, kes soovivad osaleda, 729 00:32:37,362 --> 00:32:39,820 on nn jalutada, kus I ja muidugi peadesse 730 00:32:39,820 --> 00:32:41,730 tegelikult teeb asju natuke intiimsem 731 00:32:41,730 --> 00:32:44,313 siin orkestris paragrahvi veel mõned tehnoloogia 732 00:32:44,313 --> 00:32:46,365 ja kõndida läbi jooksva nädala probleem komplekti, 733 00:32:46,365 --> 00:32:50,020 ja pakkuda particularly-- kui üks neid vähem comfortable-- enam 734 00:32:50,020 --> 00:32:52,790 juhised, et te võiksite või vajavad nädala väljakutse. 735 00:32:52,790 --> 00:32:55,820 Ja täpselt samamoodi, neile, kes ei saa osaleda neid isiklikult, ei ole suur asi. 736 00:32:55,820 --> 00:32:58,486 Seal on sarnaselt eesotsas üks kursuse tippjuhte, 737 00:32:58,486 --> 00:33:02,650 Zamalya, samas võimalus varjatud probleemiga komplektid ise. 738 00:33:02,650 --> 00:33:04,960 >> Probleem seab sel aastal ilmub reedeti 739 00:33:04,960 --> 00:33:08,080 ja enam teha seitse päeva hiljem kuid 10 päeva later-- sihilikult 740 00:33:08,080 --> 00:33:10,910 kattuvad iga probleem seatud, et paremini mahutada, 741 00:33:10,910 --> 00:33:13,050 loodame, tõus ja mõõn õpilaste sõiduplaanid, 742 00:33:13,050 --> 00:33:16,550 eriti kui midterms või kergejõustik või teadlased või extracurriculars 743 00:33:16,550 --> 00:33:18,465 kipuvad tulema ja minema eriti keskel semester. 744 00:33:18,465 --> 00:33:21,340 See peaks andma teile veidi rohkem otsustada, kas teil ees 745 00:33:21,340 --> 00:33:25,690 laadida nädalas CS50 või tagasi koormus see järgmisel nädalavahetusel asemel. 746 00:33:25,690 --> 00:33:28,817 Nii vaatame kursuse ainekava siia ajakava selle. 747 00:33:28,817 --> 00:33:30,900 Ja märkad liiga hulgast muudatused sel aastal 748 00:33:30,900 --> 00:33:34,082 neile rohkem tuttavad programmeerimine minevikus, 749 00:33:34,082 --> 00:33:36,290 hakkame semestri kui me täna Scratch, 750 00:33:36,290 --> 00:33:39,730 Eriti keskendub keele nimetatakse C ja seejärel üleminek ei 751 00:33:39,730 --> 00:33:43,430 PHP, vaid keele nimetatakse Python poole semestri lõpuks 752 00:33:43,430 --> 00:33:46,565 kontekstis veebi programmeerimine, koos SQL ja JavaScript, 753 00:33:46,565 --> 00:33:48,930 HTML, CSS, ja veel enam. 754 00:33:48,930 --> 00:33:51,790 >> Ja vastuseks KKK, see on tõesti nii 755 00:33:51,790 --> 00:33:55,520 et CS ei ole nii hull kui ma ükskord arvasin, et see oli, aga see on nii palju tööd 756 00:33:55,520 --> 00:33:57,280 kui olin kuulnud, et võib olla. 757 00:33:57,280 --> 00:34:03,210 Aga see on öelda, et siin on mõned statistika sügisel 2015 üliõpilaskonna, 758 00:34:03,210 --> 00:34:06,460 kusjuures horisontaalsed sinised jooned esindavad keskmine tundide arv 759 00:34:06,460 --> 00:34:06,960 teatatud. 760 00:34:06,960 --> 00:34:10,570 Ja näete keskmiselt kuus kuni 10 12-- võibolla 16 761 00:34:10,570 --> 00:34:14,580 või nii ja nii edasi, kuid suure varieerumise olema selge. 762 00:34:14,580 --> 00:34:18,570 Ja nii aru, et seal ei ole mitte ainult õpilased mugavam ja vähem 763 00:34:18,570 --> 00:34:22,150 mugav käigus, kuid vastav tugi 764 00:34:22,150 --> 00:34:25,699 struktuuri, et saada nendele üliõpilastele läbi semestri edukalt. 765 00:34:25,699 --> 00:34:29,409 >> Tõepoolest, vastuseks KKK, peaks te võtate CS50 kui esimesel aastal? 766 00:34:29,409 --> 00:34:30,139 Absoluutselt. 767 00:34:30,139 --> 00:34:32,690 Ja tegelikult ma ei kahetse ei leidnud minu moodi 768 00:34:32,690 --> 00:34:35,170 või leidnud uue valdkonna et esimesel aastal samuti. 769 00:34:35,170 --> 00:34:39,149 Ja peaks te võtate CS50 koos muid kursusi, kindlasti nii well-- 770 00:34:39,149 --> 00:34:41,940 ja üldist nõuannet me võiksime anda õpilastele, et CS50 on ilmselt 771 00:34:41,940 --> 00:34:44,929 ei ole selline klassi või intro klassi et sa peaksid võtma kolm 772 00:34:44,929 --> 00:34:47,199 muu või neli p-set klassid. 773 00:34:47,199 --> 00:34:50,583 Aga kui te võtate kaks p-komplekti klasside midagi muud, ja CS50, 774 00:34:50,583 --> 00:34:51,499 absoluutselt juhitavaks. 775 00:34:51,499 --> 00:34:54,900 Mul oli palju õpilasi Varem teinud üsna edukalt. 776 00:34:54,900 --> 00:34:57,490 >> Ja et sa poole, et finišijoonel edukalt 777 00:34:57,490 --> 00:35:00,260 ei muidugi on sections-- Lugude õpilastele 778 00:35:00,260 --> 00:35:03,100 ebamugavamate, mugavamaks, ja kusagil vahepeal, 779 00:35:03,100 --> 00:35:04,850 mille käigus on Esimene probleem komplekti, 780 00:35:04,850 --> 00:35:06,360 Teil palutakse kirjeldada ennast. 781 00:35:06,360 --> 00:35:09,151 Ja kui sa oled nende seas vähem mugav, see on selline asi, 782 00:35:09,151 --> 00:35:10,420 et sa lihtsalt pigem tea. 783 00:35:10,420 --> 00:35:13,010 Ja tõepoolest, mis on olnud kasvava demograafilise in CS50 784 00:35:13,010 --> 00:35:14,090 üsna mitu aastat. 785 00:35:14,090 --> 00:35:17,680 >> Nagu eelmisel sügisel eest Näiteks 58% klassist 786 00:35:17,680 --> 00:35:20,560 kirjeldatud end nende hulgas vähem mugav, 787 00:35:20,560 --> 00:35:23,210 koos seas 9% rohkem mugav ja seejärel 788 00:35:23,210 --> 00:35:25,900 teiste õpilastega seal punane kirjeldavad end 789 00:35:25,900 --> 00:35:27,890 kui kusagil vahepeal. 790 00:35:27,890 --> 00:35:31,980 Ja näete siin teemasid üldist ja ajakava lõigud, mis kõik 791 00:35:31,980 --> 00:35:34,820 pakutakse isikut; reaalajas, mille käigus on 792 00:35:34,820 --> 00:35:38,320 hämmastav töötajad õpetamise stipendiaatide ja muidugi assistendid, kellest 793 00:35:38,320 --> 00:35:39,660 Teil kohtuvad hetkeks. 794 00:35:39,660 --> 00:35:42,993 >> Sektsioonid ise, nagu näete, tahe olla esmaspäeviti ja teisipäeviti ja kolmapäeviti 795 00:35:42,993 --> 00:35:45,910 nii, et saaksite sukelduda aastal pärast alustamas, kui sa nii 796 00:35:45,910 --> 00:35:48,110 vali käigus on loengut varem sel nädalal. 797 00:35:48,110 --> 00:35:51,420 Ja siis tööaega, mis kindlasti, iga aastaga, 798 00:35:51,420 --> 00:35:54,110 ole olnud vähem vaidlustada käigus. 799 00:35:54,110 --> 00:35:57,040 Ja sel aastal me plaanite ole Ainult ametist hours-- üks 800 00:35:57,040 --> 00:36:00,300 üks võimalusi abi õpilased kolmapäeviti neljapäeviti 801 00:36:00,300 --> 00:36:03,790 ja pühapäeval, viimasel neist olles pärastlõunal mille konstruktsioon 802 00:36:03,790 --> 00:36:06,910 vähendamiseks mõned stress et alati tekib hilisõhtul 803 00:36:06,910 --> 00:36:10,180 p-Seadistus tähtajaga looming-- kuid tööaega pakutakse ka 804 00:36:10,180 --> 00:36:14,920 esmaspäeviti ja teisipäeviti ja Kolmapäeviti ja reedeti ja laupäeviti, 805 00:36:14,920 --> 00:36:17,080 tänu meie sõprade HSA. 806 00:36:17,080 --> 00:36:20,330 >> CS50 on nüüd oma ruumi õpilastele ja CS50 personal 807 00:36:20,330 --> 00:36:23,070 atop 67 Mount Auburn Street, sealsamas Harvard Square. 808 00:36:23,070 --> 00:36:26,340 Visioon, mis seisneb selles, et CS50 on TF-i ja CAS kogu nädala jooksul, 809 00:36:26,340 --> 00:36:29,052 päris palju peaaegu kogu päeva, on seal toetust. 810 00:36:29,052 --> 00:36:30,760 Nii et kui sul on mõned küsimus p-komplekti 811 00:36:30,760 --> 00:36:33,093 või te ei tunne natuke blokeeritud või natuke segaduses, 812 00:36:33,093 --> 00:36:35,640 ja kuradit, sul tund või Poole tunni klasside vahel, 813 00:36:35,640 --> 00:36:38,920 eriti square-- saab pop ja on sellele küsimusele vastata 814 00:36:38,920 --> 00:36:41,720 kohta on, et segadust clarified-- väga vaimus, 815 00:36:41,720 --> 00:36:45,490 te olete juba tuttav, et matemaatika osakonna enda matemaatika küsimused keskus, 816 00:36:45,490 --> 00:36:49,300 aga päris palju ööpäevaringselt kohta [? Gcal?], Et paneme online. 817 00:36:49,300 --> 00:36:52,400 >> Õpetamine on olemas ka neid õpilased, vabalt kursuse 818 00:36:52,400 --> 00:36:54,750 oma töötajad kui soovid intiimsem üks ühele, 819 00:36:54,750 --> 00:36:58,940 kaks või kolm klassikaaslastega ainult tööd ühe kursuse töötajad. 820 00:36:58,940 --> 00:37:02,320 Ja tõepoolest, need siin on vaid mõned muidugi on töötajad, 821 00:37:02,320 --> 00:37:04,120 paari, kellest te tulen kohtuvad hetkeks. 822 00:37:04,120 --> 00:37:07,440 Tegelikult CS50 enda pea õpetamise mehe, 823 00:37:07,440 --> 00:37:09,790 ja pea muidugi assistent, ja kirikuõpetaja, 824 00:37:09,790 --> 00:37:12,998 võiks tulla kuni lubada neid tere öelda. 825 00:37:12,998 --> 00:37:22,498 >> [APPLAUSE] 826 00:37:22,498 --> 00:37:23,456 SPEAKER 1: [kuuldamatu]. 827 00:37:23,456 --> 00:37:51,842 828 00:37:51,842 --> 00:37:57,856 >> [APPLAUSE] 829 00:37:57,856 --> 00:37:58,814 SPEAKER 2: [kuuldamatu]. 830 00:37:58,814 --> 00:38:17,240 831 00:38:17,240 --> 00:38:27,238 >> [APPLAUSE] 832 00:38:27,238 --> 00:38:28,196 SPEAKER 3: [kuuldamatu]. 833 00:38:28,196 --> 00:38:58,951 834 00:38:58,951 --> 00:39:03,120 >> [APPLAUSE] 835 00:39:03,120 --> 00:39:06,740 >> DAVID Humala: Ja võimaldavad meil tuua pardale kaks CS50 kõige 836 00:39:06,740 --> 00:39:09,730 tippjuhte, Rob ja Zamayla samuti. 837 00:39:09,730 --> 00:39:15,120 >> [APPLAUSE] 838 00:39:15,120 --> 00:39:17,226 >> Tõepoolest, nii Rob ja Zamayla on siin 839 00:39:17,226 --> 00:39:19,940 nii kaua, et ma ei suutnud minema CS50 arhiivid 840 00:39:19,940 --> 00:39:22,470 ja leida see väga SD filmimaterjali neist osalevad 841 00:39:22,470 --> 00:39:25,402 laval ise mõned aastad tagasi. 842 00:39:25,402 --> 00:39:26,110 ROB: [kuuldamatu]. 843 00:39:26,110 --> 00:39:53,660 844 00:39:53,660 --> 00:39:59,247 >> [APPLAUSE] 845 00:39:59,247 --> 00:40:00,080 ZAMAYLA: [kuuldamatu] 846 00:40:00,080 --> 00:40:50,888 847 00:40:50,888 --> 00:40:52,467 >> [APPLAUSE] 848 00:40:52,467 --> 00:40:53,425 DAVID Humala: Aitäh. 849 00:40:53,425 --> 00:40:56,160 850 00:40:56,160 --> 00:40:58,030 Nii et lisaks nendele meeskonna liikmed siin, 851 00:40:58,030 --> 00:41:01,662 CS50 on meeskond ligi 100 töötajad, keda kõiki 852 00:41:01,662 --> 00:41:04,370 on saadaval lõigud ja tööaega ja nii palju. 853 00:41:04,370 --> 00:41:06,920 Ja nagu Rob ütleb Ka see on kõige põhjalikuma 854 00:41:06,920 --> 00:41:09,534 kohta CS50 on 10 aastat, et Olen olnud [kuuldamatu]. 855 00:41:09,534 --> 00:41:12,200 [Kuuldamatu] keskendunud eriti pakkudes tugistruktuuri 856 00:41:12,200 --> 00:41:14,050 korrastamist ära palju põhiosa, mis on olnud 857 00:41:14,050 --> 00:41:16,870 kogunenud 10 aastat iteratiivne arenguid 858 00:41:16,870 --> 00:41:18,120 muidugi probleem komplekti. 859 00:41:18,120 --> 00:41:21,470 >> Nii et sel aastal mitte ainult klassis, vaid Samuti kujul käigus probleem 860 00:41:21,470 --> 00:41:24,800 komplekti, tuleks leida asju rohkem ühtlustada, trimmer, palju 861 00:41:24,800 --> 00:41:26,700 juhitavuse üle varasematel aastatel, kui me 862 00:41:26,700 --> 00:41:31,330 shed mõned pagasi, mis on poolt välja töötatud arenevate aastal 863 00:41:31,330 --> 00:41:32,970 aastasse ja itereerimine. 864 00:41:32,970 --> 00:41:35,110 Nii uute ja paremate algab täna. 865 00:41:35,110 --> 00:41:37,860 >> Sul kohtuda mõned rohkem Muidugi töötajad läbi [kuuldamatu] 866 00:41:37,860 --> 00:41:40,186 kell 2.30, kus me teenime, Nagu tavaks, kooki. 867 00:41:40,186 --> 00:41:42,060 Seal on natuke rohkem kooki kui, aga sa pead 868 00:41:42,060 --> 00:41:44,690 kohtuvad Erin ja Tobias ja teised veel. 869 00:41:44,690 --> 00:41:46,470 Ja lubage mul anda teile Tour enne kuuleme 870 00:41:46,470 --> 00:41:49,600 mõnest teised töötajad klassis, mis ootab samuti. 871 00:41:49,600 --> 00:41:52,730 Tegelikult on meil alati alustada CS50 on semestri tuleval laupäeval 872 00:41:52,730 --> 00:41:54,330 mida nimetatakse CS50 Puzzle Day. 873 00:41:54,330 --> 00:41:56,710 >> See on midagi pistmist infotehnoloogia per se, 874 00:41:56,710 --> 00:41:58,669 kuid katkisest lahendamisel üldisemalt. 875 00:41:58,669 --> 00:42:01,210 Ja kui sa nii valida osa saada, kohta mõned kutsed, 876 00:42:01,210 --> 00:42:03,460 Te olete näinud uks kukkunud või laval siin 877 00:42:03,460 --> 00:42:05,830 see on võimalus meeskondades kahe või kolme või nelja, 878 00:42:05,830 --> 00:42:10,680 osaleda mõistatusi ja pizza ja auhindu ja more-- sel laupäeval, 879 00:42:10,680 --> 00:42:12,560 Hoia rohkem. 880 00:42:12,560 --> 00:42:15,082 >> Leiad ka, et iga Kell Tule ja Jää, 881 00:42:15,082 --> 00:42:16,790 ei CS50 tuua terve hulk õpilasi 882 00:42:16,790 --> 00:42:19,100 lõunat, teha suurt klassi tunda intiimsem, 883 00:42:19,100 --> 00:42:21,820 ja üldiselt koondada vilistlased ja sõbrad tööstuses 884 00:42:21,820 --> 00:42:24,710 rääkida sellest, mida nad pole olnud kuni alates kooli lõpetamist. 885 00:42:24,710 --> 00:42:27,820 Samamoodi tänavu me pidulikult esimene CS50 50 886 00:42:27,820 --> 00:42:31,390 kodeerimine contest-- keskel semester võimalust, et võimaldada igaühel 887 00:42:31,390 --> 00:42:35,430 kohta opt in alusel, et on väljakutse Mõistmine vastu klassikaaslased 888 00:42:35,430 --> 00:42:39,250 jälle meeskonnad kaks või kolm või neli, kasutades ainult et programmeerimine 889 00:42:39,250 --> 00:42:41,920 Savvy, et siis pead alla vööle pärast vaid kuus või seitse 890 00:42:41,920 --> 00:42:44,710 nädalat klassi, ja osalevad sedalaadi konkurentsi 891 00:42:44,710 --> 00:42:50,261 online-- kui soovite lihvida oma oskusi enam, et väljakutse. 892 00:42:50,261 --> 00:42:52,760 Lõpus semestri on nn CS50 Hackathon-- 893 00:42:52,760 --> 00:42:56,970 võimalus, mis algab kell 7.00 PM lõpeb kell 7:00 ning mööda teed 894 00:42:56,970 --> 00:43:01,900 on 12 õhtutundidel, kus sukelduda arvesse muidugi lõplik project-- 895 00:43:01,900 --> 00:43:04,820 võimaluse kujundada ja rakendada kõige midagi huvipakkuvat 896 00:43:04,820 --> 00:43:06,980 et sa oma õpetuse mehe juhtimisel. 897 00:43:06,980 --> 00:43:09,600 Umbes 09:00 me tavaliselt teenida pitsa, 01:00, 898 00:43:09,600 --> 00:43:13,210 Philippe ja mõned meist kes veel ärkvel 5:00, 899 00:43:13,210 --> 00:43:16,310 on shuttle bussed alla tee IHOPi hommikusöögiks. 900 00:43:16,310 --> 00:43:19,340 >> Ja siis paar päeva hiljem on nn CS50 fare-- 901 00:43:19,340 --> 00:43:23,450 lõpu poolel näitus pidu, kui kaugele nii palju 902 00:43:23,450 --> 00:43:28,200 kohta CS50 õpilased on pärit nädal null kõik viis nädalat, 903 00:43:28,200 --> 00:43:32,610 ja pidades silmas, et 73% neist klassikaaslased ja sinu tänavu on 904 00:43:32,610 --> 00:43:34,840 kunagi võtnud CS klassi ees. 905 00:43:34,840 --> 00:43:39,226 Tegelikult on reemphasize nii palju, siin on veel mõned näod CS50 töötajad. 906 00:43:39,226 --> 00:43:40,184 SPEAKER 4: [kuuldamatu]. 907 00:43:40,184 --> 00:43:45,909 908 00:43:45,909 --> 00:43:46,867 SPEAKER 5: [kuuldamatu]. 909 00:43:46,867 --> 00:43:51,332 910 00:43:51,332 --> 00:43:52,290 SPEAKER 6: [kuuldamatu]. 911 00:43:52,290 --> 00:43:55,276 912 00:43:55,276 --> 00:43:56,234 SPEAKER 7: [kuuldamatu]. 913 00:43:56,234 --> 00:44:01,727 914 00:44:01,727 --> 00:44:02,643 SPEAKER 8: [kuuldamatu] 915 00:44:02,643 --> 00:44:10,066 916 00:44:10,066 --> 00:44:11,024 SPEAKER 9: [kuuldamatu]. 917 00:44:11,024 --> 00:44:14,475 918 00:44:14,475 --> 00:44:15,461 >> SPEAKER 4: [kuuldamatu]. 919 00:44:15,461 --> 00:44:16,461 >> SPEAKER 10: [kuuldamatu]. 920 00:44:16,461 --> 00:44:21,456 921 00:44:21,456 --> 00:44:23,438 SPEAKER 11: [kuuldamatu]. 922 00:44:23,438 --> 00:44:24,438 SPEAKER 12: [kuuldamatu]. 923 00:44:24,438 --> 00:44:30,438 924 00:44:30,438 --> 00:44:31,396 SPEAKER 13: [kuuldamatu] 925 00:44:31,396 --> 00:44:37,360 926 00:44:37,360 --> 00:44:40,342 >> SPEAKER 14: [kuuldamatu]. 927 00:44:40,342 --> 00:44:42,863 >> SPEAKER 13: [kuuldamatu]. 928 00:44:42,863 --> 00:44:43,821 SPEAKER 15: [kuuldamatu] 929 00:44:43,821 --> 00:44:48,785 930 00:44:48,785 --> 00:44:49,785 SPEAKER 16: [kuuldamatu]. 931 00:44:49,785 --> 00:44:53,761 932 00:44:53,761 --> 00:44:55,252 >> SPEAKER 11: [kuuldamatu] 933 00:44:55,252 --> 00:44:57,773 934 00:44:57,773 --> 00:44:58,731 SPEAKER 5: [kuuldamatu]. 935 00:44:58,731 --> 00:45:11,250 936 00:45:11,250 --> 00:45:15,130 DAVID Humala: Mõned meeskond on ise sisseoste klassid. 937 00:45:15,130 --> 00:45:17,760 Aga kui need kohal kohta CS50 töötajad on siin, 938 00:45:17,760 --> 00:45:19,230 võiks tulla kuni hetkeks. 939 00:45:19,230 --> 00:45:23,450 CS50 on TF-i ja CAS ja [? töötajad?] kohal siin-- need on vaid mõned 940 00:45:23,450 --> 00:45:28,880 on faces-- kellest üks just nägin ja mõne other-- ja mõned teised 941 00:45:28,880 --> 00:45:30,020 veel. 942 00:45:30,020 --> 00:45:33,242 Miks me ei lähe edasi ja võimaldab kutid viieminutilise pausi. 943 00:45:33,242 --> 00:45:35,450 Kui teil on vaja pardi välja poes klassi, siis hästi. 944 00:45:35,450 --> 00:45:38,900 Ja viis minutit, siis me jätkata, võttes pilk Scratch-- esimene 945 00:45:38,900 --> 00:45:42,420 Meie programmeerimiskeelt vasta käigus töötajad siin veel mõned, 946 00:45:42,420 --> 00:45:45,020 ja keskenduda lõpuks probleemse seatud null. 947 00:45:45,020 --> 00:45:46,710 Nii me oleme juba viis minutit. 1 00:45:46,864 --> 00:45:47,370 >> Hästi. 2 00:45:47,370 --> 00:45:48,590 Nii et me oleme tagasi. 3 00:45:48,590 --> 00:45:51,330 Ja meie ülejäänud aega täna, eesmärk 4 00:45:51,330 --> 00:45:54,320 on tasandil võrdsed nii mõned terminoloogia 5 00:45:54,320 --> 00:45:55,297 nii mõned ideed. 6 00:45:55,297 --> 00:45:57,380 Sest tõepoolest, kui ühe teatud graafikute varem 7 00:45:57,380 --> 00:46:00,130 seal saab olema vahemikus kogemuste tase klassis, 8 00:46:00,130 --> 00:46:03,210 mille mõned õpilased on võtta mõned programmeerimise enne, 9 00:46:03,210 --> 00:46:04,200 kellest mõned ei ole. 10 00:46:04,200 --> 00:46:07,430 Ja nii on see esimene probleem seada ja seda esimese keelena 11 00:46:07,430 --> 00:46:10,830 meil on võimalus alustada enesestmõistetavaks pärast täna 12 00:46:10,830 --> 00:46:12,960 mõned ühised sõnavara ja idee. 13 00:46:12,960 --> 00:46:15,590 >> Ja me teeme seda teel Kursuse esimene languages-- 14 00:46:15,590 --> 00:46:21,070 lisaks C ja Python ja JavaScript ja SQL ja HTML ja CSS, 15 00:46:21,070 --> 00:46:24,450 me keskendudes esialgu ja just probleem seatud null 16 00:46:24,450 --> 00:46:28,160 Selle graafiline keeles, mida nimetatakse Scratch arendatud MIT Media Lab 17 00:46:28,160 --> 00:46:30,880 mööda teed, et aidata õpilased ja lapsed eriti 18 00:46:30,880 --> 00:46:35,070 ennast väljendada algorithmically-- nii rohkem kooskõlas sellega, mida 19 00:46:35,070 --> 00:46:37,300 me võime nimetada arvutuslikke mõtlemist. 20 00:46:37,300 --> 00:46:40,985 >> Ja see on kasulik keeles, sest väga kiiresti järgmisel nädalal nädalas ühe, 21 00:46:40,985 --> 00:46:44,360 me üleminekut traditsiooniline ja kauge keeles nimetatakse 22 00:46:44,360 --> 00:46:46,370 C, mis on puhtalt tekstiline. 23 00:46:46,370 --> 00:46:48,930 Sa ainult kasutada oma klaviatuuri Selleks, et kirjutada juhised 24 00:46:48,930 --> 00:46:50,230 nagu need ekraanile. 25 00:46:50,230 --> 00:46:52,840 Kuid isegi kui te pole kunagi näinud programmeerimiskeelt enne, 26 00:46:52,840 --> 00:46:55,170 vaid põrkav see kõik on seda segasena, 27 00:46:55,170 --> 00:47:00,010 saab ilmselt arvata, et ilmselt trükib Hello World. 28 00:47:00,010 --> 00:47:02,050 Aga seal on palju süntaktiline õhuliini seal. 29 00:47:02,050 --> 00:47:05,770 On imelik hash sümbol või hash tag kuni top. 30 00:47:05,770 --> 00:47:08,900 Seal on noolsulgudega mõned sulgudes looksulg, semi-colon-- 31 00:47:08,900 --> 00:47:11,880 seal on lihtsalt nii palju visuaalset süntaks, mis jääb jalgu. 32 00:47:11,880 --> 00:47:13,940 Alustame muidugi Kraabi et saada 33 00:47:13,940 --> 00:47:17,600 Varem kõik need intellektuaalselt ebahuvitav distractions, 34 00:47:17,600 --> 00:47:20,290 ja keskenduda selle asemel ideid. 35 00:47:20,290 --> 00:47:22,540 >> Tegelikult võib see olla enne. 36 00:47:22,540 --> 00:47:24,830 See, selle, nädal peab olema pärast. 37 00:47:24,830 --> 00:47:26,760 See sellega graafilise keel Scratch, 38 00:47:26,760 --> 00:47:29,870 kuidas siis oleks rakendada sama program-- programmi, et kui joosta, 39 00:47:29,870 --> 00:47:31,340 lihtsalt ütleb tere. 40 00:47:31,340 --> 00:47:34,740 Ja mis tore Scratch on et see on graafiline programmeerimine 41 00:47:34,740 --> 00:47:38,780 keskkond, mis kasutab puzzle tükid või plokid, et ainult lukustavad kokku 42 00:47:38,780 --> 00:47:40,440 kui see muudab loogilisel teha. 43 00:47:40,440 --> 00:47:43,810 Ja Scratch saab arendada animatsioone ja interaktiivseid mänge 44 00:47:43,810 --> 00:47:47,270 ja kunsti, mis tahes mitmeid asju, mis võite ette kujutada oma meeles, 45 00:47:47,270 --> 00:47:51,200 ning rakendada neid lihtsalt lohistades puzzle tükki. 46 00:47:51,200 --> 00:47:54,265 >> Ja tõepoolest, me peame võime väljendada mõningaid samu ideid 47 00:47:54,265 --> 00:47:56,890 et just mainisin hetk tagasi kontekstis Mike Smith 48 00:47:56,890 --> 00:48:00,670 ja otsivad telefoni book-- asju nagu funktsioonid, vaid tegevused, 49 00:48:00,670 --> 00:48:03,070 asjad silmuseid, et teha asju ikka ja jälle, 50 00:48:03,070 --> 00:48:05,170 muutujad, mis on midagi me tutvustada, 51 00:48:05,170 --> 00:48:08,086 aga see on tuttav ehk alates algebra-- lihtsalt mingi kohatäide 52 00:48:08,086 --> 00:48:10,840 salvestada mingi väärtuse võite vaja later-- Loogiline väljendeid, 53 00:48:10,840 --> 00:48:13,720 kui need jah ei või tõsi vale küsimustele enne. 54 00:48:13,720 --> 00:48:17,117 Tingimused on need, kahvlid road-- need oksad nii rääkida. 55 00:48:17,117 --> 00:48:19,700 Ja siis on mõned Kasvataja funktsioone näeme ka täna, 56 00:48:19,700 --> 00:48:22,850 nimetatakse massiivid ja niidid ja sündmused, mis me siis vaadata üle 57 00:48:22,850 --> 00:48:24,460 aega erinevates keeltes. 58 00:48:24,460 --> 00:48:26,790 Aga Scratch lubab meil uurida kõiki neid. 59 00:48:26,790 --> 00:48:30,779 Nii et siin Scratch, see lilla plokk on see, mis funktsioon on tavaliselt 60 00:48:30,779 --> 00:48:31,570 hakkab välja nägema. 61 00:48:31,570 --> 00:48:35,620 See lilla puzzle tükk, mis on teatud sõna nagu ütleme, mis on meetme 62 00:48:35,620 --> 00:48:38,490 ja siis see võiks olla argument või parameter-- mingil moel 63 00:48:38,490 --> 00:48:41,140 on selline kohandamine mida see plokk ei 64 00:48:41,140 --> 00:48:45,182 nii, et see ei ole eelnevalt kindlaks määratud MIT mida see lilla plokk ütleb. 65 00:48:45,182 --> 00:48:47,390 Tegelikult, näete oma hetk, et ma olen võimeline kirjutama 66 00:48:47,390 --> 00:48:49,931 sõnad nagu tere, või tere David, või tere Zamayla, 67 00:48:49,931 --> 00:48:53,750 või mis iganes ma tahan, et argument Selle puzzle piece-- valge kast 68 00:48:53,750 --> 00:48:54,251 seal. 69 00:48:54,251 --> 00:48:57,166 Vahepeal, kui ma tahan silmus, jagame näha, et seal on puzzle tükki, et 70 00:48:57,166 --> 00:48:58,640 vaadata veidi apelsini niimoodi. 71 00:48:58,640 --> 00:49:01,690 Ja nende kuju liiki viitab sellele, et midagi juhtub ikka ja jälle 72 00:49:01,690 --> 00:49:02,680 tsükkel. 73 00:49:02,680 --> 00:49:06,800 >> Nii et kui ma wrap öelda tere plokk koos igavesti blokeerida Scratch, 74 00:49:06,800 --> 00:49:10,307 see on lihtsalt läheb ütleme tere maailma igaveseks sõna otseses mõttes. 75 00:49:10,307 --> 00:49:12,390 Vahepeal on veel üks tüüpi loop Scratch 76 00:49:12,390 --> 00:49:14,348 et me see-- korrata block-- kusjuures kui sa 77 00:49:14,348 --> 00:49:17,940 tea ette, kui palju kordi soovite silmus täita 78 00:49:17,940 --> 00:49:21,850 hulga korda fact-- sa on võimalik määrata, et kirjutades number 79 00:49:21,850 --> 00:49:25,380 või isegi ühendades muutuja, nagu x või y, nagu me näeme. 80 00:49:25,380 --> 00:49:27,690 >> Tegelikult muutujaid nagu i sel juhul mis 81 00:49:27,690 --> 00:49:30,109 on üldnimetus jaoks täisarv muutuja 82 00:49:30,109 --> 00:49:31,900 lihtsalt salvestab number-- täisarv võib olla, 83 00:49:31,900 --> 00:49:35,470 kasutada seda oranž blokk siin Muutuja nagu ma nulli. 84 00:49:35,470 --> 00:49:38,900 Siin on näide roheline on Loogiline väljenduse Scratch. 85 00:49:38,900 --> 00:49:43,700 Kuigi see näeb välja nagu matemaatika valem, matemaatika ebavõrdsust, nagu seda 86 00:49:43,700 --> 00:49:45,320 tegelikult on Boole'i ​​avaldised. 87 00:49:45,320 --> 00:49:46,570 See on kas tõene või väär. 88 00:49:46,570 --> 00:49:48,300 I on väiksem kui 50. 89 00:49:48,300 --> 00:49:51,815 See on kas jah või ei vastust või õige või vale vastus. 90 00:49:51,815 --> 00:49:53,940 Ja me tavaliselt nimetame need Boole'i ​​avaldised. 91 00:49:53,940 --> 00:49:55,148 Ja see ei pea olema 50. 92 00:49:55,148 --> 00:49:57,970 See võib olla x vähem kui y, suurem kui y, mis võrdub y-- 93 00:49:57,970 --> 00:50:00,020 mõnel teisel küsimused võidakse paluda. 94 00:50:00,020 --> 00:50:03,250 >> Nüüd Esmapilgul võib see pilk äkki üsna julge siin, ja see on. 95 00:50:03,250 --> 00:50:06,540 Aga kontseptsiooni tark, see on päris tuttav enne. 96 00:50:06,540 --> 00:50:09,370 Kui x on väiksem kui y, kui öelda nii palju. 97 00:50:09,370 --> 00:50:12,230 Või kui x on suurem kui y, siis öelda nii palju. 98 00:50:12,230 --> 00:50:14,260 Else öelda x on võrdne y. 99 00:50:14,260 --> 00:50:17,220 Nii on meil näiteks seal kolmanda scenario-- 100 00:50:17,220 --> 00:50:20,600 ainus kolmanda possibility-- x on kas suurem kui, väiksem või võrdne. 101 00:50:20,600 --> 00:50:22,420 Nii et meil on kolm teed teelahkmele. 102 00:50:22,420 --> 00:50:26,290 >> Ja pane tähele, mis on lahe siin-- Scratch, tundub, on vaid üks puzzle 103 00:50:26,290 --> 00:50:28,840 tükk, sel juhul on, kui teine ​​plokk. 104 00:50:28,840 --> 00:50:32,090 Ja veel, et tundub viitavat võite on ainult kaks teed teelahkmele. 105 00:50:32,090 --> 00:50:34,631 Võite minna vasakule või paremale, kuid Aga et kolmas stsenaarium? 106 00:50:34,631 --> 00:50:35,760 Mis siis, kui x on võrdne y? 107 00:50:35,760 --> 00:50:36,500 Pole probleemi. 108 00:50:36,500 --> 00:50:39,640 Võtke üks pusletükk, pane veel üks sees on 109 00:50:39,640 --> 00:50:45,759 luua semantiline samaväärne Ifi muud kui else-- ja nüüd 110 00:50:45,759 --> 00:50:47,300 on oma kolm teed teelahkmele. 111 00:50:47,300 --> 00:50:49,091 Ja nagu me näeme, Scratch puzzle tükki 112 00:50:49,091 --> 00:50:51,820 võib venitada ja kasvada, nii et kui tuupima rohkem asju neile. 113 00:50:51,820 --> 00:50:54,420 Sa ei pea sobivaks kõik selle vaikimisi suurus. 114 00:50:54,420 --> 00:50:56,690 >> See on midagi, mida me tulen kohe näha, nimetatakse massiivi. 115 00:50:56,690 --> 00:51:00,880 See on nagu list-- mingi võimalus ladustamiseks mitu tükki info 116 00:51:00,880 --> 00:51:02,886 muutuv, mitte ainult number. 117 00:51:02,886 --> 00:51:05,760 Need näeme esindaja midagi, mida nimetatakse multi-ja väliskeermestamiseks. 118 00:51:05,760 --> 00:51:08,280 Tegelikult on kõik oma Mac ja PC nendel päevadel 119 00:51:08,280 --> 00:51:10,810 toetab multi-ja väliskeermestamiseks, mis tähendab, et saate sõna otseses mõttes 120 00:51:10,810 --> 00:51:12,390 teha mitu asja korraga. 121 00:51:12,390 --> 00:51:15,390 Sul võib olla Microsoft Word üles Esiplaanil töötavad mõned essee. 122 00:51:15,390 --> 00:51:17,160 Sul võib olla brauseris taustal avamine 123 00:51:17,160 --> 00:51:18,720 G-posti või Facebook vms. 124 00:51:18,720 --> 00:51:22,730 Teie arvuti võib teha mitu asja täna, sest see on mitme keermestatud, 125 00:51:22,730 --> 00:51:26,390 ja programmide nad on in Eelkõige on ka multi-keermestatud. 126 00:51:26,390 --> 00:51:28,970 >> Seal on asju mida nimetatakse sündmuste ka maailma Scratch, 127 00:51:28,970 --> 00:51:32,640 ja siis seal on liiga, teha Meie omatehtud puzzle tükki, kui asjad 128 00:51:32,640 --> 00:51:34,810 tegelikult ei eksisteeri ette. 129 00:51:34,810 --> 00:51:38,260 Nii saab motiveerida seda järgmiselt. 130 00:51:38,260 --> 00:51:40,580 Mõned aastad tagasi, kui ma Esimene avastati Scratch, 131 00:51:40,580 --> 00:51:43,530 kui ma olin tegelikult Kraadiõppeüliõpilase MIT, me 132 00:51:43,530 --> 00:51:45,640 end ülesanne oli teha kodutöö. 133 00:51:45,640 --> 00:51:47,614 Ja ma implemented-- mis tagantjärele, 134 00:51:47,614 --> 00:51:50,780 oli väga halb otsus, sest see on Kõige vihaleajav laulu maailma 135 00:51:50,780 --> 00:51:53,321 kuulata kaheksa tundi töötamise ajal homework-- 136 00:51:53,321 --> 00:51:57,180 aga midagi ma kutsus Oscar aeg, mis on ilmselt tuttav lugu. 137 00:51:57,180 --> 00:51:59,820 >> CS50s ise Jordan Hayashi, üks meie kõrgema töötajad, 138 00:51:59,820 --> 00:52:03,920 on täiendatud ta 2015. ja nüüd 2016 aastast juba järgmisel päeval, 139 00:52:03,920 --> 00:52:06,610 Mul oli kõik lihtsalt läheb arvesse Oscar prügikastist. 140 00:52:06,610 --> 00:52:09,320 Nüüd me toetame ringlussevõtt ja kompostimine. 141 00:52:09,320 --> 00:52:12,050 >> Aga maalida pilt mida me saame teha siin 142 00:52:12,050 --> 00:52:14,130 ning motiveerida mõned madalamal tasemel näiteid, 143 00:52:14,130 --> 00:52:16,400 võiks saame ühe muu vabatahtlike lihtsalt tule üles 144 00:52:16,400 --> 00:52:18,331 ja mängida minu esimene kodutöö kunagi? 145 00:52:18,331 --> 00:52:18,830 Tule üles. 146 00:52:18,830 --> 00:52:19,250 Mis su nimi on? 147 00:52:19,250 --> 00:52:20,030 >> HENRY: Henry. 148 00:52:20,030 --> 00:52:22,660 >> DAVID Humala: Henry, tule üles. 149 00:52:22,660 --> 00:52:24,190 Tule üles. 150 00:52:24,190 --> 00:52:27,070 Head kas nii, ja näete hetkeks 151 00:52:27,070 --> 00:52:29,870 Ma lähen edasi minna ja tabas roheline lipp üleval paremal 152 00:52:29,870 --> 00:52:31,100 nurgal, mis tähendab minna. 153 00:52:31,100 --> 00:52:33,320 Väike stop märk ikooni läheb öelda stop, 154 00:52:33,320 --> 00:52:35,490 ja just siis, kui hakkate ja lõpetada programmi. 155 00:52:35,490 --> 00:52:36,450 Meeldiv tutvuda. 156 00:52:36,450 --> 00:52:36,950 Hästi. 157 00:52:36,950 --> 00:52:39,100 Nii et me näeme juhiseid ekraanil vaid hetk. 158 00:52:39,100 --> 00:52:41,450 Ja just mängides seda mängu paar seconds-- usu mind, 159 00:52:41,450 --> 00:52:43,670 me ei kavatse soovite mängida kõik viis väljatöötamiseni te 160 00:52:43,670 --> 00:52:45,470 saada tunnet, mida programm teeb. 161 00:52:45,470 --> 00:52:49,170 Ja rohkem kui lihtsalt keskenduda Henry oleks hea või halb see mäng, fookus 162 00:52:49,170 --> 00:52:52,600 ja kuidas ta rakendab mind algselt ja seejärel Jordan. 163 00:52:52,600 --> 00:52:54,640 Teisisõnu, kui need muutujad? 164 00:52:54,640 --> 00:52:55,520 Kus on silmad? 165 00:52:55,520 --> 00:52:56,520 Kus on funktsioonid? 166 00:52:56,520 --> 00:53:00,700 Ja me näeme, kui me ei näe Neil all kapuuts. 167 00:53:00,700 --> 00:53:03,660 >> Lihtsalt kliki ja lohista prügikasti sobiva prügikasti. 168 00:53:03,660 --> 00:54:02,100 >> [MUSIC MÄNGIB] 169 00:54:02,100 --> 00:54:02,600 Hästi. 170 00:54:02,600 --> 00:54:03,160 See on väga hea. 171 00:54:03,160 --> 00:54:04,286 Miks me ei peatu seal. 172 00:54:04,286 --> 00:54:04,786 Aitäh. 173 00:54:04,786 --> 00:54:05,830 Õnnitleme Henry. 174 00:54:05,830 --> 00:54:07,002 Aitäh. 175 00:54:07,002 --> 00:54:10,690 >> [APPLAUSE] 176 00:54:10,690 --> 00:54:12,450 >> Kujutlege silumine, et programm. 177 00:54:12,450 --> 00:54:15,880 Kui seal on probleem kahe mänguminutil song-- kuid nii 178 00:54:15,880 --> 00:54:17,430 mis toimub siin tõesti? 179 00:54:17,430 --> 00:54:20,900 Nii keeruline, nagu see võib hakkavad tundu, et saada aja jooksul, 180 00:54:20,900 --> 00:54:22,910 tõepoolest rohkem asjad hakkasid langevad, 181 00:54:22,910 --> 00:54:25,370 Mis on huvitav umbes selline example-- 182 00:54:25,370 --> 00:54:27,270 ja me näeme mõne others-- on see, et kui sa 183 00:54:27,270 --> 00:54:30,416 Vaata minevikku keerukuse või keerukuse mängu, 184 00:54:30,416 --> 00:54:33,040 seal on väga lihtne hoone plokid, mis play-- mis kõik, 185 00:54:33,040 --> 00:54:35,840 kui te destilleerida neid neile ehitusplokke, on väga kättesaadav 186 00:54:35,840 --> 00:54:37,401 ja rakendatavad enestele. 187 00:54:37,401 --> 00:54:39,150 Näiteks, see on olnud mõnda aega, kuid ma olen 188 00:54:39,150 --> 00:54:42,900 päris kindel, mida ma algselt tegi, kui tehes seda mängu esimest korda 189 00:54:42,900 --> 00:54:44,787 oli mul täiesti nagu viivitanud. 190 00:54:44,787 --> 00:54:47,120 Ma ei keskendunud üldse kohta loogika või puzzle tükki, 191 00:54:47,120 --> 00:54:50,810 Ma keskendunud graafika ja leid tänaval postituse ja prügikasti 192 00:54:50,810 --> 00:54:51,540 ja kõik see. 193 00:54:51,540 --> 00:54:53,456 Aga need olid vajalikud koostisosad alguses. 194 00:54:53,456 --> 00:54:57,220 Ja kui ma lõpetasin viivitamine ja millega nähakse ette üldine raamistik, 195 00:54:57,220 --> 00:55:00,337 Ma otsustasin, lubage mul teha üks tükk prügikasti kukuks. 196 00:55:00,337 --> 00:55:02,170 Ja me näeme Scratch toetab asju nimetatakse 197 00:55:02,170 --> 00:55:06,386 sprites-- märke, mida on erinevad kostüümid, et nad 198 00:55:06,386 --> 00:55:07,010 teistmoodi. 199 00:55:07,010 --> 00:55:09,660 >> Ja nii ma panna prügikasti kostüüm üks selline sprite. 200 00:55:09,660 --> 00:55:12,007 Ja ma lihtsalt vaja seda langevad taevast. 201 00:55:12,007 --> 00:55:14,590 Ja nii selgub, Scratch, nagu enamik programmeerimiskeeli, 202 00:55:14,590 --> 00:55:18,099 toetab juhuslike arvude või tehniliselt pseudokoodi juhuslike arvude, 203 00:55:18,099 --> 00:55:20,390 nii et tõmmates ja kukkumine teatud puzzle tükki, 204 00:55:20,390 --> 00:55:22,890 Mul oli võimalus on prügikasti tulevad vasakult esimene. 205 00:55:22,890 --> 00:55:25,580 Ja siis järgmine kord, kui ta kukkus, alates paremale ja seejärel keskelt. 206 00:55:25,580 --> 00:55:28,060 Ja kõik mängu ei olnud lihtsalt on prügikast kukkumise taevas. 207 00:55:28,060 --> 00:55:29,770 Sa ei osatud seda või klõpsake seda. 208 00:55:29,770 --> 00:55:31,103 Sa ei saa avada prügikasti. 209 00:55:31,103 --> 00:55:32,160 Sa ei saa midagi teha. 210 00:55:32,160 --> 00:55:34,450 Aga see oli beebi samm poole minu ülim nägemine. 211 00:55:34,450 --> 00:55:36,720 >> Ja pärast seda, ma tegelikult rakendatakse mingi 212 00:55:36,720 --> 00:55:41,230 kaugseire nii et kui sa ei vajuta ja lohistada tükk prügikasti 213 00:55:41,230 --> 00:55:44,350 üle prügikasti, Oscar kaas oleks avada ja sulgeda. 214 00:55:44,350 --> 00:55:47,650 Miski ei juhtu prügikasti, kuid vähemalt kaas oleks avada ja sulgeda. 215 00:55:47,650 --> 00:55:49,642 Nii siis vaadata samm Kahest. 216 00:55:49,642 --> 00:55:52,100 Ja see on see, mis saab olema võti nii probleem seatud null 217 00:55:52,100 --> 00:55:55,970 ja programmeerimine üldisemalt on võtta neid väga tahtliku beebi samme. 218 00:55:55,970 --> 00:55:59,390 Sest mitte ainult ei võimalda teil tunnen ausalt saavutatud palju 219 00:55:59,390 --> 00:56:01,250 quickly-- see on Halvim maailmas 220 00:56:01,250 --> 00:56:06,149 proovida rakendada kõiki Oscar aeg, Seejärel tundi hiljem tabas roheline lipp, 221 00:56:06,149 --> 00:56:08,440 ja miski toimib nii nagu sest kus sa isegi 222 00:56:08,440 --> 00:56:11,150 hakkavad siluda või tõrkeotsing et programm? 223 00:56:11,150 --> 00:56:12,470 See on lihtsalt suur. 224 00:56:12,470 --> 00:56:16,792 >> Ja nii tõeliselt omaks idee võttes steps-- beebi samme jälle 225 00:56:16,792 --> 00:56:19,000 ja again-- ülesehitamisel midagi, mis lõpuks, 226 00:56:19,000 --> 00:56:23,672 tõesti muljetavaldav ja keeruline, kuid alguses, ei ole kaugeltki nii palju teha. 227 00:56:23,672 --> 00:56:24,630 Tegelikult teeme selle ära. 228 00:56:24,630 --> 00:56:28,989 Lubage mul minna Ja-- Scratch ise olemas veebis aadressil Scratch.MIT.edu, 229 00:56:28,989 --> 00:56:30,780 ja sa jutust palju jälle probleem 230 00:56:30,780 --> 00:56:34,200 seatud null, spetsifikatsiooni mis on juba CS50 veebisaidil. 231 00:56:34,200 --> 00:56:35,725 >> Aga see on see, mida Scratch ise. 232 00:56:35,725 --> 00:56:38,210 Ja seal on tõesti ainult kolm peamist valdkonnad. 233 00:56:38,210 --> 00:56:40,980 Ülaosas vasakul seal on niinimetatud staadiumis. 234 00:56:40,980 --> 00:56:41,810 See on nullist. 235 00:56:41,810 --> 00:56:43,710 Vaikimisi kostüüm on kass. 236 00:56:43,710 --> 00:56:46,950 Ja see on ristkülikukujuline maailma millele saab move-- üles, alla, vasakule, 237 00:56:46,950 --> 00:56:48,130 paremale ja mõned muud asjad. 238 00:56:48,130 --> 00:56:51,839 Keset siin on meie kategooriaid või meie kaubaalused puzzle tükki, 239 00:56:51,839 --> 00:56:53,630 ja erinevate värvidega tähendada erinevaid asju. 240 00:56:53,630 --> 00:56:56,520 Ja kui sa tuhnima, näete asjad silmuseid ja tingimused 241 00:56:56,520 --> 00:56:58,160 ja muutujad ja muud koostisosad. 242 00:56:58,160 --> 00:57:00,060 >> Ja siis siin on skriptide ala. 243 00:57:00,060 --> 00:57:03,020 See on koht, kus ma ei saa lohistada need puzzle tükid teha asju. 244 00:57:03,020 --> 00:57:04,690 Nii teeme üks selline asi. 245 00:57:04,690 --> 00:57:06,630 Lubage mul minna Ja-- ja ma tean, kus see on. 246 00:57:06,630 --> 00:57:10,110 Nii et ma lähen kohe kliki kus ma tean asju valmis olla, 247 00:57:10,110 --> 00:57:13,140 kuid suunates ja klõpsates ja poking ümber on paratamatu. 248 00:57:13,140 --> 00:57:15,320 Nii et kui roheline lipp klõpsates Mida ma tahan teha? 249 00:57:15,320 --> 00:57:17,100 Ma teen seda. 250 00:57:17,100 --> 00:57:20,699 Ma lähen lohista see lilla puzzle tükk, tere öelda kaks sekundit, 251 00:57:20,699 --> 00:57:21,490 ja las ma suumida. 252 00:57:21,490 --> 00:57:23,865 >> Ja ma lähen muuta olema, mida ma tahan, et see olla-- 253 00:57:23,865 --> 00:57:26,471 tere kaks sekundit on hea. 254 00:57:26,471 --> 00:57:28,970 Nüüd ma lähen klõpsa roheline lipp, või kui ma tõesti tahan, 255 00:57:28,970 --> 00:57:31,820 Ma ei täisekraani ja siis tagasi tulla. 256 00:57:31,820 --> 00:57:34,060 See lihtsalt hoida kõik ühte aknasse. 257 00:57:34,060 --> 00:57:36,141 Roheline flag-- tere. 258 00:57:36,141 --> 00:57:36,640 Hästi. 259 00:57:36,640 --> 00:57:38,789 Mitte kõik, et huvitav. 260 00:57:38,789 --> 00:57:40,080 Nii et lubage mul minna ja seda teha. 261 00:57:40,080 --> 00:57:41,038 Las ma proovin veel ühe. 262 00:57:41,038 --> 00:57:44,740 Kui roheline lipp clicked-- olgem midagi sellist heli. 263 00:57:44,740 --> 00:57:46,880 Ja märgata, et välja kasti tasuta saad 264 00:57:46,880 --> 00:57:49,910 kass heli, kui on vaikimisi sprite. 265 00:57:49,910 --> 00:57:52,380 Nüüd lubage mul minna ja tabanud roheline lipp nüüd. 266 00:57:52,380 --> 00:57:53,224 >> [Meowing] 267 00:57:53,224 --> 00:57:54,490 >> Aw. 268 00:57:54,490 --> 00:57:55,370 See on jumalik. 269 00:57:55,370 --> 00:57:57,040 Ma programmeerimine. 270 00:57:57,040 --> 00:57:58,550 Mida ma olen teinud? 271 00:57:58,550 --> 00:58:00,430 See on samaväärne programm. 272 00:58:00,430 --> 00:58:01,600 See on ilmselt super lihtne. 273 00:58:01,600 --> 00:58:05,300 See ei ole tegelikult võtta kõik, et palju pingutust ja MIT tegi suurema osa tööst, 274 00:58:05,300 --> 00:58:07,890 aga ma olen kutsunud funktsioon. 275 00:58:07,890 --> 00:58:08,940 Olen kasutanud funktsiooni. 276 00:58:08,940 --> 00:58:12,480 Olen teinud mõningaid meetmeid, kasutades ainult et üks lilla puzzle tükk. 277 00:58:12,480 --> 00:58:15,960 >> Noh, kui ma tahan teha kolm Kompass järjest? 278 00:58:15,960 --> 00:58:18,570 Lubage mul minna ja teha kaks ja kolm. 279 00:58:18,570 --> 00:58:20,910 Ja märgata, et kui sa hõljuma lähedal puzzle tükk, 280 00:58:20,910 --> 00:58:22,970 väike valge joon ilmub omamoodi magnetiliselt 281 00:58:22,970 --> 00:58:25,190 ja see asetuks koos, kui sa lased minna. 282 00:58:25,190 --> 00:58:26,600 Vaatame, mis juhtub siin. 283 00:58:26,600 --> 00:58:27,920 >> [Meowing] 284 00:58:27,920 --> 00:58:32,390 285 00:58:32,390 --> 00:58:34,510 >> Seal on viga. 286 00:58:34,510 --> 00:58:35,650 Ma ainult kuulda ühe mjäu. 287 00:58:35,650 --> 00:58:37,440 Miks see võiks olla? 288 00:58:37,440 --> 00:58:39,001 Jah? 289 00:58:39,001 --> 00:58:39,500 Jah. 290 00:58:39,500 --> 00:58:41,650 Me tõesti ei kuule seda, aga see on hea intuitsioon. 291 00:58:41,650 --> 00:58:43,400 Nad kõik mängivad samal ajal. 292 00:58:43,400 --> 00:58:44,000 Miks? 293 00:58:44,000 --> 00:58:46,587 Noh, et arvuti on lihtsalt läheb teha seda, mida sa öelda tahad. 294 00:58:46,587 --> 00:58:48,670 Nii et kui sa ütled, Heli, Heli, Heli, 295 00:58:48,670 --> 00:58:52,887 aga sa ei ütle seda mängida kuni sa oled teinud, mängida, kuni te olete lõpetanud, 296 00:58:52,887 --> 00:58:54,970 see läheb läbi puhuda programm tõesti kiire 297 00:58:54,970 --> 00:58:56,830 ja ärge ainult seda, mida sa öelda tahad. 298 00:58:56,830 --> 00:58:59,040 >> Nii et ma tegelikult vaja määrata Seda paar võimalust. 299 00:58:59,040 --> 00:59:00,623 Ma võiks lihtsalt seda, vabaneda sellest. 300 00:59:00,623 --> 00:59:04,180 Las ma proovin seda teiste puzzle piece-- mängida heli mjäu kuni teinud, 301 00:59:04,180 --> 00:59:07,072 ja tõmmake kolm Nende ja klõpsa Play. 302 00:59:07,072 --> 00:59:09,430 >> [Meowing] 303 00:59:09,430 --> 00:59:13,350 >> See ei ole tegelikult very-- tänan sina-- väga loomulik. 304 00:59:13,350 --> 00:59:16,590 Miks ei I-- lasta mul minna kontrollima siin. 305 00:59:16,590 --> 00:59:17,090 Nice. 306 00:59:17,090 --> 00:59:22,230 Oota üks sekund, ja nüüd ma lähen tagasi helisid ja mängida heli kuni teinud, 307 00:59:22,230 --> 00:59:24,620 ja siis las ma saan oodata ühe sekundi jooksul. 308 00:59:24,620 --> 00:59:28,692 Ja siis lase mul minna ja saada üks rohkem heli ja siin me läheme. 309 00:59:28,692 --> 00:59:31,350 >> [Meowing] 310 00:59:31,350 --> 00:59:35,930 >> Veidi rohkem loomulik, kuid see ei ole väga tõhus. 311 00:59:35,930 --> 00:59:39,830 Nagu ma Igavuse kõik olla ta lühidalt, klikkides edasi-tagasi 312 00:59:39,830 --> 00:59:42,724 ja tõesti dubleerida minu work-- päris palju kopeerimist ja kleepimist. 313 00:59:42,724 --> 00:59:44,640 Tõepoolest, kui kontrollida klõpsatud või klõpsata, 314 00:59:44,640 --> 00:59:46,500 Ma oleks võinud lihtsalt kopeerida ja kleepida. 315 00:59:46,500 --> 00:59:49,870 Mis oleks parem ehitada kasutada? 316 00:59:49,870 --> 00:59:51,090 Mis mõte enne? 317 00:59:51,090 --> 00:59:51,990 >> Jah, nii silmuse. 318 00:59:51,990 --> 00:59:54,580 Ja tegelikult, kui me torkasid ümber, me võiks leida just nii. 319 00:59:54,580 --> 00:59:57,730 Lubage mul minna sündmuste või pigem kontrolli. 320 00:59:57,730 --> 00:59:59,650 Nii repeat-- ma ei tahad seda 10 korda. 321 00:59:59,650 --> 01:00:01,370 See läheb aina tüütu kiiresti. 322 01:00:01,370 --> 01:00:03,380 Aga ma kordan kolm korda. 323 01:00:03,380 --> 01:00:06,355 Lubage mul minna tagasi heli ja Heli, kuni see on tehtud. 324 01:00:06,355 --> 01:00:08,480 Lubage mul minna tagasi kontrolli ja lihtsalt oodata ühe sekundi jooksul. 325 01:00:08,480 --> 01:00:10,271 Ja teate, võite arvan, et see ei sobi, 326 01:00:10,271 --> 01:00:13,520 kuid jällegi, kui magnetiliselt sa lased ta snap paika, see kasvab täita. 327 01:00:13,520 --> 01:00:14,971 Mis see mängida nüüd? 328 01:00:14,971 --> 01:00:18,500 >> [Meowing] 329 01:00:18,500 --> 01:00:19,000 OKEI. 330 01:00:19,000 --> 01:00:19,660 Nice. 331 01:00:19,660 --> 01:00:22,540 Ja see on see, mida oleks nn programm, mis on ka õige. 332 01:00:22,540 --> 01:00:27,590 See meowed kolm korda üsna loomulikult, aga see on parem loodud. 333 01:00:27,590 --> 01:00:29,580 Ma kasutan vähem koondamine. 334 01:00:29,580 --> 01:00:30,970 Ma ei kopeeri ja kleebi midagi. 335 01:00:30,970 --> 01:00:32,470 Ma lihtsalt kasutatav parem idee. 336 01:00:32,470 --> 01:00:35,340 >> Nüüd on see ikka ole nii huvitav Scratch ei tee 337 01:00:35,340 --> 01:00:35,930 midagi. 338 01:00:35,930 --> 01:00:37,388 Nii teeme midagi muud selle asemel. 339 01:00:37,388 --> 01:00:38,670 Teeme midagi igavesti. 340 01:00:38,670 --> 01:00:39,420 Ja teate mis? 341 01:00:39,420 --> 01:00:40,470 Resolutsiooni tundub huvitav. 342 01:00:40,470 --> 01:00:45,760 Lähme teda liigutada 10 samme ja vajuta play nüüd. 343 01:00:45,760 --> 01:00:46,570 >> OKEI. 344 01:00:46,570 --> 01:00:49,300 Noh me saame mingi drag ta tagasi ja ta on ikka 345 01:00:49,300 --> 01:00:51,250 näidata, sest ta teeb seda igavesti. 346 01:00:51,250 --> 01:00:53,150 Nii silmus teeb mida ta ütleb seda teha, 347 01:00:53,150 --> 01:00:54,650 kuid see ei ole nii huvitav. 348 01:00:54,650 --> 01:00:55,310 Teeme ära. 349 01:00:55,310 --> 01:00:59,870 Lubage mul lisada juhtploki ja kasutada ühte neist tingimustest esimest korda. 350 01:00:59,870 --> 01:01:03,119 >> Nii see läheb liikuma 10 steps-- 10 dots, 10 pikslit screen-- 351 01:01:03,119 --> 01:01:04,660 siis läheb selle küsimuse. 352 01:01:04,660 --> 01:01:09,340 Kui midagi on tõsi, siis tee midagi sees blokeerida. 353 01:01:09,340 --> 01:01:13,060 Nii selgub kaugseire on terve kamp Loogiline expressions-- 354 01:01:13,060 --> 01:01:16,580 küsimustele jah ei või tõsi vale form-- lase mul seda teha. 355 01:01:16,580 --> 01:01:19,260 >> Kui touching-- ja siis seal see väike rippmenüü. 356 01:01:19,260 --> 01:01:20,410 Ma ei parameterize ta. 357 01:01:20,410 --> 01:01:23,010 Kui puudutamata edge-- olgem midagi sellist. 358 01:01:23,010 --> 01:01:27,310 Nii et kui liigutav edge-- lase mul minna tagasi liikuma. 359 01:01:27,310 --> 01:01:32,281 Ja miks ei võiks lihtsalt ümber pöörata 180 kraadi? 360 01:01:32,281 --> 01:01:32,780 Hästi. 361 01:01:32,780 --> 01:01:35,070 Nii igavesti liikuma 10 sammu. 362 01:01:35,070 --> 01:01:37,670 Kui sa puudutamata serva, keera 180 kraadi. 363 01:01:37,670 --> 01:01:39,720 Ja see ei ole programmi lõppu sest sul on igavesti blokeerida, 364 01:01:39,720 --> 01:01:42,053 nii see läheb uuesti minema ja uuesti ja uuesti ja uuesti. 365 01:01:42,053 --> 01:01:43,980 Vaatame, mis juhtub. 366 01:01:43,980 --> 01:01:44,785 OKEI. 367 01:01:44,785 --> 01:01:48,270 Natuke lollakas, kuid selline lahe. 368 01:01:48,270 --> 01:01:51,710 >> Ja me saame lisada sellele mõned rumalusteks mis ei ole sugugi nii intellektuaalselt 369 01:01:51,710 --> 01:01:52,270 huvitav. 370 01:01:52,270 --> 01:01:57,210 Aga kui me tabanud see väike mikrofoni button-- ai. 371 01:01:57,210 --> 01:01:58,480 Las ma puhastan selle üles. 372 01:01:58,480 --> 01:02:01,540 Lubage mul tõsta seda nad ütlevad TV. 373 01:02:01,540 --> 01:02:05,400 Puhastage et üles Salvesta ja nüüd minna kuni skripte. 374 01:02:05,400 --> 01:02:07,500 >> Ja nüüd, ma lähen heli. 375 01:02:07,500 --> 01:02:09,002 Annan talle nime. 376 01:02:09,002 --> 01:02:12,440 Ma nimetan seda ai. 377 01:02:12,440 --> 01:02:13,840 Ja nüüd mängida heli ai. 378 01:02:13,840 --> 01:02:16,520 Pange tähele, ilmub see vähe rippmenüüst. 379 01:02:16,520 --> 01:02:17,612 Vaatame. 380 01:02:17,612 --> 01:02:20,444 >> [OUCH] 381 01:02:20,444 --> 01:02:24,377 >> [Naerab] 382 01:02:24,377 --> 01:02:25,835 Aga me ei saa muuta t tema sõita. 383 01:02:25,835 --> 01:02:28,106 Me võime olla kaks korda nii tüütu. 384 01:02:28,106 --> 01:02:31,760 >> [OUCH] 385 01:02:31,760 --> 01:02:35,332 >> Või kui me teeme seda nagu 1000 astmetena AEG_ 386 01:02:35,332 --> 01:02:39,900 387 01:02:39,900 --> 01:02:40,670 >> OKEI. 388 01:02:40,670 --> 01:02:42,295 Nii et me läheme jätta, et üks üksi. 389 01:02:42,295 --> 01:02:45,290 Nii jälle, hoone blocks-- ma hakkas midagi super lihtne, 390 01:02:45,290 --> 01:02:47,930 ja siis lisasin funktsiooni lisatud funktsioon, lisatakse funktsioon. 391 01:02:47,930 --> 01:02:50,721 Ja ma ei pea enam muretsema kuidas esimesena nimetatud funktsioone 392 01:02:50,721 --> 01:02:53,690 rakendati nagu ma jätkata kiht asju peal. 393 01:02:53,690 --> 01:02:55,430 Nii et tegelikult, las ma teen ühe muu siin. 394 01:02:55,430 --> 01:03:00,580 Lubage mul minna ja avada faili, mis Ma tõin ette, mida nimetatakse lambad. 395 01:03:00,580 --> 01:03:03,970 >> Seega on veidi erinev märk, mis näeb välja selline. 396 01:03:03,970 --> 01:03:07,370 Ja las ma vaatan, kas ma ei saa midagi kasutades counter 397 01:03:07,370 --> 01:03:09,310 Käesolevas case-- niinimetatud muutuv. 398 01:03:09,310 --> 01:03:15,540 Ma lähen edasi minna ja alla Events-- las ma saan roheline lipp klõpsatud. 399 01:03:15,540 --> 01:03:19,030 Siis lase mul minna andmed, mida ma tean alates lihtsalt mängides enne, 400 01:03:19,030 --> 01:03:20,214 on koht, kus muutujad. 401 01:03:20,214 --> 01:03:21,880 Ja ma lähen edasi minna ja lohista see. 402 01:03:21,880 --> 01:03:25,144 >> Nii muutuja nimega counter, ja Ma lähen initsialiseerida see nulli. 403 01:03:25,144 --> 01:03:27,560 Ma ei helista ta anything-- x või y või · Z- kuid programmeerimine, 404 01:03:27,560 --> 01:03:30,410 kutsudes midagi on semantiliselt kasulikul viisil, nagu counter, 405 01:03:30,410 --> 01:03:34,540 mis kirjeldab, mis see on, see on Palju lihtsam lugeda oma koodi hiljem. 406 01:03:34,540 --> 01:03:37,460 Lubage mul minna ja saada igavesti blokeerida siin. 407 01:03:37,460 --> 01:03:41,289 Ja las ma minna välimus lehele ja teha Say blokeerida. 408 01:03:41,289 --> 01:03:44,330 Aga mis on cool umbes muutujad on mul ei pea lihtsalt kirjuta midagi 409 01:03:44,330 --> 01:03:47,850 nagu tere, mis me oleme juba teha, ma ei saa mitte minna andmed 410 01:03:47,850 --> 01:03:50,690 ja lohistada oma muutuja, ja isegi kuigi kuju ei ole päris 411 01:03:50,690 --> 01:03:53,000 näeb see peaks sobima, see kasvab täita. 412 01:03:53,000 --> 01:03:58,396 Ja ma lihtsalt öelda leti ühe second-- spoiler-- ta läheb loota. 413 01:03:58,396 --> 01:04:00,380 Me ütleme ühe sekundi jooksul. 414 01:04:00,380 --> 01:04:02,840 Siis ma lähen ja teda ootama ühe teise, 415 01:04:02,840 --> 01:04:04,650 nii et see ei lähe liiga kiiresti. 416 01:04:04,650 --> 01:04:08,430 Ja siis viimaks, muuta counter poolt one-- teisisõnu 417 01:04:08,430 --> 01:04:13,520 juurdekasvu counter üks lisaväärtust ja seda igavesti. 418 01:04:13,520 --> 01:04:16,129 >> Nii lammas liiga, nagu programmeerija, loeb 0. 419 01:04:16,129 --> 01:04:20,350 420 01:04:20,350 --> 01:04:23,740 Ja kui me oodata piisavalt kaua, Ta teeb seda igavesti. 421 01:04:23,740 --> 01:04:27,740 Aga see ei ole täpselt õige, sest Tegelikult, nagu me teada nädalal üks, 422 01:04:27,740 --> 01:04:31,871 täisarvud ja arvutid üldisemalt tehniliselt on ainult finite-- hästi, 423 01:04:31,871 --> 01:04:33,829 pigem arvutite, kui nad esindavad täisarvud, 424 01:04:33,829 --> 01:04:35,670 on ainult piiratud arv bitte. 425 01:04:35,670 --> 01:04:37,860 Need lambid on võib ainult loota, et kõrge 426 01:04:37,860 --> 01:04:39,239 Enne sa välja lambid. 427 01:04:39,239 --> 01:04:41,590 Ja arvuti Ka ainult nii palju mälu, 428 01:04:41,590 --> 01:04:44,640 ainult nii palju transistorid, nii et see on võimalik ainult loota nii kõrge. 429 01:04:44,640 --> 01:04:47,409 >> Nii selgub, et lambad, Ma arvan, võib loota, et 2 miljardit 430 01:04:47,409 --> 01:04:48,409 või midagi päris suur. 431 01:04:48,409 --> 01:04:50,325 Nii et me ei kavatse ootama, kuni see juhtub. 432 01:04:50,325 --> 01:04:54,850 Aga lõpuks mõned bug juhtub mis võib olla väga reaalse maailma 433 01:04:54,850 --> 01:04:55,970 tagajärgi. 434 01:04:55,970 --> 01:04:58,861 Kuid lisaks lambad, et lihtsalt tutvustab muutuja. 435 01:04:58,861 --> 01:05:01,110 Lähme edasi ja avada midagi, mida ma teinud eelnevalt 436 01:05:01,110 --> 01:05:07,430 siin nimetatakse lemmiklooma Cat-- Pet Cat siin. 437 01:05:07,430 --> 01:05:10,420 Ja märkate siin see on mõne plokid, kuid kui roheline lipp 438 01:05:10,420 --> 01:05:12,474 klõpsatud, igavesti tehes järgmist. 439 01:05:12,474 --> 01:05:15,265 Kui sa puudutamata hiir pointer-- nii kursor ekraanil, 440 01:05:15,265 --> 01:05:18,529 arrow-- mängida heli mjäu ja siis ootama kaks sekundit. 441 01:05:18,529 --> 01:05:19,570 Ja just seda igavesti. 442 01:05:19,570 --> 01:05:22,619 Just pidevalt ootama et näha, kas pointer-- 443 01:05:22,619 --> 01:05:24,710 kui kass on liigutav kursorit. 444 01:05:24,710 --> 01:05:26,060 >> Nii et ma tabanud mängida. 445 01:05:26,060 --> 01:05:26,920 Midagi juhtub. 446 01:05:26,920 --> 01:05:28,980 Aga nagu ma liigutada kursor kass, 447 01:05:28,980 --> 01:05:31,960 >> [Meowing] 448 01:05:31,960 --> 01:05:34,750 >> Ja kui ma seda ära ei hellitus kass enam. 449 01:05:34,750 --> 01:05:38,090 Nii mõned tingimisi loogika nested sees silmus. 450 01:05:38,090 --> 01:05:43,070 Kuidas seda näiteks tahtlikult nimetatakse Ära lemmiklooma Cat? 451 01:05:43,070 --> 01:05:45,253 Mis see tegema hakkad? 452 01:05:45,253 --> 01:05:47,880 >> [Meowing] 453 01:05:47,880 --> 01:05:50,215 >> Miks peaks mitte lemmiklooma kass? 454 01:05:50,215 --> 01:05:59,440 >> [Meowing] 455 01:05:59,440 --> 01:06:00,699 >> OKEI. 456 01:06:00,699 --> 01:06:03,880 Nii et see on näide, kui mujal. 457 01:06:03,880 --> 01:06:06,482 See on otsus, punkti ja sest see istub loop, 458 01:06:06,482 --> 01:06:07,690 nad mõlemad saada kontrollida. 459 01:06:07,690 --> 01:06:08,280 Kas see on tõsi? 460 01:06:08,280 --> 01:06:08,760 Kas see on tõsi? 461 01:06:08,760 --> 01:06:09,250 Kas see on tõsi? 462 01:06:09,250 --> 01:06:09,791 Kas see on tõsi? 463 01:06:09,791 --> 01:06:11,880 Ja lõpuks, üks Neil läheb kohaldatakse 464 01:06:11,880 --> 01:06:16,480 ja nii sa kuuled kas mjäu või müha lõvi sel juhul. 465 01:06:16,480 --> 01:06:21,400 >> Noh, teeme veidi rohkem meeldima üks et ma tegin eelnevalt too-- teemasid. 466 01:06:21,400 --> 01:06:25,210 Nii niit on vaid üks asi, et arvuti saab teha. 467 01:06:25,210 --> 01:06:29,349 Nii multi-keermestatud programm on programm mida saab teha mitu asja korraga. 468 01:06:29,349 --> 01:06:31,140 Ja kõik need näited Senised pidanud 469 01:06:31,140 --> 01:06:35,980 lihtsalt üks skript, nii et speak-- üks programm nagu see siin. 470 01:06:35,980 --> 01:06:38,810 Aga seda märgata programm on kaks haldjaid, kaks märki. 471 01:06:38,810 --> 01:06:40,020 Üks on linnu. 472 01:06:40,020 --> 01:06:40,870 Üks on kass. 473 01:06:40,870 --> 01:06:45,080 >> Ja teate, kui ma vajutan need maha Vasakul nad on oma skripte 474 01:06:45,080 --> 01:06:47,120 või programmide nendega. 475 01:06:47,120 --> 01:06:49,420 Ja need mõlemad programmid, teate, start 476 01:06:49,420 --> 01:06:52,600 koos kui roheline lipp clicked-- olgem vaadata cat-- 477 01:06:52,600 --> 01:06:54,030 kui roheline lipp klõpsatud. 478 01:06:54,030 --> 01:06:58,220 Ja nii tõesti, kui ma tabanud mängida nüüd Kahe asjad hakkavad juhtuma korraga. 479 01:06:58,220 --> 01:07:01,750 Kass ja lind on nii läheb töötama üheaegselt 480 01:07:01,750 --> 01:07:03,815 luua selle mõju. 481 01:07:03,815 --> 01:07:05,440 Ja te võite ette kujutada, mis toimub. 482 01:07:05,440 --> 01:07:08,340 Seal on aas ja lindude ja kass tsüklina. 483 01:07:08,340 --> 01:07:11,270 Lind on lihtsalt kopsakas nagu Olin enne kui ma ütlesin ai. 484 01:07:11,270 --> 01:07:13,040 Aga kass on selgelt eelist. 485 01:07:13,040 --> 01:07:16,040 Seal on teine ​​sensori plokk mis osutab, et kass sihilikult 486 01:07:16,040 --> 01:07:19,836 et lind selles asjas. 487 01:07:19,836 --> 01:07:22,960 Nii võiksime tease peale, vaadates läbi nende plokid, mis toimub. 488 01:07:22,960 --> 01:07:25,460 Aga peamine koostisosa siin on üks. 489 01:07:25,460 --> 01:07:28,520 Lind, nii et see mäng ei ole täiesti boring-- või see animation-- 490 01:07:28,520 --> 01:07:30,060 algab suvalises suunas. 491 01:07:30,060 --> 01:07:32,890 Ja arvuti on korjamise number vahemikus 90 ja 180 492 01:07:32,890 --> 01:07:36,110 sisuliselt nii, et see on veidi erinevat animatsioon iga kord. 493 01:07:36,110 --> 01:07:39,480 >> Ja siis märkate siin, kui kass on liigutav lind, siis 494 01:07:39,480 --> 01:07:42,030 mängida lõvi neli sound-- müha. 495 01:07:42,030 --> 01:07:46,330 Aga vahepeal linnu palett, meil on see. 496 01:07:46,330 --> 01:07:49,229 Forever, kui ei puutu kass, muudkui liigub kolme sammu. 497 01:07:49,229 --> 01:07:50,770 Ja siis siin on veel üks puzzle tükk. 498 01:07:50,770 --> 01:07:52,030 Kui oled äärel, põrge. 499 01:07:52,030 --> 01:07:54,840 Nii et lind on lihtsalt selline karjatamine oma äri, 500 01:07:54,840 --> 01:07:57,330 lihtsalt sõidavad ringi ja kopsakas, ja see on tõesti 501 01:07:57,330 --> 01:08:01,780 Kass, kes oli tingimisi loogika kas see oli püütud lind. 502 01:08:01,780 --> 01:08:02,280 Hästi. 503 01:08:02,280 --> 01:08:08,800 Nii teeme veel ühe siin, see üks kutsutakse Hi hi hi. 504 01:08:08,800 --> 01:08:15,100 Ja see siin lihtsalt ei see on igavesti silmus. 505 01:08:15,100 --> 01:08:18,925 Aga notice-- kuidas me peatada See on väga tüütu programm? 506 01:08:18,925 --> 01:08:21,600 507 01:08:21,600 --> 01:08:22,640 Tulemus tühikut. 508 01:08:22,640 --> 01:08:27,990 Sest kui ma seda teen, Vasakul program-- 509 01:08:27,990 --> 01:08:31,550 märka seda on pidevalt listening-- on võti ruumi vajutage. 510 01:08:31,550 --> 01:08:34,090 Kui tühikut vajutatud, ja kui on, siis mida see teeb? 511 01:08:34,090 --> 01:08:35,980 Ta teeb väga levinud tehnikat. 512 01:08:35,980 --> 01:08:38,590 See seab muutuja on võrdne mingi väärtus. 513 01:08:38,590 --> 01:08:39,741 Aga see lülitab selle väärtuse. 514 01:08:39,741 --> 01:08:41,490 [? Nii välimus?] põhineb shape-- ma 515 01:08:41,490 --> 01:08:43,160 on muutuja, mis ma kirjutas ette, mida nimetatakse 516 01:08:43,160 --> 01:08:44,770 Vaigistatud, mis lihtsalt ütleb jah või ei. 517 01:08:44,770 --> 01:08:45,880 Kas heli vaigistatud või mitte? 518 01:08:45,880 --> 01:08:46,990 Õige või vale? 519 01:08:46,990 --> 01:08:51,580 Ja teate, ma räägin see-- kui summutatud on null, siis muutus ühe, 520 01:08:51,580 --> 01:08:53,840 muidu seatud mute see nulli. 521 01:08:53,840 --> 01:08:55,540 Nii lihtsalt flip väärtus nullist üheni. 522 01:08:55,540 --> 01:08:58,320 Oleksin võinud done-- muuta kahelt kolmele ja 3-2 523 01:08:58,320 --> 01:09:00,162 või 4-5 või 4-6. 524 01:09:00,162 --> 01:09:01,870 Aga see ei ole oluline Mis numbrid ma kasutan, 525 01:09:01,870 --> 01:09:04,090 nii kaua kui ma hoida selle muutmist vastupidine. 526 01:09:04,090 --> 01:09:07,290 >> Ja kõige tahes programmeerija oleks lihtsalt vali nulli ja one-- vale ja õige, 527 01:09:07,290 --> 01:09:09,510 välja ja nüüd-- esindama seda. 528 01:09:09,510 --> 01:09:10,930 Ja see töötab endiselt. 529 01:09:10,930 --> 01:09:12,190 Kui ma tabanud tühikut uuesti 530 01:09:12,190 --> 01:09:13,590 >> [SEAL SOUNDS] 531 01:09:13,590 --> 01:09:15,440 >> Programm töötab endiselt. 532 01:09:15,440 --> 01:09:18,400 Sest seal on see teine ​​skript mis ütleb, igavesti teha järgmist. 533 01:09:18,400 --> 01:09:21,390 534 01:09:21,390 --> 01:09:24,770 Kui summutatud muutuja võrdub zero-- nii et kui sa ei ole vaigistatud 535 01:09:24,770 --> 01:09:29,609 on logic-- kui see on vale või ei, siis Heli, 536 01:09:29,609 --> 01:09:30,650 sest sa ei ole vaigistatud. 537 01:09:30,650 --> 01:09:33,358 Sa peaksid Heli ja seejärel arvan hi hi hi kaks sekundit 538 01:09:33,358 --> 01:09:35,790 ja seejärel oodata, ja teha seda uuesti ja uuesti ja uuesti. 539 01:09:35,790 --> 01:09:40,760 >> Ja nii sel moel on meil teed inimesed mina-- programmidega suhelda. 540 01:09:40,760 --> 01:09:43,120 Ja nad ei pea olla nii kirjas kui teised. 541 01:09:43,120 --> 01:09:46,280 Tegelikult poking lihtsalt ringi no pun intended-- 542 01:09:46,280 --> 01:09:49,250 keegi kulutanud tohutult aega internetis rakendamisel 543 01:09:49,250 --> 01:09:51,580 PokemonGo Scratch. 544 01:09:51,580 --> 01:09:55,440 Ta isegi geolocates teid Cambridge'i või Allston siin. 545 01:09:55,440 --> 01:10:03,120 Nii et kui sa tahad näha ka, mida inimesed saab teha, on see-- väga uhke menüü. 546 01:10:03,120 --> 01:10:04,780 Vajuta siia. 547 01:10:04,780 --> 01:10:07,430 >> See on mind mu nooleklahve nüüd. 548 01:10:07,430 --> 01:10:09,446 Ma lähen pärast seda. 549 01:10:09,446 --> 01:10:09,946 Vajuta. 550 01:10:09,946 --> 01:10:12,949 551 01:10:12,949 --> 01:10:14,240 Ja nüüd, kui klõpsate Pokeball. 552 01:10:14,240 --> 01:10:17,130 553 01:10:17,130 --> 01:10:20,260 See tähendab, ma arvan, et sa oled peaks klõpsake Pokeball. 554 01:10:20,260 --> 01:10:20,760 Hästi. 555 01:10:20,760 --> 01:10:22,680 Nii et ma tegin seda. 556 01:10:22,680 --> 01:10:23,950 Ma ei saa minna siin. 557 01:10:23,950 --> 01:10:27,790 Ja see inimene rakendanud mõned rohkem PokeBalls üle siin-- kolm PokeBalls. 558 01:10:27,790 --> 01:10:29,950 >> Saadame link sellele online nii saab mängida. 559 01:10:29,950 --> 01:10:32,364 Aga teate seal on lihtsalt mõned põhilised ehitusplokid. 560 01:10:32,364 --> 01:10:33,780 Tundub palju Kasvataja, ja see on. 561 01:10:33,780 --> 01:10:35,905 See on muljetavaldav ja rohkem kui me oleks tavaliselt 562 01:10:35,905 --> 01:10:37,740 eeldada, kindlasti jaoks probleem seatud null. 563 01:10:37,740 --> 01:10:40,809 Ma ei tea, kui kaua see inimene veetis online. 564 01:10:40,809 --> 01:10:41,850 Aga see kõik on vaid loop. 565 01:10:41,850 --> 01:10:43,180 Seal on heli mängima. 566 01:10:43,180 --> 01:10:44,850 Seal on mingi loop kuulates, kas ma olen 567 01:10:44,850 --> 01:10:47,558 lööb üles- või allapoole nool või vasakule ja paremale, 568 01:10:47,558 --> 01:10:49,834 ja siis kui nii, siis see liigub see mõned pikslite arv. 569 01:10:49,834 --> 01:10:51,750 Ja siis, kui ma vajutan teise sprite, seal 570 01:10:51,750 --> 01:10:53,390 mingi kui tingimus on. 571 01:10:53,390 --> 01:10:54,806 Jah, see muutub liiga intensiivseks. 572 01:10:54,806 --> 01:10:56,100 Me läheme lõpetada. 573 01:10:56,100 --> 01:10:57,750 See kõik need põhilised ehitusplokid. 574 01:10:57,750 --> 01:11:01,530 Puuduvad teised koostisosad muu kui need, mida me vaatasime juba. 575 01:11:01,530 --> 01:11:04,670 >> Ja veel siin, las ma teen üks lõpuosas näiteid 576 01:11:04,670 --> 01:11:06,960 mis maalib pildi liiga mida saate teha siin. 577 01:11:06,960 --> 01:11:10,481 Siin on väga lihtne programm, mis lihtsalt ei see-- köha, köha, köha. 578 01:11:10,481 --> 01:11:12,480 Ja mis põhineb ainult sellest, mida vaatasime seni 579 01:11:12,480 --> 01:11:14,570 kus on selge, võimaluse parandada. 580 01:11:14,570 --> 01:11:15,570 See programm on õige. 581 01:11:15,570 --> 01:11:17,980 See köha kolm korda, mida ma ette nähtud. 582 01:11:17,980 --> 01:11:19,650 Aga see on halvasti rakendatud. 583 01:11:19,650 --> 01:11:20,600 See on halvasti projekteeritud. 584 01:11:20,600 --> 01:11:22,000 Miks? 585 01:11:22,000 --> 01:11:22,500 Jah. 586 01:11:22,500 --> 01:11:23,230 See ei ole silmus. 587 01:11:23,230 --> 01:11:24,610 Ja see ei ole nii palju et see ei ole loop, 588 01:11:24,610 --> 01:11:26,400 see, et seal on palju koondamine. 589 01:11:26,400 --> 01:11:28,830 Seal on kopeeritud ja kleebitud koodi, nii rääkida. 590 01:11:28,830 --> 01:11:31,830 Ja lahendus ilmselt on tõepoolest silmus. 591 01:11:31,830 --> 01:11:34,350 Nii et lubage mul minna ja täiustada seda. 592 01:11:34,350 --> 01:11:36,250 Ja ma lähen lohista neid siin. 593 01:11:36,250 --> 01:11:39,986 Lubage mul minna ja saada korrake plokk, muuta seda, et kolm. 594 01:11:39,986 --> 01:11:41,860 Ma lähen ära visata mõned nendest plokkidest. 595 01:11:41,860 --> 01:11:43,150 >> Ja märkad see on üsna intuitiivne. 596 01:11:43,150 --> 01:11:45,691 Sa pukseerida ja asjad tekivad ja kaovad lõpuks. 597 01:11:45,691 --> 01:11:49,170 Ja ma lihtsalt lohista see siia ja nüüd on mul puhtama versiooni ikka. 598 01:11:49,170 --> 01:11:50,730 Aga tead mis? 599 01:11:50,730 --> 01:11:52,940 Seal on seda võimalust nüüd abstraction-- 600 01:11:52,940 --> 01:11:56,350 alustada määratleda uut sõnavara et MIT ei osatud ette näha. 601 01:11:56,350 --> 01:11:59,110 Seal on oodata ja korrata ja igavesti ja kui, 602 01:11:59,110 --> 01:12:02,590 aga mis siis, kui ma tahan tutvustada Sõna köha plokk? 603 01:12:02,590 --> 01:12:06,230 Mis siis, kui ma tahan pusletükk mille eesmärk elus on köha? 604 01:12:06,230 --> 01:12:10,720 >> Noh, vaatame seda versiooni Siit võivad mis Tegin järgmiselt. 605 01:12:10,720 --> 01:12:13,579 Maagiliselt, olen loonud see pusletükk siin 606 01:12:13,579 --> 01:12:14,870 mis Scratch võimaldab teil teha. 607 01:12:14,870 --> 01:12:16,787 Ja tõepoolest C ja Python ja JavaScript on 608 01:12:16,787 --> 01:12:18,370 läheb võimaldab teil teha seda nii hästi. 609 01:12:18,370 --> 01:12:21,830 Saate luua oma kohandatud tükki, et te helistate, mida tahad. 610 01:12:21,830 --> 01:12:24,890 Sel juhul köha tunneb nagu mõistliku definitsiooni. 611 01:12:24,890 --> 01:12:27,880 Ja siis need tükid alla Siin saab määrata, mida see tähendab. 612 01:12:27,880 --> 01:12:30,290 >> Ma lohistada alates See palett siin-- rohkem 613 01:12:30,290 --> 01:12:33,500 blocks-- see suur lilla plokk, kus ma kirjutada köha 614 01:12:33,500 --> 01:12:35,290 nagu nimigi minu uus puzzle tükk. 615 01:12:35,290 --> 01:12:39,920 Ja siis ma räägin igal ajal kasutaja nimetab seda uut köha pusletükk, 616 01:12:39,920 --> 01:12:41,770 teha sõnaõigust ja ootama. 617 01:12:41,770 --> 01:12:46,160 Ja nii siin minu korrata blokaad, Ma lihtsalt köha kolm korda. 618 01:12:46,160 --> 01:12:49,972 >> Ja ma väidan, eriti Kui nüüd peidate selle detail. 619 01:12:49,972 --> 01:12:51,430 Keda huvitab, kuidas köha rakendatakse? 620 01:12:51,430 --> 01:12:54,390 Kõik ma hoolin kui programmeerija, et ma saan köha. 621 01:12:54,390 --> 01:12:56,280 Mind ei huvita, kuidas öelda ellu. 622 01:12:56,280 --> 01:12:58,620 Ma lihtsalt hoolitseda, et kass saab midagi öelda. 623 01:12:58,620 --> 01:13:02,720 Ma ei abstraktne ära, et detail ja ainult keskenduda sellele, mis ekraanil näidatakse siin. 624 01:13:02,720 --> 01:13:04,400 Aga ma ei saa seda ühe sammu edasi. 625 01:13:04,400 --> 01:13:08,070 >> Pange tähele, et siin on mul rakendanud loop kolm korda. 626 01:13:08,070 --> 01:13:11,560 Aga mis siis, kui selle asemel ma haarata selle versiooni? 627 01:13:11,560 --> 01:13:14,640 Ja mis siis, kui selle asemel selles versioonis siin 628 01:13:14,640 --> 01:13:18,730 Ma muudan pusletükk võtta argument ja sisendi juurde ise? 629 01:13:18,730 --> 01:13:21,100 Ja et sisend võib olla number nagu kolm. 630 01:13:21,100 --> 01:13:24,580 Nüüd, kui ma kirjutan programmi ja ma tahan, et kass köha, 631 01:13:24,580 --> 01:13:28,270 Ma ei saa tegelikult öelda puzzle panema mitu korda köha, 632 01:13:28,270 --> 01:13:31,990 sest allosas siin Kasvataja versioon Neid kohandatud puzzle tükki 633 01:13:31,990 --> 01:13:34,500 laseb mul täpsustada, et köha tegelikult kulub 634 01:13:34,500 --> 01:13:36,951 input-- võtab argumendiks niimoodi. 635 01:13:36,951 --> 01:13:37,700 Ja teate mis? 636 01:13:37,700 --> 01:13:38,890 Võib-olla ma mõistan, oota üks hetk. 637 01:13:38,890 --> 01:13:40,680 Köha on same-- see on põhimõtteliselt 638 01:13:40,680 --> 01:13:42,120 sama mõte nagu aevastamine. 639 01:13:42,120 --> 01:13:44,040 See on lihtsalt teistsugune Sõna ekraanil. 640 01:13:44,040 --> 01:13:46,550 Ma ei abstraktne ära edasi ja rakendada 641 01:13:46,550 --> 01:13:48,750 see lõplik versioon köha, mis esmapilgul 642 01:13:48,750 --> 01:13:50,660 on nii rohkem keeruline vaadates. 643 01:13:50,660 --> 01:13:52,140 Aga teate, mida ma olen teinud. 644 01:13:52,140 --> 01:13:55,930 Mul on nüüd generalized-- genericized really-- see pusletükk 645 01:13:55,930 --> 01:13:59,900 mida nimetatakse öelda sõna n korda. 646 01:13:59,900 --> 01:14:04,410 >> Ja nüüd on mul kaks uut puzzle tükki siin määratleda köha n korda. 647 01:14:04,410 --> 01:14:06,790 Ja mida see köha funktsioon teeb? 648 01:14:06,790 --> 01:14:08,420 Mida minu kohandatud pusletükk teha? 649 01:14:08,420 --> 01:14:11,996 See lihtsalt nõuab ütleme blokaad, kulgeb sõna ma tahan öelda, 650 01:14:11,996 --> 01:14:13,870 kulgeb arvu kordi ma tahan öelda. 651 01:14:13,870 --> 01:14:18,210 Sest nüüd ma saan rakendada aevastama lihtsalt öeldes achoo, 652 01:14:18,210 --> 01:14:20,320 sel juhul mõned arv kordi. 653 01:14:20,320 --> 01:14:22,360 >> Ja nii ma kihilisus ja kihistumist. 654 01:14:22,360 --> 01:14:25,690 Ja jälle, võti ei ole siin kuidas ma ellu, kuid asjaolu, 655 01:14:25,690 --> 01:14:28,070 et kui ma lihtsalt sõna otseses mõttes liikuda need ära ekraani, 656 01:14:28,070 --> 01:14:31,280 vaata kui lihtne, kui ei ole päris minu programm näeb nüüd välja. 657 01:14:31,280 --> 01:14:33,930 Sest see, mida ta ütleb, ma olen ammutatud 658 01:14:33,930 --> 01:14:37,640 ära selle, mis on sees, et musta kasti. see juhtub olema lilla kast siin, 659 01:14:37,640 --> 01:14:41,430 aga ma olen takistatud ära mis sees sest ma ei hooli, kuidas see toimib. 660 01:14:41,430 --> 01:14:43,650 Ma lihtsalt hoolivad nüüd, et see toimib. 661 01:14:43,650 --> 01:14:46,375 >> Ja tõepoolest, on probleem seatud null, see on täpselt 662 01:14:46,375 --> 01:14:49,250 selline kihilisus ideede sa tulen on võimalus uurida. 663 01:14:49,250 --> 01:14:53,510 See on täpselt see võimalus kohaldada probleemilahenduse tehnikad, 664 01:14:53,510 --> 01:14:55,550 mida on ilmselt võõras keskkonnas. 665 01:14:55,550 --> 01:14:57,890 Ja kas olete saa programmeerida enne või programmeeritud enne, 666 01:14:57,890 --> 01:14:59,500 leiad, et seal on natuke midagi 667 01:14:59,500 --> 01:15:00,874 selles keskkonnas kõigile. 668 01:15:00,874 --> 01:15:02,770 Ja probleem seatud üks nädal aega, 669 01:15:02,770 --> 01:15:06,630 saadame üle läinud, keskendudes kõrgemal tasemel keeles nimetatakse 670 01:15:06,630 --> 01:15:09,290 C- või pigem madalam tasandil keeles nimetatakse 671 01:15:09,290 --> 01:15:11,347 C-, mis on isegi rohkem võimas, kuigi see on 672 01:15:11,347 --> 01:15:12,930 veidi segasena esimesel pilgul. 673 01:15:12,930 --> 01:15:16,740 >> Ja siis saad aru ühe tänapäeva TL: DR, et see probleem seatud on lühem 674 01:15:16,740 --> 01:15:19,880 akna aega kui tulevased, lihtsalt sest siis peaks arvates on üsna 675 01:15:19,880 --> 01:15:20,420 kättesaadav. 676 01:15:20,420 --> 01:15:22,211 Ja mitte muretseda, kui lisada klass hilja. 677 01:15:22,211 --> 01:15:23,920 Me tegeleda, et enne pikk. 678 01:15:23,920 --> 01:15:28,480 Ja enne kui me peatada oma kook, olgem lõpeta vaid kahe minuti ilme 679 01:15:28,480 --> 01:15:30,500 kell, mis ootab teid siin CS50. 680 01:15:30,500 --> 01:15:40,950 681 01:15:40,950 --> 01:17:20,803 [MUSIC MÄNGIB] 682 01:17:20,803 --> 01:17:21,302 Hästi. 683 01:17:21,302 --> 01:17:22,690 Ongi CS50. 684 01:17:22,690 --> 01:17:23,650 Me näeme varsti. 685 01:17:23,650 --> 01:17:25,526 Kook on nüüd teeninud. 686 01:17:25,526 --> 01:17:28,998 687 01:17:28,998 --> 01:18:14,267 [MUSIC MÄNGIB] 688 01:18:14,267 --> 01:18:16,350 SPEAKER 17: Kas te olete kuulnud ning võetavale, Chief? 689 01:18:16,350 --> 01:18:29,490 690 01:18:29,490 --> 01:18:31,920 SPEAKER 18: Võibolla seal rohkem kapoti alla. 691 01:18:31,920 --> 01:18:38,279