1 00:00:00,000 --> 00:00:15,059 >> [ZENE] 2 00:00:15,059 --> 00:00:19,170 >> Ez CS50-- Harvard Egyetem bemutatása 3 00:00:19,170 --> 00:00:22,070 a szellemi vállalkozások számítástechnika 4 00:00:22,070 --> 00:00:23,800 és a művészet programozás. 5 00:00:23,800 --> 00:00:27,020 És a nevem David Malan és Csak arra gondoltam, ma reggel, 6 00:00:27,020 --> 00:00:33,120 ez már hihetetlenül 20 év ma mióta utoljára ültem, ahol ti most. 7 00:00:33,120 --> 00:00:33,840 >> Ez volt 1996. 8 00:00:33,840 --> 00:00:37,550 Voltam másodéves, és én figyelembe CS50 a legelső alkalommal. 9 00:00:37,550 --> 00:00:40,890 És én még nem is kelt fel az ideg hogy magam elsőéves, 10 00:00:40,890 --> 00:00:42,500 részben azért, mert az idő. 11 00:00:42,500 --> 00:00:44,782 Computer science nekem olyan volt, mint, meh. 12 00:00:44,782 --> 00:00:46,990 Én egy kicsit geek növekvő fel, de én nem nagyon 13 00:00:46,990 --> 00:00:49,180 bármilyen szellemi érdeklődés tűnő 14 00:00:49,180 --> 00:00:51,920 hogy csak egy csomó emberek programozása minden alkalommal. 15 00:00:51,920 --> 00:00:53,904 >> És féltem, hogy őszinte legyek. 16 00:00:53,904 --> 00:00:56,820 A tanfolyam és a számítástechnika több általában volt, és bizonyos mértékig, 17 00:00:56,820 --> 00:01:01,230 továbbra is ilyen jó hírnevét a területen a vigyázz, ha csak azért, mert oly sokan 18 00:01:01,230 --> 00:01:04,410 nem ismerik, és biztos abban, hogy. 19 00:01:04,410 --> 00:01:08,480 És ez tényleg nem volt, amíg meg nem vásárolt Az ebbe az osztályba, hogy másodéves fall-- 20 00:01:08,480 --> 00:01:10,880 és még akkor is, csak beiratkozott mert a professor-- 21 00:01:10,880 --> 00:01:13,950 az egyik első mentorok, Brian Kernighan most Princeton-- 22 00:01:13,950 --> 00:01:15,700 lehetővé tette, hogy az osztály nem felelt meg. 23 00:01:15,700 --> 00:01:18,020 És valóban, ez az, amiért ma teszik és ösztönzik 24 00:01:18,020 --> 00:01:20,030 a diákok, hogy ez az osztály sat / unsat. 25 00:01:20,030 --> 00:01:22,040 >> És csak akkor, a a félév végén 26 00:01:22,040 --> 00:01:24,870 vettem észre, mint, wow, ez nem volt ilyen egy ismeretlen területen. 27 00:01:24,870 --> 00:01:26,850 Valóban, ez volt a Nagyon képessé területen, 28 00:01:26,850 --> 00:01:28,970 és izgalmasan, különösen a későbbi, 29 00:01:28,970 --> 00:01:32,809 mint vettem nyelvtanfolyamok Dramatic Arts 101 és Latin A 30 00:01:32,809 --> 00:01:34,600 majd végül grad iskola régészet, 31 00:01:34,600 --> 00:01:37,860 nem igazán elkezd látni a csomópontok ezen a területen, a számítógép 32 00:01:37,860 --> 00:01:41,979 tudomány, a humán, természettudományok, a művészetek, az orvostudomány, 33 00:01:41,979 --> 00:01:42,520 és a hasonlók. 34 00:01:42,520 --> 00:01:44,420 És ez az, amit csak úgy ügyes a számítógépes tudomány 35 00:01:44,420 --> 00:01:46,930 végül, ahogy reméljük, hogy see-- van az alkalmazhatósága 36 00:01:46,930 --> 00:01:50,280 Ezen más területeken, és hogyan lehet hogy néhány mai és a félév 37 00:01:50,280 --> 00:01:53,070 ötletek és gyakorlati ismeretek vissza a saját domain, 38 00:01:53,070 --> 00:01:58,200 és valóban felfedezéséhez kereszteződés A bölcsészettudományi és a tudomány. 39 00:01:58,200 --> 00:02:02,690 >> Így 73% -a akkor, ha az utolsó évben minden olyan jel, 40 00:02:02,690 --> 00:02:04,390 még soha nem vett a CS tanfolyam előtt. 41 00:02:04,390 --> 00:02:06,389 Tehát, ha, mint én, akkor érzés egy kicsit 42 00:02:06,389 --> 00:02:09,190 fél, vagy őszintén te nem igazán, miért te még itt. 43 00:02:09,190 --> 00:02:11,510 Lehet, hogy csak követte néhány barátaival Sanders most. 44 00:02:11,510 --> 00:02:12,490 Ez teljesen rendben van. 45 00:02:12,490 --> 00:02:15,059 A cél itt az, hogy horog te és a te megnyugtassa 46 00:02:15,059 --> 00:02:17,100 hogy ha látod a bal és a jobb, 47 00:02:17,100 --> 00:02:21,480 fogsz látni osztálytársai a a kevés, vagy sok tapasztalat 48 00:02:21,480 --> 00:02:22,890 hogy te magad talán. 49 00:02:22,890 --> 00:02:25,280 És valóban, elmondjuk Egyes statisztikák később még ma 50 00:02:25,280 --> 00:02:28,120 hogy milyen demográfiai Az osztály a következőképpen néz ki. 51 00:02:28,120 --> 00:02:31,440 >> És a hozzáadott reassurance-- és ez mi nem azt jelenti, mióta átvette a tanfolyam 52 00:02:31,440 --> 00:02:33,252 Néhány évvel ago-- a A tanfolyam tematikája 53 00:02:33,252 --> 00:02:35,460 az this-- hogy amit végül kérdésekben a tanfolyam 54 00:02:35,460 --> 00:02:38,040 nem annyira, ahol a végén fel képest az osztálytársaival, 55 00:02:38,040 --> 00:02:43,110 de ahol a 11 hét, a végén a félév végén képest magad 56 00:02:43,110 --> 00:02:46,280 a hét 0, ami hol vagyunk ma itt. 57 00:02:46,280 --> 00:02:48,704 És ez az, amit én rájöttem mindazok évvel ezelőtt. 58 00:02:48,704 --> 00:02:50,620 És tudom, hogy sok osztályok ezt mondom, de ez 59 00:02:50,620 --> 00:02:52,450 Különösen igaz számítástechnika. 60 00:02:52,450 --> 00:02:55,320 A nap végén, ez a mező az ismeretlen, mint volt nekem 61 00:02:55,320 --> 00:02:58,590 és lehet, hogy te, tényleg csak a problémamegoldás. 62 00:02:58,590 --> 00:03:01,324 És mint ilyen, ez nem is ez a alkalmazhatóságát, hogy más területeken. 63 00:03:01,324 --> 00:03:03,490 És valóban, ha megpróbáltuk eltávozni, ez mit jelent, 64 00:03:03,490 --> 00:03:06,897 ez problémamegoldás lényegét, merem. 65 00:03:06,897 --> 00:03:09,480 Van input-- így bármi is az, hogy próbálunk megoldani. 66 00:03:09,480 --> 00:03:12,264 Van kimenet, amely remélhetőleg a megoldást a problémára. 67 00:03:12,264 --> 00:03:14,180 És akkor, ahogy azt mondjuk a számítástechnikában, 68 00:03:14,180 --> 00:03:17,310 itt van ez a fekete doboz a közepén, amit nem feltétlenül 69 00:03:17,310 --> 00:03:19,450 kell törődnünk, hogyan működik. 70 00:03:19,450 --> 00:03:22,230 Te magad végül talán végre, mi van benne, hogy a doboz. 71 00:03:22,230 --> 00:03:25,194 De a mai célokra és több általában az életben, minden érdekel 72 00:03:25,194 --> 00:03:26,610 az, hogy ezek a problémák megoldódik. 73 00:03:26,610 --> 00:03:29,340 >> És mi ez a tanfolyam végső soron vizsgálja 74 00:03:29,340 --> 00:03:31,700 a kereszteződés ezek be- és kimenetek, 75 00:03:31,700 --> 00:03:34,410 és ezeket az úgynevezett algoritmusok, mint azt hamarosan látni, 76 00:03:34,410 --> 00:03:37,450 hogy végre mi is alatt van, a motorháztető. 77 00:03:37,450 --> 00:03:40,487 De ezek a bemenetek és ezek outputs-- mit is jelent ez valójában? 78 00:03:40,487 --> 00:03:43,570 Nos, a végén a nap, meg kell valamilyen módon a képviselő információt. 79 00:03:43,570 --> 00:03:46,660 Ez különösen igaz a számítógép, amely a képzelet és összetett, mivel 80 00:03:46,660 --> 00:03:48,160 tűnhet, egy nagyon buta eszköz. 81 00:03:48,160 --> 00:03:52,240 Tart electricity-- akár a kábel vagy akkumulátort input-- 82 00:03:52,240 --> 00:03:55,820 és akkor némi preprogramed válaszok a képernyőn. 83 00:03:55,820 --> 00:03:57,970 >> De hogyan jutunk el elejétől a végéig ott? 84 00:03:57,970 --> 00:03:59,470 Nos, mi a megoldandó probléma? 85 00:03:59,470 --> 00:04:01,050 Nos, talán talán, a a kezdete minden félévben, 86 00:04:01,050 --> 00:04:02,841 próbálja meg, hogy jelenléti egy szobában, mint ez. 87 00:04:02,841 --> 00:04:04,750 Szóval lehet csinálni, mint egy, kettő, három. 88 00:04:04,750 --> 00:04:07,060 Vagy talán, ha én tettem hogy egyfajta nyomon követni 89 00:04:07,060 --> 00:04:10,560 A myself-- nyomon követheti things-- Azt is hamar elfogy az ujjait. 90 00:04:10,560 --> 00:04:14,650 Szóval talán csak hash marks-- egy személy, kettő, három, négy, öt, hat, 91 00:04:14,650 --> 00:04:15,431 hét, nyolc. 92 00:04:15,431 --> 00:04:17,930 És mindannyian valószínűleg tette ezt, hogy a kezedben 93 00:04:17,930 --> 00:04:19,680 vagy egy darab papírra. 94 00:04:19,680 --> 00:04:22,140 És ez valójában csak úgynevezett egyváltozós notation-- 95 00:04:22,140 --> 00:04:26,130 ahol ha csak egy betű a ábécé, egy vagy hash 96 00:04:26,130 --> 00:04:29,440 jel ebben az esetben minden input szeretné számolni, 97 00:04:29,440 --> 00:04:32,330 meg kell, hogy tegye le egy ilyen letters-- egy ilyen jeleket. 98 00:04:32,330 --> 00:04:32,510 >> Rendben. 99 00:04:32,510 --> 00:04:34,790 Ez mind szép és jó, és Nem olyan bonyolult. 100 00:04:34,790 --> 00:04:37,800 De a számítógépek nem minden hogy sokkal bonyolultabb. 101 00:04:37,800 --> 00:04:40,770 Sőt, a legtöbb akkor valószínűleg tudom, még ha már nem igazán 102 00:04:40,770 --> 00:04:44,080 tekinteni, hogy ez mit jelent, hogy a számítógépek csak megérteni nullákat 103 00:04:44,080 --> 00:04:45,870 és ones-- az úgynevezett bináris rendszer. 104 00:04:45,870 --> 00:04:49,390 Mi, emberek, ezzel szemben, így sokkal kifinomultabb, amennyiben 105 00:04:49,390 --> 00:04:51,770 ahogy mi értelmezzük nullák keresztül kilences. 106 00:04:51,770 --> 00:04:55,740 >> De még ha bináris, első ránézésre nem olyan ismert, 107 00:04:55,740 --> 00:05:00,330 Kiderült, hogy olyan, mint a rendszerek és az ötleteket, hogy már tudjuk. 108 00:05:00,330 --> 00:05:02,420 Így például, hogy ezt. 109 00:05:02,420 --> 00:05:03,896 Ez csak egy szimbólumok sorozatát. 110 00:05:03,896 --> 00:05:05,770 És mindannyian, amikor pillantva azt, valószínűleg 111 00:05:05,770 --> 00:05:09,380 gondolja 123-- semmi nagyon érdekes is. 112 00:05:09,380 --> 00:05:11,940 De miért ez a szám, 123? 113 00:05:11,940 --> 00:05:14,440 Ezek csak glyphs on A screen-- csak minták 114 00:05:14,440 --> 00:05:16,387 hogy valaki rajzolt vagy gépelt. 115 00:05:16,387 --> 00:05:18,970 De ha te, mint én, akkor valószínűleg emlékezni osztályos iskola 116 00:05:18,970 --> 00:05:21,610 hogy vannak fajta oszlopok vagy helyek itt. 117 00:05:21,610 --> 00:05:25,340 Van az ember helyét és a Tíz helye és az a száz helyett. 118 00:05:25,340 --> 00:05:29,820 És az oka, hogy ez a 123. és a Nem csak a minta három szimbólumot 119 00:05:29,820 --> 00:05:33,090 azért van, mert, természetesen, ha Van egy a több száz helyen, 120 00:05:33,090 --> 00:05:36,610 A következő matematikai 100-szor egy, majd kettő a tíz helyett. 121 00:05:36,610 --> 00:05:41,390 Tehát ez 10-szer a 2, majd három Az ember helye, és ez 1 alkalommal 3. 122 00:05:41,390 --> 00:05:45,670 És ha hozzá az összes ilyen fel, a Természetesen, akkor kap 100 plusz 20 plusz 3. 123 00:05:45,670 --> 00:05:48,220 >> Így kezdődött csak egy minta A symbols-- egy alphabet-- 124 00:05:48,220 --> 00:05:51,670 de aztán feltérképeztük értelmében rá ez útján ezek az oszlopok. 125 00:05:51,670 --> 00:05:54,450 Nos, kiderült, hogy számítógépek nagyon nem 126 00:05:54,450 --> 00:05:56,300 hogy eltér a te és én. 127 00:05:56,300 --> 00:06:01,840 De ahelyett, hogy a hatásköre 10, így speak-- 1, 10, 100, 1000, 128 00:06:01,840 --> 00:06:04,330 10.000 helyén, és így forth-- valójában 129 00:06:04,330 --> 00:06:08,930 csak használja hatáskörét 2-- így egy, 2, 4, majd 130 00:06:08,930 --> 00:06:12,810 ha teszünk több számjegy, 8, 16, 32, 64, 128, és így tovább. 131 00:06:12,810 --> 00:06:16,050 És így ez így számítógépen lenne a szám 0, 132 00:06:16,050 --> 00:06:17,300 akárcsak mi, emberek. 133 00:06:17,300 --> 00:06:21,660 >> 0, 0, 0-- és valószínűleg kitalálni milyen minta nullák, 134 00:06:21,660 --> 00:06:24,610 ha a számítógép csak beszélnek 0 vagy 1-- mi 135 00:06:24,610 --> 00:06:29,110 minta fogja képviselni A szám, amit az emberek tudják, mint 1? 136 00:06:29,110 --> 00:06:30,590 Yeah-- 0, 0, 1. 137 00:06:30,590 --> 00:06:31,090 Rendben. 138 00:06:31,090 --> 00:06:35,900 Így a 0, 0, 1, hogyan képviselünk 1, így lehet, hogy hajlik majd 139 00:06:35,900 --> 00:06:39,510 hogy képviselje a 2-es szám, ha van A négy helye és a két helyét 140 00:06:39,510 --> 00:06:48,290 mint az egyetlen hely, mondhatnánk, nos, ha lenne egy 1 az ember helyét, 141 00:06:48,290 --> 00:06:50,430 és most szeretnénk számolni akár 2, lehet, hogy 142 00:06:50,430 --> 00:06:53,310 Ehhez, és hagyjuk, hogy ez egy nulla. 143 00:06:53,310 --> 00:06:56,397 De persze ez nem így a tizedes rendszer egyaránt. 144 00:06:56,397 --> 00:06:58,230 Ha tesz egy számjegyet mind a két oszlopot, 145 00:06:58,230 --> 00:06:59,563 megvan, hogy nem a számtani. 146 00:06:59,563 --> 00:07:01,930 Tehát mi szám tettem véletlenül éppen képviselnek? 147 00:07:01,930 --> 00:07:06,710 >> Tehát ez 3, mert 2-szer 1 plusz 1 szer 1, persze, ad három. 148 00:07:06,710 --> 00:07:08,340 Ez lenne tehát a kettő. 149 00:07:08,340 --> 00:07:12,730 A kis fajta fejtetőre, hogy úgy mondjam, mint 0 válik egy, mint egy 9 szerepek az 150 00:07:12,730 --> 00:07:14,840 és lesz egy 0, ha szállítja a 1. 151 00:07:14,840 --> 00:07:16,510 Ez akkor lenne három természetesen. 152 00:07:16,510 --> 00:07:20,170 Four-- másik érdekes dolog történik, ahol azok felborulása 153 00:07:20,170 --> 00:07:21,750 és magával viszi a 1, hogy úgy mondjam. 154 00:07:21,750 --> 00:07:23,320 Tehát ez, persze, 4. 155 00:07:23,320 --> 00:07:25,160 >> De ha gyorsan elő most, mi a legnagyobb szám megy 156 00:07:25,160 --> 00:07:26,660 lenni, hogy a számítógép képes képviselni? 157 00:07:26,660 --> 00:07:30,420 158 00:07:30,420 --> 00:07:32,380 Tehát csak hét ebben az esetben, nem igaz? 159 00:07:32,380 --> 00:07:35,570 Mert van egy a négy, egy, a két, egy az egy. 160 00:07:35,570 --> 00:07:36,900 Tehát ez 4 + 2 + 1. 161 00:07:36,900 --> 00:07:37,972 Annak érdekében, hogy megadja neked a hét. 162 00:07:37,972 --> 00:07:39,680 És valóban, ez lenne Úgy tűnik, az első pillantásra 163 00:07:39,680 --> 00:07:43,750 hogy a számítógépek száma nem magasabb, mint ezt. 164 00:07:43,750 --> 00:07:45,210 >> De ez természetesen nem igaz. 165 00:07:45,210 --> 00:07:48,243 Mit tegyünk az emberek nem, ha azt akarjuk, számolni magasabb, mint 999? 166 00:07:48,243 --> 00:07:51,000 167 00:07:51,000 --> 00:07:53,900 Csak vigye az egyik, és csak adjunk hozzá egy negyedik számjegy a bal oldalon. 168 00:07:53,900 --> 00:07:55,070 És valóban így tudtuk. 169 00:07:55,070 --> 00:07:57,900 Mi volna egy nyolcas helyezzük és 16. helyét, 170 00:07:57,900 --> 00:08:02,000 és egy 32 helyét, 64, 128-- és lehet csak menj tovább, egészen a végtelenig. 171 00:08:02,000 --> 00:08:04,640 Tehát ezek a nullák és ones-- Az úgynevezett bináris system-- 172 00:08:04,640 --> 00:08:10,290 az, amit egy számítógép tudós lenne általában hívni egy kicsit, vagy bináris számjegy. 173 00:08:10,290 --> 00:08:13,590 >> De most, hogy jutunk a fogalom vagy a grafikus ezeket a dolgokat 174 00:08:13,590 --> 00:08:14,620 hogy egy igazi számítógép? 175 00:08:14,620 --> 00:08:17,170 Úgy tűnik, hogy kihagyom a lépés itt. 176 00:08:17,170 --> 00:08:20,210 Nos, az egyetlen input végén A nap, a laptopomon itt 177 00:08:20,210 --> 00:08:22,060 ez áramlását villamos energiát. 178 00:08:22,060 --> 00:08:24,560 Még ha ez hosszú volt óta Gondolt 179 00:08:24,560 --> 00:08:26,580 vagy nem gondolt hogyan elektromos művek, 180 00:08:26,580 --> 00:08:30,909 van elektronok áramlása vagy ki, és ez az én ilyen bemenet. 181 00:08:30,909 --> 00:08:34,659 >> Tehát, ha ez minden, ami vagyunk szerzés input itt, 182 00:08:34,659 --> 00:08:36,830 mit tehetünk, hogy az információ? 183 00:08:36,830 --> 00:08:40,040 Nos, azt gondolhatnánk, a nulla Csak hiánya villamos. 184 00:08:40,040 --> 00:08:42,540 Semmi sem flowinw, semmi sem mozog, nem történik semmi. 185 00:08:42,540 --> 00:08:44,690 Ez csak az alapértelmezett state-- nulla. 186 00:08:44,690 --> 00:08:48,200 De ha van áram folyik, miért nem mi csak önkényesen, hanem globálisan 187 00:08:48,200 --> 00:08:50,250 következetesen, hívja, hogy egy. 188 00:08:50,250 --> 00:08:54,760 >> Tehát egyszerűen azáltal, hogy nincs áram, van egy nulla, igen erő, 189 00:08:54,760 --> 00:08:57,520 van egy one-- nincs áram, igen erő. 190 00:08:57,520 --> 00:09:01,520 És így, a valami több fizikai vagy elektronikus 191 00:09:01,520 --> 00:09:05,340 elkezdjük végrehajtani ezt a fogalmat a valami vagy hogy az egyik, vagy egy nulla. 192 00:09:05,340 --> 00:09:07,230 Sőt, meg tudnánk csinálni itt. 193 00:09:07,230 --> 00:09:10,590 Tehát itt, én nem három, hanem nyolc izzók, amelyek mindegyike 194 00:09:10,590 --> 00:09:11,810 saját kapcsolót. 195 00:09:11,810 --> 00:09:15,760 >> És így, ha akartam, hogy képviselje A hetes szám itt, 196 00:09:15,760 --> 00:09:18,510 Lehet, hogy kapcsolja be a három izzók. 197 00:09:18,510 --> 00:09:21,470 És valóban, belülről számítógépem millió, 198 00:09:21,470 --> 00:09:25,650 milliárd dolgok, amelyek csak kisebb, mint, az úgynevezett tranzisztorok, 199 00:09:25,650 --> 00:09:27,330 kapcsolók, hogy csak kapcsolja be és ki. 200 00:09:27,330 --> 00:09:30,420 Tehát ezek big-- viszonylag big-- kapcsolók belülről én laptop-- 201 00:09:30,420 --> 00:09:32,150 Sok, sok, sok, több kapcsolót. 202 00:09:32,150 --> 00:09:35,160 De ők pontosan hogy-- kapcsolja valamit, kapcsolja ki valamit. 203 00:09:35,160 --> 00:09:38,076 És mint ilyen, a számítógép is képviseli, azokkal millió vagy milliárd 204 00:09:38,076 --> 00:09:40,480 tranzisztorok, sok- sok nullák. 205 00:09:40,480 --> 00:09:43,160 És van más hardver is, hogy lehetővé teszi, hogy adatokat tároljon a hosszú távú, 206 00:09:43,160 --> 00:09:45,243 így, ha húzza a dugó, ne veszítse el azt. 207 00:09:45,243 --> 00:09:46,900 De ez a történet egy másik napra. 208 00:09:46,900 --> 00:09:51,170 >> Tehát mit tehetünk ezekkel bit? 209 00:09:51,170 --> 00:09:54,309 Lehet mi csak azért, hogy a nyomás le a me-- 210 00:09:54,309 --> 00:09:56,600 Lehet, hogy valaki akar jönni ide, és felajánl egy demo? 211 00:09:56,600 --> 00:09:57,516 Láttam ezt a kezét először. 212 00:09:57,516 --> 00:09:58,709 Hogy hívnak? 213 00:09:58,709 --> 00:09:59,250 Máday: Maday. 214 00:09:59,250 --> 00:10:00,542 DAVID MALAN: Madajjal, gyere fel. 215 00:10:00,542 --> 00:10:01,250 Örvendek. 216 00:10:01,250 --> 00:10:02,390 Máday: Örülök, hogy találkoztunk. 217 00:10:02,390 --> 00:10:02,930 >> DAVID MALAN: Gyere erre. 218 00:10:02,930 --> 00:10:04,182 Nem kell ajak téged. 219 00:10:04,182 --> 00:10:04,682 Rendben. 220 00:10:04,682 --> 00:10:11,090 Tehát itt, van, notice-- egy, two-- fogunk szerkeszteni, hogy out-- egy, kettő, négy, 221 00:10:11,090 --> 00:10:13,350 nyolc, 16, 32, 64, 128. 222 00:10:13,350 --> 00:10:14,220 Ez szándékosan van. 223 00:10:14,220 --> 00:10:17,370 Van nyolc bit here-- bináris digits-- nullák. 224 00:10:17,370 --> 00:10:21,460 És kicsit egy hasznos egység measure-- Nem hasznos mértékegység 225 00:10:21,460 --> 00:10:21,999 magára. 226 00:10:21,999 --> 00:10:24,290 Általában azt szeretnénk, legalább Nyolc ezeket a dolgokat, más néven 227 00:10:24,290 --> 00:10:24,790 egy byte. 228 00:10:24,790 --> 00:10:26,230 Tehát van egy byte bitek itt. 229 00:10:26,230 --> 00:10:31,130 >> Tehát, ha azt akartuk, hogy kihívást jelent a, például kifejti, bináris, 230 00:10:31,130 --> 00:10:33,230 ez az érték here-- 42. 231 00:10:33,230 --> 00:10:35,140 Szeretné, hogy a stab a dolgot? 232 00:10:35,140 --> 00:10:36,034 >> Máday: [hallható]. 233 00:10:36,034 --> 00:10:38,700 DAVID MALAN: Igen, csak nyomja meg a kis fehér kapcsolók előtt. 234 00:10:38,700 --> 00:10:41,290 És azt akarja, hogy pontosan ki 42, és talál gazdára 235 00:10:41,290 --> 00:10:44,061 ez CS50 stressz labda, ha megkapod. 236 00:10:44,061 --> 00:10:44,560 Rendben. 237 00:10:44,560 --> 00:10:46,420 Tehát van 32. 238 00:10:46,420 --> 00:10:48,430 Mi lesz szükségünk 42. 239 00:10:48,430 --> 00:10:51,410 Tehát ez egy nyolc, szóval 40. 240 00:10:51,410 --> 00:10:54,160 És excellent-- nagyon jól tette. 241 00:10:54,160 --> 00:10:55,186 Köszönöm. 242 00:10:55,186 --> 00:10:58,790 >> [TAPS] 243 00:10:58,790 --> 00:10:59,290 Rendben. 244 00:10:59,290 --> 00:11:00,623 Tehát van még egy stressz labdát. 245 00:11:00,623 --> 00:11:03,595 Csináljuk még egyszer, ha lehet. 246 00:11:03,595 --> 00:11:05,368 Egy másik önkéntes? 247 00:11:05,368 --> 00:11:07,970 Ingyenes stressz labda, ingyenes stressz labda. 248 00:11:07,970 --> 00:11:08,470 RENDBEN. 249 00:11:08,470 --> 00:11:11,640 Több mint itt a középső, akarsz lejönni? 250 00:11:11,640 --> 00:11:14,100 Rendben. 251 00:11:14,100 --> 00:11:15,552 Tudom. 252 00:11:15,552 --> 00:11:16,360 Ott vagyunk. 253 00:11:16,360 --> 00:11:20,818 >> Tehát a számok here-- gyere le. 254 00:11:20,818 --> 00:11:21,567 Mi a neved? 255 00:11:21,567 --> 00:11:21,984 >> DAVEY: Davey. 256 00:11:21,984 --> 00:11:22,820 >> DAVID MALAN: Davey. 257 00:11:22,820 --> 00:11:23,320 RENDBEN. 258 00:11:23,320 --> 00:11:24,810 Jöjjön fel, Davey. 259 00:11:24,810 --> 00:11:25,890 Örvendek. 260 00:11:25,890 --> 00:11:28,639 És mit fogunk, hogy itt spell-- ha tudna időzzön ott 261 00:11:28,639 --> 00:11:32,810 csak egy moment-- az a szám 50. 262 00:11:32,810 --> 00:11:36,293 De, de, de De, de ezek általános iskola mágnesek az oka. 263 00:11:36,293 --> 00:11:39,370 264 00:11:39,370 --> 00:11:43,327 Csak most egy kicsit nehezebb, rendben? 265 00:11:43,327 --> 00:11:44,160 Még nyolc. 266 00:11:44,160 --> 00:11:46,820 267 00:11:46,820 --> 00:11:47,320 Rendben. 268 00:11:47,320 --> 00:11:48,486 Tehát mi van ott? 269 00:11:48,486 --> 00:11:51,356 Van 32. 270 00:11:51,356 --> 00:11:54,344 Szép. 271 00:11:54,344 --> 00:11:58,610 32 és 16 ad 48-- olyan közel. 272 00:11:58,610 --> 00:12:00,390 És csodálatos. 273 00:12:00,390 --> 00:12:02,831 Gratulálunk Davey is. 274 00:12:02,831 --> 00:12:05,720 >> [TAPS] 275 00:12:05,720 --> 00:12:06,516 >> Rendben. 276 00:12:06,516 --> 00:12:09,390 Így tudjuk ezt minden nap, és nem kap minden, hogy sokkal több 277 00:12:09,390 --> 00:12:10,800 érdekes és nagyobb kihívás. 278 00:12:10,800 --> 00:12:13,250 De ez tényleg a point-- hogyan viszonylag egyszerű 279 00:12:13,250 --> 00:12:16,930 ez, a végén a nap, amit egy számítógépeden, hogy információt tároljon, 280 00:12:16,930 --> 00:12:21,740 tárolására bemenetek és végül tárolni vagy olyanok, amelyeket kimenettel. 281 00:12:21,740 --> 00:12:23,750 De a számok önmagukban nem olyan érdekes. 282 00:12:23,750 --> 00:12:26,069 >> Tehát az emberek, néhány évvel ezelőtt, úgy döntött, tudod mit? 283 00:12:26,069 --> 00:12:27,860 Jó lenne, ha a számítógépek nem csak 284 00:12:27,860 --> 00:12:31,030 számológépek számtani műveleteket, de valójában lehetett 285 00:12:31,030 --> 00:12:35,209 dolgokat, mint a szövegszerkesztés, vagy e-mailben, vagy a modernebb inkarnációja 286 00:12:35,209 --> 00:12:36,500 Az ilyen jellegű technológiákat. 287 00:12:36,500 --> 00:12:40,680 És így a világ döntött önkényesen, hanem általánosan, 288 00:12:40,680 --> 00:12:44,380 hogy ha azt akarjuk, hogy tárolja a fővárosban A betű egy számítógép, tudod mit? 289 00:12:44,380 --> 00:12:47,730 Nézzük csak mindannyian egyetértünk, hogy tárolja Néhány minta nullák és ones-- 290 00:12:47,730 --> 00:12:52,422 bits-- hogy végül képviseli a decimális szám 65. 291 00:12:52,422 --> 00:12:53,630 Majd csak mindannyian egyetértünk, hogy. 292 00:12:53,630 --> 00:12:56,620 >> 66 képviselné B, 67 képviselné C, 293 00:12:56,620 --> 00:13:00,210 és van csokor egyéb minták nullák, vagy a mögöttes számok, 294 00:13:00,210 --> 00:13:02,224 hogy képviselné egyéb levelek mindig. 295 00:13:02,224 --> 00:13:04,390 Tehát, ha ilyen mentálisan elnyelik ezt egy pillanatra, 296 00:13:04,390 --> 00:13:10,900 Szándékosan fel egy át Azt, ahol H a 72 és 73. 297 00:13:10,900 --> 00:13:15,830 Ha egy számítógép, akkor, összefüggésben egy szövegszerkesztő programot, vagy egy e-mail, 298 00:13:15,830 --> 00:13:19,620 kiderült, a motorháztető alatt van ezek a minták a bits-- minta 299 00:13:19,620 --> 00:13:22,500 reprezentáló bitek 72, majd 73, majd 33-- 300 00:13:22,500 --> 00:13:26,640 mi ez pontosan abban a programban? 301 00:13:26,640 --> 00:13:28,150 >> Tehát hi, majd valamit. 302 00:13:28,150 --> 00:13:31,460 Mi nem feltétlenül tudom, de valóban 33-- nem szerepelnek a táblázatban earlier-- 303 00:13:31,460 --> 00:13:33,170 egyszerűen egy felkiáltójel. 304 00:13:33,170 --> 00:13:38,870 Tehát 72 volt H, 73 I, 33 megtörténik hogy egy felkiáltójel is. 305 00:13:38,870 --> 00:13:41,719 De ez mind szép és jó, és valójában manapság, ahelyett, 306 00:13:41,719 --> 00:13:43,760 csak hét vagy nyolc bit, hála valami 307 00:13:43,760 --> 00:13:46,530 úgynevezett Unicode szemben ASCII vissza a nap, 308 00:13:46,530 --> 00:13:50,010 valójában jelenthetnek még érdekes karakterek, mint 309 00:13:50,010 --> 00:13:52,980 ezek eredeti angol elfogult leveleket. 310 00:13:52,980 --> 00:13:56,030 De azt is jelentik, még takarosabb dolgok, mint a színek. 311 00:13:56,030 --> 00:13:59,750 >> Ha valaha is hallott a rövidítés RGB, piros, zöld, kék, hogy 312 00:13:59,750 --> 00:14:03,510 Csak azt jelenti, hogy a számítógép tipikusan az három bits-- 313 00:14:03,510 --> 00:14:06,760 néhány bitek számát képviseli a szám, hogy mennyi vörös akarsz, 314 00:14:06,760 --> 00:14:08,940 egy másik bitek mennyit zöld akarsz, 315 00:14:08,940 --> 00:14:11,430 és egy másik számot mennyit kék akarsz. 316 00:14:11,430 --> 00:14:14,457 Tehát egy nagy szám azt jelenti, sok piros, kicsi szám azt jelenti, nem piros. 317 00:14:14,457 --> 00:14:16,290 És így ezek a fajta A középső értékek itt. 318 00:14:16,290 --> 00:14:20,180 >> Így adj egy kis piros, adj egy kis zöld és adj egy kis kék. 319 00:14:20,180 --> 00:14:24,260 És ha összekeverjük a három árnyalat A szín együtt, ebben az esetben, 320 00:14:24,260 --> 00:14:26,850 ezt kapod sötét árnyék sárga vagy barna. 321 00:14:26,850 --> 00:14:32,330 De ezt a mintát nyolc plusz nyolc plusz eight-- így 24 bits-- 322 00:14:32,330 --> 00:14:36,550 balról jobbra, az, ahogy a számítógép jelentene, hogy az adott színt. 323 00:14:36,550 --> 00:14:38,090 Most ez csak egy pontot a képernyőn. 324 00:14:38,090 --> 00:14:42,230 Ha megnézzük nagyon közel a TV-re a számítógép, látni fogja a pontok vagy pixel. 325 00:14:42,230 --> 00:14:45,420 És ha van egy egész rács pixel, vízszintesen és függőlegesen 326 00:14:45,420 --> 00:14:46,630 van kép. 327 00:14:46,630 --> 00:14:49,029 És akkor, ha figyelembe egy képet, majd a mosás 328 00:14:49,029 --> 00:14:52,070 mutasd magad másik képet, egy másik kép, egy másik kép, egy másik kép, 329 00:14:52,070 --> 00:14:54,760 nagyon gyorsan, akkor természetesen a filmek. 330 00:14:54,760 --> 00:14:56,109 >> És így észre, ahol elkezdtük. 331 00:14:56,109 --> 00:14:57,650 Elkezdtük ezekkel nullák. 332 00:14:57,650 --> 00:15:00,570 Dolgoztunk onnan decimális számok, hogyan képviselje őket. 333 00:15:00,570 --> 00:15:02,070 Most már az ábécé. 334 00:15:02,070 --> 00:15:05,664 De más összefüggésekben várni, fel tudjuk használni még néhány apró színeket képviselő. 335 00:15:05,664 --> 00:15:07,830 Amint megvan a képes megfogalmazni a színek, 336 00:15:07,830 --> 00:15:11,200 megvan a képessége, hogy képviselje fényképek és animált GIF-ek 337 00:15:11,200 --> 00:15:13,780 és más hasonló karakter a képernyőn. 338 00:15:13,780 --> 00:15:17,160 És ha van egy csomó képek repülő az emberi egyszerre, 339 00:15:17,160 --> 00:15:21,480 úgy néz ki, mint a mozifilmek, és így kap videókat is. 340 00:15:21,480 --> 00:15:23,460 >> Tehát ezekkel a nagyon egyszerű primitívek teszünk 341 00:15:23,460 --> 00:15:28,070 van, ahogy a képviselő végül az összes ilyen típusú médiumok. 342 00:15:28,070 --> 00:15:30,450 És mi kivett újra és újra és újra, amíg meg nem 343 00:15:30,450 --> 00:15:33,467 kap a legalacsonyabb szintet hogy a legmagasabb szint. 344 00:15:33,467 --> 00:15:35,550 Annak érdekében, hogy számunkra ez általános elképzelés az absztrakció. 345 00:15:35,550 --> 00:15:36,990 De itt kezdődött. 346 00:15:36,990 --> 00:15:38,790 >> Itt most, talán jelentenek a számítógépes 347 00:15:38,790 --> 00:15:41,920 a bemenet nullák és egyesek, a kimenetek nullák és egyesek, 348 00:15:41,920 --> 00:15:43,640 de mi megy a dobozban? 349 00:15:43,640 --> 00:15:46,080 Ez az, ahol a számítógép tudomány lesz érdekes. 350 00:15:46,080 --> 00:15:49,770 Ez az, ahol valóban hozza a saját fejében viseli a problémák megoldása érdekében. 351 00:15:49,770 --> 00:15:52,590 Most már úgy fogalmaz, hogy a többi félévben, igen. 352 00:15:52,590 --> 00:15:53,870 Tudom, hogy a bináris működik. 353 00:15:53,870 --> 00:15:57,942 Emlékszem, hogy az ASCII vagy Unicode-- A leképezés letters-- munkák. 354 00:15:57,942 --> 00:15:59,650 És ez biztosan áll az oka annak, hogy 355 00:15:59,650 --> 00:16:03,470 jelenthet piros, zöld és kék, és képviselik multimédiában is erős. 356 00:16:03,470 --> 00:16:05,390 De ez az érdekes dolog. 357 00:16:05,390 --> 00:16:09,790 Ez az, ami valakinek képes megoldani a problémákat. 358 00:16:09,790 --> 00:16:11,980 >> És egy ilyen probléma szeretjük csinálni, sőt, 359 00:16:11,980 --> 00:16:15,345 vesz ellátás, vagy ezt algoritmikusan. 360 00:16:15,345 --> 00:16:16,470 És ismét, talán ezt. 361 00:16:16,470 --> 00:16:19,580 Lehet csinálni egy, kettő, három, négy öt, hat, hét, nyolc kilenc. 362 00:16:19,580 --> 00:16:21,520 És tudtam írni, le nyomon követni azt. 363 00:16:21,520 --> 00:16:23,769 De ez csak, hogyan kellene képviseli az információkat. 364 00:16:23,769 --> 00:16:27,550 Vagy tudnám ezt faster-- kettő, négy, hat, nyolc, tíz, 12, 14, 16, 18, 20, 365 00:16:27,550 --> 00:16:30,380 22-- érzés kétszer olyan gyorsan, de ez még mindig 366 00:16:30,380 --> 00:16:32,050 fog tartani egy csomó időt. 367 00:16:32,050 --> 00:16:35,990 >> De kiderül, ha kihasználja még másik resource-- sőt számítógépek 368 00:16:35,990 --> 00:16:38,940 Ezekben a napokban több CPU vagy agy. 369 00:16:38,940 --> 00:16:41,970 Kiderült, a számítógépek nem sok dolgot egyszerre, 370 00:16:41,970 --> 00:16:44,460 és valóban, ebben a szobában, jelenthetnek pontosan ezt. 371 00:16:44,460 --> 00:16:47,130 >> Tehát ez egy kicsit szociálisan kényelmetlen, de ha lenne kedvemért 372 00:16:47,130 --> 00:16:51,550 csak egy három lépésből álló folyamat, hadd Kérdezem mindenki a helyén van, csak 373 00:16:51,550 --> 00:16:54,640 kiállni egy pillanatra. 374 00:16:54,640 --> 00:16:57,380 Feláll. 375 00:16:57,380 --> 00:17:01,580 Tehát azt gondolja, szám one-- így ebben a teremben mindenki, 376 00:17:01,580 --> 00:17:05,010 kivéve az embereket, akik nem kötelezik, a gondolkodás számú. 377 00:17:05,010 --> 00:17:06,510 Annak érdekében, hogy az Ön száma most. 378 00:17:06,510 --> 00:17:09,399 Ez az első lépés, vagy egy számítógép tudós vagy programozó 379 00:17:09,399 --> 00:17:11,827 jellemzően nem, megyünk kezdeni a számlálást nulla. 380 00:17:11,827 --> 00:17:14,410 Ha a legkisebb számot tudjuk jelentenek azokkal izzók 381 00:17:14,410 --> 00:17:17,410 nulla, ha csak hagyja őket Mindennek, én lehet, hogy csak 382 00:17:17,410 --> 00:17:19,271 indul számítva nulla helyett. 383 00:17:19,271 --> 00:17:21,020 És ez az, amit számítógépes szakemberek csinálni. 384 00:17:21,020 --> 00:17:23,750 Szóval lépés nulla, felállni gondolni az első számú. 385 00:17:23,750 --> 00:17:26,339 A következő lépés az this-- pár le, hogy valaki áll 386 00:17:26,339 --> 00:17:27,660 és add meg a számokat össze. 387 00:17:27,660 --> 00:17:30,660 388 00:17:30,660 --> 00:17:32,850 Csodálatos. 389 00:17:32,850 --> 00:17:37,640 >> Tehát ebben a pillanatban, szó szerint mindenki részt 390 00:17:37,640 --> 00:17:41,930 gondol a 2-es szám, kivéve egy furcsa ember, ha van 391 00:17:41,930 --> 00:17:43,450 páratlan számú ember a szobában. 392 00:17:43,450 --> 00:17:50,640 És most a harmadik lépés itt fog kell this-- egyik le kellene ülnie. 393 00:17:50,640 --> 00:17:54,490 Az egyik le kellene ülnie, és ha még mindig áll, 394 00:17:54,490 --> 00:17:56,590 menj vissza az első lépés. 395 00:17:56,590 --> 00:18:44,799 396 00:18:44,799 --> 00:18:45,790 Rendben. 397 00:18:45,790 --> 00:19:00,760 398 00:19:00,760 --> 00:19:01,650 Rendben. 399 00:19:01,650 --> 00:19:03,880 Így egyre több és több ember meg kell leülni. 400 00:19:03,880 --> 00:19:08,280 Figyeljük meg, hogy ez okozta egy loop-- valamilyen ciklus. 401 00:19:08,280 --> 00:19:11,983 Néhányan meg kell esetlenül beragadt, oda-vissza lépés között egy 402 00:19:11,983 --> 00:19:14,180 és két, egy és két, egy és két. 403 00:19:14,180 --> 00:19:21,190 404 00:19:21,190 --> 00:19:21,810 Rendben van. 405 00:19:21,810 --> 00:19:22,630 Az első hiba. 406 00:19:22,630 --> 00:19:24,740 Majd foglalkozik ezzel. 407 00:19:24,740 --> 00:19:25,320 Rendben. 408 00:19:25,320 --> 00:19:27,370 Engedjék meg, hogy ösztönözze a dolgokat végig. 409 00:19:27,370 --> 00:19:31,454 >> Elméletileg, csak egy személy áll mindenki továbbra is pár ki. 410 00:19:31,454 --> 00:19:33,870 De hadd gyorsítsák fel a dolgokat az emberek még ma is áll. 411 00:19:33,870 --> 00:19:35,480 Milyen számot gondol? 412 00:19:35,480 --> 00:19:36,070 46. 413 00:19:36,070 --> 00:19:36,570 RENDBEN. 414 00:19:36,570 --> 00:19:37,820 Menj előre, és üljön le. 415 00:19:37,820 --> 00:19:39,190 Ti még mindig áll. 416 00:19:39,190 --> 00:19:42,130 Maradj talpon! 417 00:19:42,130 --> 00:19:45,240 Milyen számot gondol? 418 00:19:45,240 --> 00:19:46,160 RENDBEN. 419 00:19:46,160 --> 00:19:47,900 >> Így fogunk térni hozzád. 420 00:19:47,900 --> 00:19:49,630 Hátul? 421 00:19:49,630 --> 00:19:50,790 Mi az? 422 00:19:50,790 --> 00:19:53,100 22. 423 00:19:53,100 --> 00:19:56,540 OK valaki fel top-- igen? 424 00:19:56,540 --> 00:19:57,720 34. 425 00:19:57,720 --> 00:19:58,300 RENDBEN. 426 00:19:58,300 --> 00:20:02,780 Itt az én right-- itt? 427 00:20:02,780 --> 00:20:06,820 132, nagyon szép. 428 00:20:06,820 --> 00:20:08,380 22? 429 00:20:08,380 --> 00:20:08,990 >> RENDBEN. 430 00:20:08,990 --> 00:20:10,031 És aki még mindig áll? 431 00:20:10,031 --> 00:20:11,000 Itt? 432 00:20:11,000 --> 00:20:14,520 46, nagyon szép. 433 00:20:14,520 --> 00:20:16,890 72. 434 00:20:16,890 --> 00:20:18,220 Nem elakad sokkal hosszabb. 435 00:20:18,220 --> 00:20:20,520 Igen? 436 00:20:20,520 --> 00:20:22,490 30, szép. 437 00:20:22,490 --> 00:20:24,120 Itt? 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 >> És azt hiszem, ez mindenki kivéve srácok, nincs nyomás. 441 00:20:30,920 --> 00:20:32,860 Ó várj. 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 Csak nyolc. 445 00:20:38,281 --> 00:20:38,780 RENDBEN. 446 00:20:38,780 --> 00:20:41,030 Csak nyolc. 447 00:20:41,030 --> 00:20:42,580 Itt lenn? 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 Ez a legrosszabb végrehajtása Ennek az algoritmusnak valaha. 454 00:20:54,690 --> 00:20:55,190 RENDBEN. 455 00:20:55,190 --> 00:20:59,760 Tehát bárki más? 456 00:20:59,760 --> 00:21:00,421 Bárki más? 457 00:21:00,421 --> 00:21:00,920 RENDBEN. 458 00:21:00,920 --> 00:21:03,300 Még egy. 459 00:21:03,300 --> 00:21:04,400 16? 460 00:21:04,400 --> 00:21:04,900 RENDBEN. 461 00:21:04,900 --> 00:21:05,510 16. 462 00:21:05,510 --> 00:21:06,010 Rendben. 463 00:21:06,010 --> 00:21:09,070 Tehát, ha én nem fogadott senkit a vakító itt, mikor nyomja meg az Enter, 464 00:21:09,070 --> 00:21:13,091 látni fogjuk, algoritmikusan, a összlétszáma Sanders. 465 00:21:13,091 --> 00:21:16,340 Mert megint olyan, mintha mindenki ahogy leült, letette a szám ki 466 00:21:16,340 --> 00:21:19,215 másnak, másnak, másnak, így elméletileg 467 00:21:19,215 --> 00:21:22,304 A végén csak egy kényelmetlen személyt kell maradt állva. 468 00:21:22,304 --> 00:21:22,970 De ez rendben van. 469 00:21:22,970 --> 00:21:24,290 Mi felgyorsította a dolgokat kézzel. 470 00:21:24,290 --> 00:21:27,590 Ez különösen nehéz észrevenni ebben a konkrét térben. 471 00:21:27,590 --> 00:21:34,200 >> És az összes száma úgy gondoljuk, itt 546. 472 00:21:34,200 --> 00:21:37,330 A teljes szám voltam kezes A tanítás fickók, 473 00:21:37,330 --> 00:21:40,660 aki csinálta a régi iskola lassú út, 820. 474 00:21:40,660 --> 00:21:43,660 >> [NEVETÉS] 475 00:21:43,660 --> 00:21:47,170 >> [TAPS] 476 00:21:47,170 --> 00:21:48,670 >> Rendben van. 477 00:21:48,670 --> 00:21:50,740 Így bizony, vannak ezek a hibák. 478 00:21:50,740 --> 00:21:51,460 És ez jó. 479 00:21:51,460 --> 00:21:53,810 És így gondolt vissza ez Az első alkalommal valami 480 00:21:53,810 --> 00:21:55,420 írsz nem feltétlenül működik. 481 00:21:55,420 --> 00:21:57,620 Ez történt velem, itt is. 482 00:21:57,620 --> 00:22:00,844 De nézzük most már úgy, hogy hogyan tudnánk ezt ugyanaz a gondolat, hogy valami 483 00:22:00,844 --> 00:22:03,760 lehet, hogy nem látott, ami ez a régi iskola technológia here-- 484 00:22:03,760 --> 00:22:05,130 egy igazán nagy telefonkönyv. 485 00:22:05,130 --> 00:22:09,380 És tegyük fel, hogy ez a telefon könyvet 1.000 oldalak és 1000 nevek 486 00:22:09,380 --> 00:22:11,360 és számokat betűrendben belsejébe. 487 00:22:11,360 --> 00:22:14,860 >> Nos, mi is egyfajta alkalmazhat hasonló ötlet, hogy ezt a nagyon fizikai probléma, 488 00:22:14,860 --> 00:22:16,270 csak használ nekem. 489 00:22:16,270 --> 00:22:18,810 Én csak ilyen csalt kihasználva mindannyian 490 00:22:18,810 --> 00:22:23,240 A sok-sok különböző CPU vagy agya végrehajtó valamilyen algoritmus. 491 00:22:23,240 --> 00:22:25,440 De ha csak kevés öreg, én is 492 00:22:25,440 --> 00:22:29,630 tőkeáttétel, hogy ugyanaz a lényege egy ötlet osztódó és hódító, hogy a probléma 493 00:22:29,630 --> 00:22:32,970 újra és újra, miközben a fele van, fele van, a felét akkor, félig van, 494 00:22:32,970 --> 00:22:35,830 elméletileg tartott ülve, amíg mi maradt, elméletileg, 495 00:22:35,830 --> 00:22:36,990 csak egy személy. 496 00:22:36,990 --> 00:22:39,810 >> Tehát ebben a régi iskola technology-- mi nem 497 00:22:39,810 --> 00:22:43,030 szüksége van erre map-- ezt régi iskola technológia, 498 00:22:43,030 --> 00:22:47,300 lehet kezdeni keres valakit szeretem Mike Smith, az egyik oldalon egy időben. 499 00:22:47,300 --> 00:22:49,410 És látom, hogy nem, Mike nincs itt. 500 00:22:49,410 --> 00:22:51,110 Én még mindig az A szakaszban. 501 00:22:51,110 --> 00:22:53,900 Végül találok magam a B részben. 502 00:22:53,900 --> 00:22:56,910 És ez egy algorithm-- lépésről-lépésre oktatás. 503 00:22:56,910 --> 00:22:59,890 Kezdd az elején, és az egyik oldalon egy időben, keresse meg Mike Smith. 504 00:22:59,890 --> 00:23:03,410 Ez correct-- ezt algoritmus, vagy a megközelítés? 505 00:23:03,410 --> 00:23:04,550 >> Igen, ez a helyes. 506 00:23:04,550 --> 00:23:06,840 Ha Mike itt van, végül Hozok neki. 507 00:23:06,840 --> 00:23:08,139 De ez nem hatékony. 508 00:23:08,139 --> 00:23:09,180 Ez nyilvánvalóan nagyon lassú. 509 00:23:09,180 --> 00:23:11,340 Szóval ki tudják használni a azonos twosies megközelíteni. 510 00:23:11,340 --> 00:23:15,350 Meg tudom csinálni a fajta két, négy, hat, nyolc, 10, 12. 511 00:23:15,350 --> 00:23:16,330 Ez kétszer olyan gyorsan. 512 00:23:16,330 --> 00:23:18,290 Megyek, hogy Mike gyorsabb, ha ott van. 513 00:23:18,290 --> 00:23:20,770 Ez a helyes? 514 00:23:20,770 --> 00:23:22,320 Igen, de hallottam egy little-- nincs. 515 00:23:22,320 --> 00:23:24,200 Most hallottam egy nem. 516 00:23:24,200 --> 00:23:24,700 Igen. 517 00:23:24,700 --> 00:23:26,190 Van egy hiba lehetséges. 518 00:23:26,190 --> 00:23:29,374 Talán Mike csak véletlenül kap szendvics két oldalt, 519 00:23:29,374 --> 00:23:31,290 mert én átrepült ez a két egy időben. 520 00:23:31,290 --> 00:23:33,580 Így legalább van szükségünk egyfajta feltételes fix. 521 00:23:33,580 --> 00:23:35,330 Azt kell mondani, hogy hé, ha megüt valakit, akinek a 522 00:23:35,330 --> 00:23:39,190 név kezdődik a T helyett S, Jobb visszakanyarodik legalább egy oldalt. 523 00:23:39,190 --> 00:23:40,767 Tehát hibás az első, de javítható. 524 00:23:40,767 --> 00:23:43,850 De egyikünk sem fog keresni Mike Smith egy 1000 oldal telefon 525 00:23:43,850 --> 00:23:45,290 könyv az egyik oldalon egy időben. 526 00:23:45,290 --> 00:23:48,486 Mi az a normális ember fog csinálni? 527 00:23:48,486 --> 00:23:50,860 Fogsz menni a S, ha tudja, hol az S. 528 00:23:50,860 --> 00:23:54,230 Lehet, hogy megy nagyjából a közepén vagy kissé ferde a vége felé. 529 00:23:54,230 --> 00:23:56,850 És nézek le, és Én az M rész. 530 00:23:56,850 --> 00:23:58,952 De mit tud ez a probléma most, 531 00:23:58,952 --> 00:24:02,160 hogy nem feltétlenül tudja, mielőtt mindannyiunkkal csak számolás magunkat 532 00:24:02,160 --> 00:24:03,030 azzal egyenértékű? 533 00:24:03,030 --> 00:24:06,010 Nos, Mike egyértelműen megy hogy ebben a fele a könyv 534 00:24:06,010 --> 00:24:07,920 ha itt van egyáltalán, mert ez rendezve. 535 00:24:07,920 --> 00:24:10,160 >> És így akkor nagyon dramatically-- 536 00:24:10,160 --> 00:24:11,250 >> [Ziháló] 537 00:24:11,250 --> 00:24:12,300 >> Tudom. 538 00:24:12,300 --> 00:24:16,940 >> [TAPS] 539 00:24:16,940 --> 00:24:19,450 >> Ez valójában nagyon egyszerű, ha te le a gerinc van. 540 00:24:19,450 --> 00:24:22,070 De akkor majd dobni fele a probléma van. 541 00:24:22,070 --> 00:24:25,950 Most, én elhagyta az azonos problem-- megtalálja Mike Smith egy telefon book-- 542 00:24:25,950 --> 00:24:29,610 de most a telefonkönyvben kezdődik M és megy Z, de fele olyan nagy. 543 00:24:29,610 --> 00:24:30,890 >> De ez az, ami lenyűgöző. 544 00:24:30,890 --> 00:24:34,170 Csakúgy, mint elméletben, srácok, amikor mindannyian leültek csak fél egy időben, 545 00:24:34,170 --> 00:24:37,150 A probléma egy fél akkora, fele akkora, újra és újra. 546 00:24:37,150 --> 00:24:40,260 Így már ez a probléma lett a Ugyanez a probléma, hanem a fele akkora. 547 00:24:40,260 --> 00:24:42,670 Most egy 250 oldalas probléma. 548 00:24:42,670 --> 00:24:45,340 Amint látom, ó, én A T-alakú véletlenül. 549 00:24:45,340 --> 00:24:46,590 Már túl messzire ment. 550 00:24:46,590 --> 00:24:48,500 Tudok dobni, hogy fél A telefonkönyv-re található. 551 00:24:48,500 --> 00:24:50,410 Nos, nem vagyok le egy negyede a probléma. 552 00:24:50,410 --> 00:24:53,910 >> És akkor ismételje meg, ismételje meg, ismételjük, amíg elméletben, te 553 00:24:53,910 --> 00:24:55,460 maradt csak egy oldalon. 554 00:24:55,460 --> 00:24:59,010 És ha Mike az oldalon, Most már megoldani ezt a problémát. 555 00:24:59,010 --> 00:25:00,810 De milyen gyorsan tettem megoldani? 556 00:25:00,810 --> 00:25:05,420 Az első esetben, hogy elvitt, mint talán 1000 lépéseket, hogy megtalálja Mike Smith. 557 00:25:05,420 --> 00:25:09,260 Lehet volna me-- Felvettem a telefonkönyvben 558 00:25:09,260 --> 00:25:11,440 és elkezdtem keresni egy oldalt egy időben, 559 00:25:11,440 --> 00:25:13,480 és Mike lehet 1000 oldalt később. 560 00:25:13,480 --> 00:25:16,020 >> Második megközelítés talán elvisz 500 lépésben, 561 00:25:16,020 --> 00:25:17,960 mert repülök a két egy időben. 562 00:25:17,960 --> 00:25:21,082 És a harmadik megközelítés azonban, ez különösen erőteljes. 563 00:25:21,082 --> 00:25:23,790 De nézzük meg, amit valójában tette ezt a harmadik megközelítés. 564 00:25:23,790 --> 00:25:27,590 Szólok, hogy mit fogok hívni éppen ezeket nyilatkozatok itt, egyesével. 565 00:25:27,590 --> 00:25:28,560 Vedd fel a telefonkönyvet. 566 00:25:28,560 --> 00:25:30,130 Nyitott a közepén a telefonkönyvben. 567 00:25:30,130 --> 00:25:31,419 Nézd nevek. 568 00:25:31,419 --> 00:25:33,960 Aztán a dolgok egy kicsit intellektuálisan érdekes, 569 00:25:33,960 --> 00:25:35,170 Ha még mindig egyszerű. 570 00:25:35,170 --> 00:25:38,350 Ha Smith az egyik neveket, hogy a jelenlegi oldalon 571 00:25:38,350 --> 00:25:40,170 aztán valami feltételesen. 572 00:25:40,170 --> 00:25:41,840 Ez olyan, mint egy villát az úton. 573 00:25:41,840 --> 00:25:42,660 Hívja Mike. 574 00:25:42,660 --> 00:25:44,930 Ha Mike nevek között azon az oldalon, az úgynevezett Mike. 575 00:25:44,930 --> 00:25:49,720 De csak ezt vonal esetén négy vonal fa, ha úgy tetszik, az igaz. 576 00:25:49,720 --> 00:25:51,590 A válasz erre a kérdésre: igen. 577 00:25:51,590 --> 00:25:55,520 >> Különben, ha Smith korábban a book-- Más szavakkal, ha én az M rész 578 00:25:55,520 --> 00:25:58,540 és én keresek valakit, aki A bal oldalon, akkor mit kell tennem 579 00:25:58,540 --> 00:26:00,300 valami nagyon hasonló. 580 00:26:00,300 --> 00:26:03,440 Aztán meg kell nyitni, hogy a középső A bal fele a könyv. 581 00:26:03,440 --> 00:26:07,930 Tehát menj balra, majd menjen vissza a második lépésre. 582 00:26:07,930 --> 00:26:09,290 Nézd meg a neveket is. 583 00:26:09,290 --> 00:26:12,779 >> Más szóval, nem ugyanaz a dolog, de a probléma, hogy a már a felére csökkent. 584 00:26:12,779 --> 00:26:13,570 Tudod mit? 585 00:26:13,570 --> 00:26:16,470 Ha Smith később a könyv oldal alapján nézem, 586 00:26:16,470 --> 00:26:18,790 nyitott, hogy a közepén a jobb fele a könyv 587 00:26:18,790 --> 00:26:22,050 majd menj vissza a második lépésre, else-- 588 00:26:22,050 --> 00:26:24,000 van egy negyedik lehetőséget itt. 589 00:26:24,000 --> 00:26:28,830 Mike sem itt, sem balra vagy jobbra, vagy sem. 590 00:26:28,830 --> 00:26:30,570 És itt jobban figyelembe ezt. 591 00:26:30,570 --> 00:26:33,360 És valóban, ha valaha is volt A számítógép csak összeomlik rád, 592 00:26:33,360 --> 00:26:36,822 hogy néha, de nem mindig, a eredményeként csak egy ember programozó nem 593 00:26:36,822 --> 00:26:39,280 felismerve, oh lőni, van valójában ez a negyedik forgatókönyv. 594 00:26:39,280 --> 00:26:41,650 És ha nem írom kód kezelni, hogy a forgatókönyv, 595 00:26:41,650 --> 00:26:43,220 néha nem tudja, amit a számítógép lehet csinálni. 596 00:26:43,220 --> 00:26:44,770 És valóban a program esetleg összeomlik. 597 00:26:44,770 --> 00:26:47,550 >> De ebben az esetben, azt hittem, róla, és azt mondtam, mást kilép, 598 00:26:47,550 --> 00:26:49,850 mert ez a negyedik logikai lehetséges forgatókönyv. 599 00:26:49,850 --> 00:26:51,950 Most nézzük csak add Néhány szókincs így 600 00:26:51,950 --> 00:26:55,320 lehet kezdeni, hogy dobálják körül kifejezések egyébként elég intuitív. 601 00:26:55,320 --> 00:26:57,870 Minden olyan dolog, amit csak én sárga színnel van, 602 00:26:57,870 --> 00:27:00,140 Én csak megy, hogy a funkciók vagy eljárásokat. 603 00:27:00,140 --> 00:27:01,590 Ők csak ilyen akciókat. 604 00:27:01,590 --> 00:27:04,900 Tehát vedd fel, nyitott, nézd A, hívás, nyitott, nyitott, 605 00:27:04,900 --> 00:27:09,170 quit-- ezek csak akciók, vagy mi hívják őket formálisan, funkciókat. 606 00:27:09,170 --> 00:27:11,410 >> Közben most sárga, Amit kiemelt dolgok 607 00:27:11,410 --> 00:27:14,084 hogy-- nézzük csak elkezd hívás azokat feltételek vagy ágakat. 608 00:27:14,084 --> 00:27:16,750 Ezek döntési pontokat, ahol lehet, hogy ezt az utat, így, 609 00:27:16,750 --> 00:27:18,100 vagy valamilyen más irányba is. 610 00:27:18,100 --> 00:27:19,430 Tehát azok lesznek feltételeket. 611 00:27:19,430 --> 00:27:20,930 És most ez az ember egy kicsit cifrább. 612 00:27:20,930 --> 00:27:24,600 Nevezzük ezeket a kérdéseket Logikai kifejezések, 613 00:27:24,600 --> 00:27:26,530 miután valaki egy vezetéknevet Bool. 614 00:27:26,530 --> 00:27:28,340 >> És a logikai kifejezés csak valami 615 00:27:28,340 --> 00:27:30,290 ez igaz vagy hamis, igen vagy nem. 616 00:27:30,290 --> 00:27:35,870 Tehát az a kérdés, amelynek válasz, törődnek, oly módon, hogy olyan állapotban 617 00:27:35,870 --> 00:27:39,210 hogy egy decision-- kap vissza a választ, majd menj balra vagy jobbra, vagy valami 618 00:27:39,210 --> 00:27:40,450 más teljesen. 619 00:27:40,450 --> 00:27:42,860 >> És akkor végül, ezek vonalak here-- visszamenni 620 00:27:42,860 --> 00:27:44,737 a második lépésre, menjen vissza lépéssel two-- tudtunk 621 00:27:44,737 --> 00:27:46,320 végrehajtja ezt az ötletet különböző módon. 622 00:27:46,320 --> 00:27:49,028 És akkor azoknak, a programozási tapasztalat tette volna 623 00:27:49,028 --> 00:27:50,670 vagy lehet képzelni ezt másképp. 624 00:27:50,670 --> 00:27:53,170 De a mai célból, hogy Csak a gondolat, hogy számít. 625 00:27:53,170 --> 00:27:55,400 Ez arra készteti, hogy mit mi általában hívni 626 00:27:55,400 --> 00:28:00,110 egy loop-- valamilyen ciklus, mert ez így nekem nem valami újra. 627 00:28:00,110 --> 00:28:03,340 >> Tehát most, nézzük csak úgy mennyire jó ez az algoritmus. 628 00:28:03,340 --> 00:28:03,899 Ez a helyes. 629 00:28:03,899 --> 00:28:06,940 Ha Mike a könyv, ez az egyik E négy scenarios-- újra és újra 630 00:28:06,940 --> 00:28:08,023 és újra, meg fogjuk találni. 631 00:28:08,023 --> 00:28:08,890 De milyen jó ez? 632 00:28:08,890 --> 00:28:10,150 Nos, nincs túl formális itt. 633 00:28:10,150 --> 00:28:12,066 De nézzük csak a telek valamit, X és Y, hogy 634 00:28:12,066 --> 00:28:14,470 egyfajta alakja ezt a problémát. 635 00:28:14,470 --> 00:28:17,160 >> Az x-tengely itt mérete a probléma. 636 00:28:17,160 --> 00:28:20,256 És egy y-tengelyen van lesz az idő, hogy megoldja. 637 00:28:20,256 --> 00:28:21,630 Lehet, hogy ez az oldalak számát. 638 00:28:21,630 --> 00:28:24,400 Lehet, hogy ez másodperc vagy oldal turns-- bármi. 639 00:28:24,400 --> 00:28:27,290 Azonban szeretné számolni az mi ez a kép jelenik meg. 640 00:28:27,290 --> 00:28:30,630 És az első algoritmus, megyek leírni, mint csak egy egyenes vonal. 641 00:28:30,630 --> 00:28:33,120 Ha van n oldalak A telefonkönyv, akkor 642 00:28:33,120 --> 00:28:36,010 Lehet, hogy nekem annyi n lépéseket, hogy megtalálja Mike. 643 00:28:36,010 --> 00:28:38,930 Ha a Verizon vagy a telefontársaság Hozzáteszi még egy oldal a következő évben, 644 00:28:38,930 --> 00:28:42,170 ez eltarthat még egyet step-- egy további elemmel időt találni Mike. 645 00:28:42,170 --> 00:28:44,230 Tehát csak ez 1-1 arányban. 646 00:28:44,230 --> 00:28:45,970 Ez egy egyenes vonal meredeksége. 647 00:28:45,970 --> 00:28:49,110 >> Közben a második algorithm-- ha én vagyok 648 00:28:49,110 --> 00:28:51,570 megy kettesével time-- két, négy, hat, nyolc, vagy double-- 649 00:28:51,570 --> 00:28:54,550 megy át a lapokat kétszer egy időben, két egy időben, 650 00:28:54,550 --> 00:28:55,710 ez még mindig egyenes. 651 00:28:55,710 --> 00:28:58,720 Van most egy 1-2 arány, de csak egy kicsit alacsonyabb. 652 00:28:58,720 --> 00:29:02,240 Tehát, ha van ez a sok oldalt A diagram itt sárga, 653 00:29:02,240 --> 00:29:04,800 amelyek engem ez sok lépést vagy másodperc, 654 00:29:04,800 --> 00:29:07,980 különben ez megy, hogy vigyen kétszer annyi a piros vonal. 655 00:29:07,980 --> 00:29:10,190 >> De a zöld vonal az igazi elvihető. 656 00:29:10,190 --> 00:29:12,290 Ez az, amit általában hívjon logorithm-- log 657 00:29:12,290 --> 00:29:13,840 N, ahol n az oldalak számát. 658 00:29:13,840 --> 00:29:16,450 De ez a forma, ami számít ma, mert nincs 659 00:29:16,450 --> 00:29:17,950 hogy még gondolni cselszövés pont. 660 00:29:17,950 --> 00:29:19,830 >> Gondolj egy szélsőséges forgatókönyv. 661 00:29:19,830 --> 00:29:23,070 Tegyük fel, hogy a Verizon holnap megduplázza az Az oldalak számát, hogy telefonkönyv, 662 00:29:23,070 --> 00:29:24,900 1000-től 2000. 663 00:29:24,900 --> 00:29:28,440 Az első algoritmust, I Lehet pazarolja extra 1000 664 00:29:28,440 --> 00:29:32,080 lépéseket keres Mike, csak azért, mert Verizon megduplázódott a méret a könyv. 665 00:29:32,080 --> 00:29:34,740 A második algorithm-- ez is előfordulhat vigyél egy extra 500 lépésre. 666 00:29:34,740 --> 00:29:38,370 1000 további oldalak, megyek a két egy time-- 500 lépést kell találni Mike. 667 00:29:38,370 --> 00:29:41,020 >> De ez a harmadik algoritmus egyfajta mágikus. 668 00:29:41,020 --> 00:29:44,270 Verizon megduplázza száma oldalak 1000 és 2000, 669 00:29:44,270 --> 00:29:47,730 de hány lépést tesz ez engem keresni Mike? 670 00:29:47,730 --> 00:29:51,220 Ez csak az egyik, mert én is csak szakadás a telefonkönyvben még egyszer 671 00:29:51,220 --> 00:29:55,280 Egy 2000 oldal probléma, hogy egy 1000 oldal probléma, és íme. 672 00:29:55,280 --> 00:29:57,030 Vettem egy hatalmas falatot belőle. 673 00:29:57,030 --> 00:29:59,405 >> És ha megy nagyon szélsőséges, Tegyük fel, hogy a telefonkönyvben 674 00:29:59,405 --> 00:30:03,600 cég volt valami őrült, mint a 4000000000 oldal telefonkönyvben. 675 00:30:03,600 --> 00:30:07,020 Nos hány lépést lehet tart találni Mike Smith egy 4000000000 676 00:30:07,020 --> 00:30:09,990 oldal telefonkönyv? 677 00:30:09,990 --> 00:30:16,450 Ez egy nagy szám, de mindössze 4 milliárd 2000000000-1000000000, hogy 500 millió 678 00:30:16,450 --> 00:30:18,720 250 million-- még hangzik nagy számok, 679 00:30:18,720 --> 00:30:20,980 de én nagyon gyorsan egyre kisebb értéket. 680 00:30:20,980 --> 00:30:24,790 >> És valóban, ha a matek Rendben, én csak osztani 4000000000 681 00:30:24,790 --> 00:30:28,750 nagyjából 32-szer, mielőtt Kapok le, hogy csak egy. 682 00:30:28,750 --> 00:30:31,640 Tehát ha telefonkönyv-ben 4 milliárd oldalt hosszú, nem nagy ügy. 683 00:30:31,640 --> 00:30:35,270 Néhány másodpercen belül, talán 32 másodperc, tudtam osztani félbe 684 00:30:35,270 --> 00:30:39,560 és végül megtalálja Mike vagy következtetni, hogy nincs ott. 685 00:30:39,560 --> 00:30:42,219 És ez a lényege egy algorithm-- jó algoritmus. 686 00:30:42,219 --> 00:30:44,260 És ez az egyik célok egy osztály, mint ez, 687 00:30:44,260 --> 00:30:47,350 megpróbálja kitalálni, hogyan tudom a probléma megoldására nem csak helyesen, 688 00:30:47,350 --> 00:30:52,360 mint mindig tudta, hogyan kell csinálni egy oldalanként time--, de helyesen és jól. 689 00:30:52,360 --> 00:30:55,034 Hogyan tervezzen jó megoldásokat a problémákra? 690 00:30:55,034 --> 00:30:57,200 Szóval vessünk egy pillanatra és kapsz egy értelme most 691 00:30:57,200 --> 00:31:00,260 A CS50 során itself-- bevezetésére Néhány tanfolyam személyzet tagjai. 692 00:31:00,260 --> 00:31:02,010 Mielőtt 02:00 választja, akkor hogy egy rövid szünetet 693 00:31:02,010 --> 00:31:03,520 így, hogy azok, akik vásárolni is 694 00:31:03,520 --> 00:31:05,130 kacsa, és hogy egy nézd meg egy másik osztály 695 00:31:05,130 --> 00:31:06,580 és nézni a többi online. 696 00:31:06,580 --> 00:31:09,250 De most, hadd mutassam be CS50, az osztály is, 697 00:31:09,250 --> 00:31:11,330 és különösen mi az új. 698 00:31:11,330 --> 00:31:13,960 >> Így a múlt tavasszal, mi töltött egy kicsit a time-- 699 00:31:13,960 --> 00:31:17,911 során munkatársai és én-- gondolkodás hogy mi ez akarunk CS50 lenni, 700 00:31:17,911 --> 00:31:19,910 és megy vissza az első elvek, hogy úgy mondjam, 701 00:31:19,910 --> 00:31:22,760 vizsgálni, mi az akarunk ez persze, hogy néz ki, és 702 00:31:22,760 --> 00:31:23,740 mint a diákok. 703 00:31:23,740 --> 00:31:26,480 És így látni fogja a problémát beállított nulla, egy meghívást 704 00:31:26,480 --> 00:31:28,780 hogy megnézzük, hogy URL, amely összefoglalja 705 00:31:28,780 --> 00:31:33,270 néhány motivációi következő jellemzőkkel esik 2016. 706 00:31:33,270 --> 00:31:35,570 >> Tehát ahogy azt esetleg leszűrhető A TL: DR tájékoztatót, 707 00:31:35,570 --> 00:31:39,060 A tananyag ma, valamint a A tanfolyam katalógus, idén CS50, 708 00:31:39,060 --> 00:31:42,540 te csak várnak today-- így munkát is done-- 709 00:31:42,540 --> 00:31:45,960 és az utolsó előadás november 21. 710 00:31:45,960 --> 00:31:49,150 És szívesen, de nem várható, hogy részt vesznek ezek az előadások a közepén, 711 00:31:49,150 --> 00:31:51,180 mert mit csinálunk ebben az évben, forgat 712 00:31:51,180 --> 00:31:52,661 valós időben a pálya anyag. 713 00:31:52,661 --> 00:31:54,660 Tehát minden marad jelenlegi és beépített 714 00:31:54,660 --> 00:31:57,410 a lehető legjobban tudjuk can-- aktuális események és beszélgetések, hogy az emberek esetleg 715 00:31:57,410 --> 00:32:00,400 hogy miután az iparban a világ, de így, hogy az anyag 716 00:32:00,400 --> 00:32:03,892 áll rendelkezésre, ennek eredményeként, még earlier-- között teljes szövegben átiratok 717 00:32:03,892 --> 00:32:05,850 és kereshetőség és linkek más források. 718 00:32:05,850 --> 00:32:07,930 >> És valóban, mi már azt állítva, egy ideig 719 00:32:07,930 --> 00:32:10,830 és mi most ezt hinni, hogy mi is létrehozhatunk, digitálisan, 720 00:32:10,830 --> 00:32:15,170 egy magával ragadó, vonzóbb oktatási tapasztalat, szemben 721 00:32:15,170 --> 00:32:19,110 összegyűjtése itt néhány 23 alkalommal személyesen hallani valaki, mint én, 722 00:32:19,110 --> 00:32:22,925 Egyszerűen beszélni számítástechnika, szemben folytatott aktívabb. 723 00:32:22,925 --> 00:32:25,800 Így látni fogod a tanfolyam tematikája egy vázlatot a félév itt, 724 00:32:25,800 --> 00:32:27,840 együtt, amikor az előadások filmre, amelyre te 725 00:32:27,840 --> 00:32:29,710 örvendetes, de nem várható, és mikor 726 00:32:29,710 --> 00:32:31,640 megjelenni a pályán honlapján. 727 00:32:31,640 --> 00:32:34,300 >> És mit fogunk csinálni itt Szerdán jövő héten kezdődő, 728 00:32:34,300 --> 00:32:37,362 sokkal több szorosan, csak ilyen emberek, akik szeretnének részt venni, 729 00:32:37,362 --> 00:32:39,820 egy úgynevezett séta, ahol I és a pálya fejek 730 00:32:39,820 --> 00:32:41,730 valóban a dolgok egy kicsit intimebb 731 00:32:41,730 --> 00:32:44,313 idelent a zenekarban rész, még mindig van néhány technológia 732 00:32:44,313 --> 00:32:46,365 és séta a jelenlegi heti probléma készlet, 733 00:32:46,365 --> 00:32:50,020 és kínál particularly-- ha között a kevésbé comfortable-- annál 734 00:32:50,020 --> 00:32:52,790 útmutatást, hogy érdemes, vagy szükség van a heti kihívás. 735 00:32:52,790 --> 00:32:55,820 És hasonlóképpen, azok számára, akik nem tudnak vett részt a személyesen, nem nagy ügy. 736 00:32:55,820 --> 00:32:58,486 Lesz hasonlóan vezeti az egyik természetesen a vezető beosztású alkalmazottak, 737 00:32:58,486 --> 00:33:02,650 Zamalya, ugyanezt a lehetőséget a beágyazott A probléma határozza magukat. 738 00:33:02,650 --> 00:33:04,960 >> Probléma állítja idén fog megjelenni pénteken 739 00:33:04,960 --> 00:33:08,080 és többé nem hét nappal később, de 10 nap later-- szándékosan 740 00:33:08,080 --> 00:33:10,910 lefedi az egyes probléma állítva, hogy jobban igazodjon, 741 00:33:10,910 --> 00:33:13,050 reméljük, árapály a hallgatói menetrendek, 742 00:33:13,050 --> 00:33:16,550 különösen akkor, ha midterms, atlétikai vagy akadémiai vagy extracurriculars 743 00:33:16,550 --> 00:33:18,465 hajlamosak jönnek és mennek különösen félévközi. 744 00:33:18,465 --> 00:33:21,340 Hogy meg kell adni egy kicsit mérlegelheti, hogy Ön előtt 745 00:33:21,340 --> 00:33:25,690 betölteni a héten CS50 vagy hátsó terhelés azt a következő hétvégén helyett. 746 00:33:25,690 --> 00:33:28,817 Így néz a tanfolyam tematikája Itt a menetrend tartalmazza. 747 00:33:28,817 --> 00:33:30,900 És akkor észre is körében A változások ebben az évben, 748 00:33:30,900 --> 00:33:34,082 azok jobban ismerik programozás a múltban, 749 00:33:34,082 --> 00:33:36,290 kezdjük a szemeszter mi lesz ma Scratch, 750 00:33:36,290 --> 00:33:39,730 összpontosítani, különösen a nyelv úgynevezett C hőmérsékleten, majd átmenet nem 751 00:33:39,730 --> 00:33:43,430 PHP, hanem egy nyelv úgynevezett Python vége felé a félév 752 00:33:43,430 --> 00:33:46,565 keretében webes programozás, együtt a SQL és JavaScript, 753 00:33:46,565 --> 00:33:48,930 HTML, CSS, és még több. 754 00:33:48,930 --> 00:33:51,790 >> És válaszolva egy FAQ, ez valóban így van 755 00:33:51,790 --> 00:33:55,520 hogy a CS nem olyan ijesztő, mint én egyszer azt hitte, hogy, de ez a sok munka, 756 00:33:55,520 --> 00:33:57,280 ahogy hallottam, hogy az lehet. 757 00:33:57,280 --> 00:34:03,210 De ez a szó, hogy itt van néhány statisztikákat ősz 2015 hallgatói szervezet, 758 00:34:03,210 --> 00:34:06,460 ahol a vízszintes kék vonal képviseli az átlagos órák száma 759 00:34:06,460 --> 00:34:06,960 jelentett. 760 00:34:06,960 --> 00:34:10,570 És meglátja átlagosan hat 10 12-- talán 16 761 00:34:10,570 --> 00:34:14,580 vagy úgy, és így tovább, de nagy szórás, egyértelmű. 762 00:34:14,580 --> 00:34:18,570 És így észre, hogy nem csak a diákok kényelmesebbé és kevésbé 763 00:34:18,570 --> 00:34:22,150 Kényelmes során, de a megfelelő támogatást 764 00:34:22,150 --> 00:34:25,699 struktúra, hogy azok a diákok, a félév sikeres. 765 00:34:25,699 --> 00:34:29,409 >> Valóban, a válasz egy FAQ, amennyiben veszel CS50, mint az első évben? 766 00:34:29,409 --> 00:34:30,139 Teljesen. 767 00:34:30,139 --> 00:34:32,690 És valóban, én sajnálom nem találta az utam 768 00:34:32,690 --> 00:34:35,170 vagy talált egy új területen hogy az első évben is. 769 00:34:35,170 --> 00:34:39,149 És ha figyelembe CS50 a egyéb tanfolyamok, természetesen a well-- 770 00:34:39,149 --> 00:34:41,940 és az általános tanács, amit talán hogy a diákok, hogy CS50 valószínűleg 771 00:34:41,940 --> 00:34:44,929 Nem az a fajta osztály vagy intro osztály hogy ha kell, három 772 00:34:44,929 --> 00:34:47,199 Más vagy négy másik p-set osztályok. 773 00:34:47,199 --> 00:34:50,583 De ha vesz két másik p-set osztályok, valami mást, és CS50, 774 00:34:50,583 --> 00:34:51,499 teljesen kezelhető. 775 00:34:51,499 --> 00:34:54,900 Elegem sok diák a már megtette elég sikeresen. 776 00:34:54,900 --> 00:34:57,490 >> És neked felé, hogy célvonalon sikeresen, 777 00:34:57,490 --> 00:35:00,260 nak a természetesen sections-- különböző pályákon a diákok 778 00:35:00,260 --> 00:35:03,100 kevésbé kényelmes, kényelmesebb, és valahol a kettő között, 779 00:35:03,100 --> 00:35:04,850 amelynek során a első probléma készlet, 780 00:35:04,850 --> 00:35:06,360 meg kell adnia, hogy leírja magát. 781 00:35:06,360 --> 00:35:09,151 És ha azok közé tartozik, kevésbé Kényelmes, ez a fajta dolog 782 00:35:09,151 --> 00:35:10,420 hogy inkább csak tudja. 783 00:35:10,420 --> 00:35:13,010 És valóban, ez volt a fokozódó demográfiai a CS50 784 00:35:13,010 --> 00:35:14,090 még jó néhány évig. 785 00:35:14,090 --> 00:35:17,680 >> Ahogy a múlt ősszel Például, 58% az osztály 786 00:35:17,680 --> 00:35:20,560 le magukat azok között, kevésbé kényelmes, 787 00:35:20,560 --> 00:35:23,210 9% azok között több kényelmes, majd 788 00:35:23,210 --> 00:35:25,900 A többi diák ott piros, amely magát 789 00:35:25,900 --> 00:35:27,890 Valahol a kettő között. 790 00:35:27,890 --> 00:35:31,980 És meglátja itt a téma átfogó és ütemezése a szakaszok, amelyek mindegyike 791 00:35:31,980 --> 00:35:34,820 kínálnak személyesen, valós időben, a pálya 792 00:35:34,820 --> 00:35:38,320 csodálatos személyzet tanítási társaik és persze asszisztensek, akik közül néhányan 793 00:35:38,320 --> 00:35:39,660 akkor felel meg egy pillanat. 794 00:35:39,660 --> 00:35:42,993 >> Szakaszok magukat, mint látni fogod, majd lehet hétfőn és kedden és szerdán, 795 00:35:42,993 --> 00:35:45,910 oly módon, hogy lehetővé teszi, hogy merüljön után megnyerő, ha úgy 796 00:35:45,910 --> 00:35:48,110 választani, a tanfolyam előadás korábban azon a héten. 797 00:35:48,110 --> 00:35:51,420 És akkor munkaidőben, amely biztosan, évről évre, 798 00:35:51,420 --> 00:35:54,110 nem lett volna kevesebb a megtámadható során. 799 00:35:54,110 --> 00:35:57,040 És ebben az évben, de tervezzük nem csak tisztségeket hours-- egy 800 00:35:57,040 --> 00:36:00,300 egyetlen lehetőséget segítség diákok szerdán csütörtökön 801 00:36:00,300 --> 00:36:03,790 és vasárnap, az utolsó olyan hogy délután tervezési 802 00:36:03,790 --> 00:36:06,910 hogy csökkentsék néhány, a stressz, hogy mindig felmerül a késő este 803 00:36:06,910 --> 00:36:10,180 p-megszabása határidővel looming-- de munkaidőn is kapható lesz 804 00:36:10,180 --> 00:36:14,920 hétfőn és kedden és Szerdán és pénteken és szombaton, 805 00:36:14,920 --> 00:36:17,080 köszönhetően barátaink a HSA. 806 00:36:17,080 --> 00:36:20,330 >> CS50 most már a saját tér a diákok és CS50 személyzet, 807 00:36:20,330 --> 00:36:23,070 tetején 67 Mount Auburn Street, ott a Harvard Square. 808 00:36:23,070 --> 00:36:26,340 Az elképzelés, amely szerint a CS50 TF és CA egész héten, 809 00:36:26,340 --> 00:36:29,052 nagyjából az egész leginkább nap, ott lesz a támogatásra. 810 00:36:29,052 --> 00:36:30,760 Tehát, ha van egy kis kérdés egy p-set 811 00:36:30,760 --> 00:36:33,093 vagy érzel egy kicsit blokkolt vagy egy kicsit zavaros, 812 00:36:33,093 --> 00:36:35,640 és fene, van egy óra, vagy fél óra osztályok között, 813 00:36:35,640 --> 00:36:38,920 különösen a square-- tud pop és erre a kérdésre válaszol 814 00:36:38,920 --> 00:36:41,720 Az van, hogy zavar clarified-- Nagyon sok a szellem, 815 00:36:41,720 --> 00:36:45,490 Ön ismeri, a matematikai osztály saját matematikai kérdés központ, 816 00:36:45,490 --> 00:36:49,300 de elég sok éjjel-nappal per [? Gcal?], Hogy meg fogjuk küldeni az interneten. 817 00:36:49,300 --> 00:36:52,400 >> Tutori is rendelkezésre áll azok számára, diákok, szabadon a pálya 818 00:36:52,400 --> 00:36:54,750 saját munkatársai, ha szeretne intim egy az egy, 819 00:36:54,750 --> 00:36:58,940 vagy két vagy három osztálytársai csak, dolgozó az egyik természetesen a személyzet tagjai. 820 00:36:58,940 --> 00:37:02,320 És valóban, ezek itt csak néhány természetesen munkatársainak, 821 00:37:02,320 --> 00:37:04,120 Néhány közülük azt is megtudhatod találkozik egy pillanatra. 822 00:37:04,120 --> 00:37:07,440 Tény, hogy a CS50 saját fej tanítás ember, 823 00:37:07,440 --> 00:37:09,790 és a fej természetesen asszisztens, és tanító, 824 00:37:09,790 --> 00:37:12,998 jöhet akár, hogy nekik köszönni. 825 00:37:12,998 --> 00:37:22,498 >> [TAPS] 826 00:37:22,498 --> 00:37:23,456 SPEAKER 1: [hallható]. 827 00:37:23,456 --> 00:37:51,842 828 00:37:51,842 --> 00:37:57,856 >> [TAPS] 829 00:37:57,856 --> 00:37:58,814 SPEAKER 2: [hallható]. 830 00:37:58,814 --> 00:38:17,240 831 00:38:17,240 --> 00:38:27,238 >> [TAPS] 832 00:38:27,238 --> 00:38:28,196 SPEAKER 3: [hallható]. 833 00:38:28,196 --> 00:38:58,951 834 00:38:58,951 --> 00:39:03,120 >> [TAPS] 835 00:39:03,120 --> 00:39:06,740 >> DAVID MALAN: És teszi számunkra, hogy hogy a fedélzeten két CS50 legnagyobb 836 00:39:06,740 --> 00:39:09,730 vezető beosztású alkalmazottak, Rob és Zamayla is. 837 00:39:09,730 --> 00:39:15,120 >> [TAPS] 838 00:39:15,120 --> 00:39:17,226 >> Valójában mindkét Rob és Zamayla már nálunk 839 00:39:17,226 --> 00:39:19,940 olyan sokáig, hogy képes voltam bemenni CS50 irattára 840 00:39:19,940 --> 00:39:22,470 és megtalálni ezt a nagyon SD felvételek közülük részt 841 00:39:22,470 --> 00:39:25,402 színpadi magukat néhány éve. 842 00:39:25,402 --> 00:39:26,110 ROB: [hallható]. 843 00:39:26,110 --> 00:39:53,660 844 00:39:53,660 --> 00:39:59,247 >> [TAPS] 845 00:39:59,247 --> 00:40:00,080 ZAMAYLA: [hallható] 846 00:40:00,080 --> 00:40:50,888 847 00:40:50,888 --> 00:40:52,467 >> [TAPS] 848 00:40:52,467 --> 00:40:53,425 DAVID MALAN: Köszönöm. 849 00:40:53,425 --> 00:40:56,160 850 00:40:56,160 --> 00:40:58,030 Tehát mellett ezeket csapat tagjai itt, 851 00:40:58,030 --> 00:41:01,662 CS50 egy csapat közel 100 személyzet tagjai, akik mind 852 00:41:01,662 --> 00:41:04,370 elérhető lesz szakaszok és irodai óra, és így sokkal több. 853 00:41:04,370 --> 00:41:06,920 És Rob azt mondja is, ez A legjelentősebb átalakítása 854 00:41:06,920 --> 00:41:09,534 A CS50 a 10 éve, hogy Voltam [hallható]. 855 00:41:09,534 --> 00:41:12,200 [Hallható] középpontjában különösen abban, hogy egy támogatási rendszer, 856 00:41:12,200 --> 00:41:14,050 vágás el sok az ömlesztett, hogy a már 857 00:41:14,050 --> 00:41:16,870 felhalmozott 10 éves Az iteratív fejlesztések 858 00:41:16,870 --> 00:41:18,120 A tanfolyam probléma készletek. 859 00:41:18,120 --> 00:41:21,470 >> Tehát ebben az évben, nem csak az osztályban, de formájában is a pálya problémája 860 00:41:21,470 --> 00:41:24,800 készletek, kell megtalálni a dolgokat lehet, egyszerűbbek, trimmer, sok 861 00:41:24,800 --> 00:41:26,700 könnyebben kezelhető, mint az elmúlt években, mint mi 862 00:41:26,700 --> 00:41:31,330 némi poggyász, ami által kifejlesztett jellege változó év 863 00:41:31,330 --> 00:41:32,970 év után ciklussal. 864 00:41:32,970 --> 00:41:35,110 Így az új és továbbfejlesztett ma kezdődik. 865 00:41:35,110 --> 00:41:37,860 >> Találkozhat, több Természetesen személyzete ki a [hallható] 866 00:41:37,860 --> 00:41:40,186 2:30, ahol szolgálunk, mint a hagyomány, torta. 867 00:41:40,186 --> 00:41:42,060 Van egy kicsit több sütemény mint az, de akkor 868 00:41:42,060 --> 00:41:44,690 találkozik Erin és Tóbiás és másokat is. 869 00:41:44,690 --> 00:41:46,470 És hadd adjak a túra előtt halljuk 870 00:41:46,470 --> 00:41:49,600 néhány a személyzet többi tagját az osztályban, mi vár is. 871 00:41:49,600 --> 00:41:52,730 Sőt, mi mindig kezdeni CS50 által félévben a jövő szombaton 872 00:41:52,730 --> 00:41:54,330 A mi úgynevezett CS50 puzzle Day. 873 00:41:54,330 --> 00:41:56,710 >> Ennek semmi köze a számítástechnika önmagában, 874 00:41:56,710 --> 00:41:58,669 de körülbelül probléma megoldása általában. 875 00:41:58,669 --> 00:42:01,210 És ha úgy dönt, hogy egyenek, egy néhány meghívók, 876 00:42:01,210 --> 00:42:03,460 lehet, hogy látta az ajtót leesett vagy a színpadon van, 877 00:42:03,460 --> 00:42:05,830 ez egy lehetőség a csapatok két vagy három, vagy négy, 878 00:42:05,830 --> 00:42:10,680 hogy részt vegyenek a rejtvényeket, és pizza és díjak és more-- szombaton, 879 00:42:10,680 --> 00:42:12,560 marad hangolt több. 880 00:42:12,560 --> 00:42:15,082 >> Megtalálja azt is, hogy minden Pénteken, Tűz és jég, 881 00:42:15,082 --> 00:42:16,790 nak CS50 hogy egy csomó diák 882 00:42:16,790 --> 00:42:19,100 ebédelni, hogy egy nagy osztály úgy érzi, intimebb, 883 00:42:19,100 --> 00:42:21,820 és általában összehozza öregdiákok és a barátok az ipar 884 00:42:21,820 --> 00:42:24,710 beszélni, amit ők már már akár óta érettségi. 885 00:42:24,710 --> 00:42:27,820 Hasonlóképpen, ebben az évben, majd azt beiktat a legelső CS50 50 886 00:42:27,820 --> 00:42:31,390 kódolás contest-- félévközi lehetőséget, hogy mindenki 887 00:42:31,390 --> 00:42:35,430 egy opt-in alapon, hogy egy kihívása elméje ellen osztálytársak, 888 00:42:35,430 --> 00:42:39,250 ismét csapat két vagy három, vagy négy, kizárólag a programozás 889 00:42:39,250 --> 00:42:41,920 hozzáértés, amit majd alá a biztonsági öv után csak hat vagy hét 890 00:42:41,920 --> 00:42:44,710 héttel az osztály, és a részt vevő ebben a fajta verseny 891 00:42:44,710 --> 00:42:50,261 online-- ha azt szeretné, hogy élesíteni a saját képességek annál is inkább, hogy a kihívás. 892 00:42:50,261 --> 00:42:52,760 Végén a félév az úgynevezett CS50 Hackathon-- 893 00:42:52,760 --> 00:42:56,970 lehetőséget, hogy kezdődik 07:00 PM végződik 7:00, és az út mentén 894 00:42:56,970 --> 00:43:01,900 12 esti órákban, ahol merülni a tanfolyam utolsó project-- 895 00:43:01,900 --> 00:43:04,820 lehetőséget a tervezés és végrehajtására leginkább semmit az érdeklődés 896 00:43:04,820 --> 00:43:06,980 Önnek a tanítás munkatárs irányításával. 897 00:43:06,980 --> 00:43:09,600 Mintegy 09:00 teszünk jellemzően szolgálja pizza, 01:00, 898 00:43:09,600 --> 00:43:13,210 Philippe és kevesen vagyunk akik még mindig ébren 05:00, 899 00:43:13,210 --> 00:43:16,310 shuttle busz viszi le a út IHOP reggelire. 900 00:43:16,310 --> 00:43:19,340 >> Aztán pár nappal később az úgynevezett CS50 fare-- 901 00:43:19,340 --> 00:43:23,450 véget félévben kiállítás ünneplés, hogy milyen messze annyi 902 00:43:23,450 --> 00:43:28,200 A CS50 diákok érkeznek hét nulla egészen a héten, 903 00:43:28,200 --> 00:43:32,610 és szem előtt tartva, hogy a 73% -a osztálytársak és a tiéd ebben az évben is 904 00:43:32,610 --> 00:43:34,840 sohasem vett CS osztály előtt. 905 00:43:34,840 --> 00:43:39,226 Tény, hogy reemphasize annyi, itt van még néhány arcot a CS50 munkatársai. 906 00:43:39,226 --> 00:43:40,184 SPEAKER 4: [hallható]. 907 00:43:40,184 --> 00:43:45,909 908 00:43:45,909 --> 00:43:46,867 SPEAKER 5: [hallható]. 909 00:43:46,867 --> 00:43:51,332 910 00:43:51,332 --> 00:43:52,290 Hangszóró 6: [hallható]. 911 00:43:52,290 --> 00:43:55,276 912 00:43:55,276 --> 00:43:56,234 SPEAKER 7: [hallható]. 913 00:43:56,234 --> 00:44:01,727 914 00:44:01,727 --> 00:44:02,643 Hangszóró 8: [hallható] 915 00:44:02,643 --> 00:44:10,066 916 00:44:10,066 --> 00:44:11,024 Hangszóró 9: [hallható]. 917 00:44:11,024 --> 00:44:14,475 918 00:44:14,475 --> 00:44:15,461 >> SPEAKER 4: [hallható]. 919 00:44:15,461 --> 00:44:16,461 >> SPEAKER 10: [hallható]. 920 00:44:16,461 --> 00:44:21,456 921 00:44:21,456 --> 00:44:23,438 Hangszóró 11: [hallható]. 922 00:44:23,438 --> 00:44:24,438 SPEAKER 12: [hallható]. 923 00:44:24,438 --> 00:44:30,438 924 00:44:30,438 --> 00:44:31,396 13 hangszóró: [hallható] 925 00:44:31,396 --> 00:44:37,360 926 00:44:37,360 --> 00:44:40,342 >> SPEAKER 14: [hallható]. 927 00:44:40,342 --> 00:44:42,863 >> 13 hangszóró: [hallható]. 928 00:44:42,863 --> 00:44:43,821 SPEAKER 15: [hallható] 929 00:44:43,821 --> 00:44:48,785 930 00:44:48,785 --> 00:44:49,785 SPEAKER 16: [hallható]. 931 00:44:49,785 --> 00:44:53,761 932 00:44:53,761 --> 00:44:55,252 >> Hangszóró 11: [hallható] 933 00:44:55,252 --> 00:44:57,773 934 00:44:57,773 --> 00:44:58,731 SPEAKER 5: [hallható]. 935 00:44:58,731 --> 00:45:11,250 936 00:45:11,250 --> 00:45:15,130 DAVID MALAN: Néhány csapat maguk vásárlás osztályok. 937 00:45:15,130 --> 00:45:17,760 De ha ezek a tagok A CS50 személyzet itt, 938 00:45:17,760 --> 00:45:19,230 jöhet akár csak egy pillanatra. 939 00:45:19,230 --> 00:45:23,450 CS50 a TF és a CA-k és [? személyzet?] tagjai here-- ezek csak néhány 940 00:45:23,450 --> 00:45:28,880 A faces-- akik közül az egyik csak látta, és néhány other-- és néhány más 941 00:45:28,880 --> 00:45:30,020 még mindig. 942 00:45:30,020 --> 00:45:33,242 Miért nem megyünk előre, és lehetővé srácok egy öt perces szünetet. 943 00:45:33,242 --> 00:45:35,450 Ha kell kacsa ki bolt osztályok, ez rendben van. 944 00:45:35,450 --> 00:45:38,900 És öt perc alatt, akkor újra, Figyelemre Scratch-- első 945 00:45:38,900 --> 00:45:42,420 mi programozási nyelv, találkozni A tanfolyam személyzet itt egy kicsit, 946 00:45:42,420 --> 00:45:45,020 és a hangsúly végül A probléma beállított nulla. 947 00:45:45,020 --> 00:45:46,710 Így leszünk vissza öt perc múlva. 1 00:45:46,864 --> 00:45:47,370 >> Rendben. 2 00:45:47,370 --> 00:45:48,590 Tehát vissza. 3 00:45:48,590 --> 00:45:51,330 És mi maradt idő ma, a cél 4 00:45:51,330 --> 00:45:54,320 hogy egyenlő feltételek szempontjából néhány terminológia, 5 00:45:54,320 --> 00:45:55,297 szempontjából néhány ötletet. 6 00:45:55,297 --> 00:45:57,380 Mert valóban, mint egy néhány grafikonok korábbi, 7 00:45:57,380 --> 00:46:00,130 ott lesz egy sor szinten a tapasztalat az osztályban, 8 00:46:00,130 --> 00:46:03,210 amelynek egyes diákok tett néhány programozási előtt, 9 00:46:03,210 --> 00:46:04,200 akik közül néhányan már nem. 10 00:46:04,200 --> 00:46:07,430 És így ezzel első probléma meg, és ezzel az első nyelv 11 00:46:07,430 --> 00:46:10,830 kell még egy lehetőséget, hogy indul magától értetődőnek a mai nap után 12 00:46:10,830 --> 00:46:12,960 néhány közös szókincs és ötlet. 13 00:46:12,960 --> 00:46:15,590 >> És mi ezt útján a tanfolyam első languages-- 14 00:46:15,590 --> 00:46:21,070 amellett, hogy a C és Python és JavaScript és az SQL és a HTML és CSS, 15 00:46:21,070 --> 00:46:24,450 fogunk koncentrálni, kezdetben és csak a probléma beállított nulla 16 00:46:24,450 --> 00:46:28,160 Ezen grafikus nyelv, az úgynevezett Scratch által kifejlesztett MIT Media Lab 17 00:46:28,160 --> 00:46:30,880 az úton, hogy segítsen diákok és a gyerekek különösen 18 00:46:30,880 --> 00:46:35,070 önkifejezésre algorithmically-- oly módon, több, ami megfelel 19 00:46:35,070 --> 00:46:37,300 nevezhetünk számítógépes gondolkodás. 20 00:46:37,300 --> 00:46:40,985 >> És ez egy hasznos nyelv, mert nagyon gyorsan a jövő héten az első héten, 21 00:46:40,985 --> 00:46:44,360 teszünk átmenet a több hagyományos és misztikus nyelv úgynevezett 22 00:46:44,360 --> 00:46:46,370 C, amely tisztán szöveges. 23 00:46:46,370 --> 00:46:48,930 Csak akkor használja a billentyűzetet Ahhoz, hogy írni utasításokat 24 00:46:48,930 --> 00:46:50,230 mint ezek a képernyőn. 25 00:46:50,230 --> 00:46:52,840 De még ha soha nem látott egy programozási nyelv előtt, 26 00:46:52,840 --> 00:46:55,170 mindössze pillantva Ennek érdekében, minden legyen rejtélyes, 27 00:46:55,170 --> 00:47:00,010 akkor talán kitalálni, hogy Valószínűleg kiírja Hello World. 28 00:47:00,010 --> 00:47:02,050 De van egy csomó szintaktikai fölött van. 29 00:47:02,050 --> 00:47:05,770 Ott van a furcsa hash szimbólum vagy hash tag fel tetején. 30 00:47:05,770 --> 00:47:08,900 Ott a könyökök, néhány zárójelben, zárójelekkel, félig colon-- 31 00:47:08,900 --> 00:47:11,880 ott csak annyi vizuális szintaxis, hogy megkapja az utat. 32 00:47:11,880 --> 00:47:13,940 Kezdjük a pályát Scratch, hogy kap 33 00:47:13,940 --> 00:47:17,600 már az összes ilyen intellektuálisan érdektelen zavaró, 34 00:47:17,600 --> 00:47:20,290 és a hangsúly inkább a gondolatok. 35 00:47:20,290 --> 00:47:22,540 >> Tény, hogy ez lehet előtt. 36 00:47:22,540 --> 00:47:24,830 Ez erre, hét után kerülhet sor. 37 00:47:24,830 --> 00:47:26,760 Ez, ebben a grafikus nyelv Scratch, 38 00:47:26,760 --> 00:47:29,870 hogy hogyan valósítaná ugyanezen program-- olyan program, amely futás közben, 39 00:47:29,870 --> 00:47:31,340 egyszerűen azt mondja, hello world. 40 00:47:31,340 --> 00:47:34,740 És mi szép a Scratch hogy ez a grafikus programozás 41 00:47:34,740 --> 00:47:38,780 környezet, amely puzzle-darabokat vagy blokkok, hogy csak a retesz együtt 42 00:47:38,780 --> 00:47:40,440 ha ettől logikai értelemben, hogy nem így van. 43 00:47:40,440 --> 00:47:43,810 És Scratch lehet fejleszteni animációk és interaktív játékok 44 00:47:43,810 --> 00:47:47,270 és a művészet, és tetszőleges számú dolog, képzelnéd a saját szem előtt, 45 00:47:47,270 --> 00:47:51,200 és végrehajtja azokat egyszerűen áthúzza puzzle darabkái. 46 00:47:51,200 --> 00:47:54,265 >> És valóban, mi lesz a képessége, kifejezni néhány azonos gondolatok 47 00:47:54,265 --> 00:47:56,890 hogy előbb említett egy pillanatra ezelőtt összefüggésben Mike Smith 48 00:47:56,890 --> 00:48:00,670 és keres egy telefon book-- dolgok szerű funkciók, csak akciók, 49 00:48:00,670 --> 00:48:03,070 ilyeneket hurkot csinálni dolgokat újra és újra, 50 00:48:03,070 --> 00:48:05,170 változókat, ami valami fogunk bemutatni, 51 00:48:05,170 --> 00:48:08,086 de ismerős talán algebra-- csak valami helykitöltő 52 00:48:08,086 --> 00:48:10,840 tárolni néhány érték lehet, hogy szükség later-- logikai kifejezések, 53 00:48:10,840 --> 00:48:13,720 ha e igen nem vagy valódi hamis kérdések elől. 54 00:48:13,720 --> 00:48:17,117 Körülmények azok villa a road-- azok az ágazatok, így mondjam. 55 00:48:17,117 --> 00:48:19,700 És akkor van néhány szakértő funkciók fogjuk látni még ma is, 56 00:48:19,700 --> 00:48:22,850 úgynevezett tömbök és szálak és eseményeket, hogy mi lesz akkor újra át 57 00:48:22,850 --> 00:48:24,460 időt a különböző nyelveken. 58 00:48:24,460 --> 00:48:26,790 De Scratch lehetővé teszi számunkra, hogy vizsgálja meg az összes ilyen. 59 00:48:26,790 --> 00:48:30,779 Tehát itt a semmiből, ez lila blokk, amit a funkció tipikusan 60 00:48:30,779 --> 00:48:31,570 fog kinézni. 61 00:48:31,570 --> 00:48:35,620 Ez lila puzzle-darab, amely bizonyos szót, mint mondjuk, amely a cselekvés, 62 00:48:35,620 --> 00:48:38,490 és akkor lehet, hogy egy érvelés vagy parameter-- valamilyen módon 63 00:48:38,490 --> 00:48:41,140 A fajta testre szabása hogy mit csinál blokk 64 00:48:41,140 --> 00:48:45,182 úgy, hogy ez nem határozza meg előre MIT, amit ez a lila blokk mondja. 65 00:48:45,182 --> 00:48:47,390 Sőt, akkor megjelenik egy pillanat, hogy én vagyok képes, hogy írja 66 00:48:47,390 --> 00:48:49,931 Az olyan szavak, mint hello world, vagy szia Dávid, vagy szia Zamayla, 67 00:48:49,931 --> 00:48:53,750 vagy amit akarok, az érvelés E puzzle a darabban a fehér doboz 68 00:48:53,750 --> 00:48:54,251 ott. 69 00:48:54,251 --> 00:48:57,166 Közben, ha szeretnék egy hurok, fogunk látni, hogy ott van, hogy a puzzle-darabokat 70 00:48:57,166 --> 00:48:58,640 Egy kicsit narancs, mint ez. 71 00:48:58,640 --> 00:49:01,690 És alakjuk fajta azt sugallja, hogy történik valami újra és újra 72 00:49:01,690 --> 00:49:02,680 egy ciklusban. 73 00:49:02,680 --> 00:49:06,800 >> Tehát, ha azt csomagolja köszönni világ blokk egy örökké blokkolni Scratch, 74 00:49:06,800 --> 00:49:10,307 ez csak fog tartani köszönés világot örökre, a szó szoros értelmében. 75 00:49:10,307 --> 00:49:12,390 Közben van egy másik típusú hurok Scratch 76 00:49:12,390 --> 00:49:14,348 hogy mi lesz see-- ismételt block-- ahol ha 77 00:49:14,348 --> 00:49:17,940 előre tudni, hogy hány alkalommal szeretné, hogy a hurok, hogy végre 78 00:49:17,940 --> 00:49:21,850 véges számú alkalommal fact-- te megadhatja, hogy beírja a számot 79 00:49:21,850 --> 00:49:25,380 vagy akár dugulás változó, mint x vagy y mint látni fogjuk. 80 00:49:25,380 --> 00:49:27,690 >> Sőt, a változók, mint a i ebben az esetben, ami 81 00:49:27,690 --> 00:49:30,109 egy közös név egy egész típusú változó, 82 00:49:30,109 --> 00:49:31,900 csak tárolja a number-- egy egész lehet, 83 00:49:31,900 --> 00:49:35,470 használni ezt a narancssárga blokk ide beállítható egy változó, mint én, hogy nulla. 84 00:49:35,470 --> 00:49:38,900 Íme egy példa a zöld egy Logikai kifejezés a Scratch. 85 00:49:38,900 --> 00:49:43,700 Annak ellenére, hogy ez úgy néz ki, mint egy matematikai képlet, matematikai egyenlőtlenségek, mint ez 86 00:49:43,700 --> 00:49:45,320 valójában logikai kifejezések. 87 00:49:45,320 --> 00:49:46,570 Ez vagy igaz, vagy hamis. 88 00:49:46,570 --> 00:49:48,300 I kisebb, mint 50. 89 00:49:48,300 --> 00:49:51,815 Ez akár egy igen vagy nem választ vagy igaz, vagy hamis választ. 90 00:49:51,815 --> 00:49:53,940 És mi általában hívni azok logikai kifejezések. 91 00:49:53,940 --> 00:49:55,148 És nem kell, hogy az 50. 92 00:49:55,148 --> 00:49:57,970 Ez lehet x kisebb, mint Y, nagyobb, mint Y, egyenlő y-- 93 00:49:57,970 --> 00:50:00,020 tetszőleges számú egyéb kérdéseket lehet. 94 00:50:00,020 --> 00:50:03,250 >> Most, első pillantásra, ez tűnhet Hirtelen elég merész itt, és ez. 95 00:50:03,250 --> 00:50:06,540 De fogalma bölcs, ez elég ismerős korábbról. 96 00:50:06,540 --> 00:50:09,370 Ha x kisebb mint y, mint mondjuk annyi. 97 00:50:09,370 --> 00:50:12,230 Else amennyiben x nagyobb, mint y, akkor azt mondják, annyi. 98 00:50:12,230 --> 00:50:14,260 Else mondjuk x egyenlő y. 99 00:50:14,260 --> 00:50:17,220 Tehát van egy példa ott egy harmadik scenario-- 100 00:50:17,220 --> 00:50:20,600 az egyetlen harmadik possibility-- x vagy nagyobb, mint, kevesebb, mint, vagy egyenlő. 101 00:50:20,600 --> 00:50:22,420 Tehát van egy hármas útelágazáshoz. 102 00:50:22,420 --> 00:50:26,290 >> És észre mi jó here-- Scratch, úgy tűnik, már csak egy puzzle 103 00:50:26,290 --> 00:50:28,840 darab, ebben az esetben, a ha mást blokk. 104 00:50:28,840 --> 00:50:32,090 És mégis, ami azt sugallja, akkor Csak egy kétirányú útelágazáshoz. 105 00:50:32,090 --> 00:50:34,631 Akkor menj balra vagy jobbra, de mi van a harmadik forgatókönyv? 106 00:50:34,631 --> 00:50:35,760 Mi van, ha x = y? 107 00:50:35,760 --> 00:50:36,500 Nem nagy ügy. 108 00:50:36,500 --> 00:50:39,640 Vegyünk egy puzzle-darab, tedd egy másik belsejébe 109 00:50:39,640 --> 00:50:45,759 hogy megteremtse a szemantikai egyenértékű Az if, else, ha else-- és most 110 00:50:45,759 --> 00:50:47,300 már a háromutas útelágazáshoz. 111 00:50:47,300 --> 00:50:49,091 És mint látni fogjuk, a Scratch puzzle-darabokat 112 00:50:49,091 --> 00:50:51,820 lehet nyújtani, és növekszik, így hogy teletölteni több dolgot bennük. 113 00:50:51,820 --> 00:50:54,420 Nem kell, hogy illeszkedjen mindent, ami az alapértelmezett méret. 114 00:50:54,420 --> 00:50:56,690 >> Ez olyasmi fogunk Hamarosan látni nevezzük egy tömbben. 115 00:50:56,690 --> 00:51:00,880 Ez olyan, mint egy list-- valamilyen módon tárolására több információt 116 00:51:00,880 --> 00:51:02,886 egy változó, nem csak egy szám. 117 00:51:02,886 --> 00:51:05,760 Ezek látni fogjuk képviselője úgynevezett multi-threading. 118 00:51:05,760 --> 00:51:08,280 Tény, hogy az összes Mac és PC manapság 119 00:51:08,280 --> 00:51:10,810 támogatja a multi-threading, ami azt jelenti, hogy a szó szoros értelmében 120 00:51:10,810 --> 00:51:12,390 csinálni több dolog egyszerre. 121 00:51:12,390 --> 00:51:15,390 Akkor a Microsoft Word fel a előtér, dolgozó néhány esszé. 122 00:51:15,390 --> 00:51:17,160 Lehet, hogy egy böngésző a háttérben nyitó 123 00:51:17,160 --> 00:51:18,720 G-mail vagy a Facebook, vagy hasonlók. 124 00:51:18,720 --> 00:51:22,730 A számítógép képes több dolgot ma, mert ez több szálon, 125 00:51:22,730 --> 00:51:26,390 és programok ők a Különösen is több szálon. 126 00:51:26,390 --> 00:51:28,970 >> Van dolgokat az úgynevezett események valamint a világon a Scratch, 127 00:51:28,970 --> 00:51:32,640 és akkor ott van egy módja is, hogy saját egyéni puzzle darabokat, ha a dolgok 128 00:51:32,640 --> 00:51:34,810 valójában nem léteznek előre. 129 00:51:34,810 --> 00:51:38,260 Úgyhogy motiválja ezt az alábbiak szerint. 130 00:51:38,260 --> 00:51:40,580 Néhány évvel ezelőtt, amikor én fedezték Scratch, 131 00:51:40,580 --> 00:51:43,530 amikor valójában grad hallgató MIT, mi 132 00:51:43,530 --> 00:51:45,640 magunkat bízták, hogy a házi feladatot. 133 00:51:45,640 --> 00:51:47,614 És én implemented-- amely visszatekintve, 134 00:51:47,614 --> 00:51:50,780 volt egy nagyon rossz döntés, mert A legtöbb dühítő dal a világon 135 00:51:50,780 --> 00:51:53,321 hallgatni nyolc órán át munka közben a homework-- 136 00:51:53,321 --> 00:51:57,180 de amit én még az úgynevezett Oscar idő, ami talán egy ismerős dalt. 137 00:51:57,180 --> 00:51:59,820 >> CS50s saját Jordan Hayashi, az egyik a magasabb beosztású munkatársak, 138 00:51:59,820 --> 00:52:03,920 lecserélte azt a 2015. és Most 2016 óta vissza a nap, 139 00:52:03,920 --> 00:52:06,610 Volt minden csak megy figyelembe Oscar kukába. 140 00:52:06,610 --> 00:52:09,320 Most támogatjuk újrahasznosítás és a komposztálás. 141 00:52:09,320 --> 00:52:12,050 >> De ahhoz, hogy festeni a képet Az, hogy mit tehetünk itt 142 00:52:12,050 --> 00:52:14,130 és motiválni néhány az alsó szinten példák, 143 00:52:14,130 --> 00:52:16,400 tudnánk kap egy másik önkéntes, hogy csak jöjjön ki 144 00:52:16,400 --> 00:52:18,331 és játszani az első házi feladat valaha? 145 00:52:18,331 --> 00:52:18,830 Gyere fel. 146 00:52:18,830 --> 00:52:19,250 Hogy hívnak? 147 00:52:19,250 --> 00:52:20,030 >> HENRY: Henry. 148 00:52:20,030 --> 00:52:22,660 >> DAVID MALAN: Henry, gyere fel. 149 00:52:22,660 --> 00:52:24,190 Gyere fel. 150 00:52:24,190 --> 00:52:27,070 Fej akár úgy, és látni fogja, egy pillanat, 151 00:52:27,070 --> 00:52:29,870 Megyek, hogy menjen előre, és nyomja meg a zöld zászló a jobb felső 152 00:52:29,870 --> 00:52:31,100 sarok, ami azt jelenti menni. 153 00:52:31,100 --> 00:52:33,320 A kis stoptábla ikon fog mondani megáll, 154 00:52:33,320 --> 00:52:35,490 és ez az, amikor elkezdi és állítsa le a programot. 155 00:52:35,490 --> 00:52:36,450 Örvendek. 156 00:52:36,450 --> 00:52:36,950 Rendben. 157 00:52:36,950 --> 00:52:39,100 Így fogunk látni az utasításokat A képernyőn csak egy pillanatra. 158 00:52:39,100 --> 00:52:41,450 És csak játszani ezt a játékot Néhány seconds-- hidd el, 159 00:52:41,450 --> 00:52:43,670 nem megyünk, hogy szeretne játszani egészen a end-- fogsz 160 00:52:43,670 --> 00:52:45,470 hogy egyfajta a program mit csinál. 161 00:52:45,470 --> 00:52:49,170 És több, mint összpontosítani Henry hogy a jó vagy rossz ez a játék, a hangsúly 162 00:52:49,170 --> 00:52:52,600 és hogyan jött végre nekem eredetileg, majd a Jordán. 163 00:52:52,600 --> 00:52:54,640 Más szóval, ahol a változók? 164 00:52:54,640 --> 00:52:55,520 Hol vannak a hurkok? 165 00:52:55,520 --> 00:52:56,520 Hol vannak a funkciók? 166 00:52:56,520 --> 00:53:00,700 És látni fogjuk, ha nem látjuk azok a motorháztető alatt. 167 00:53:00,700 --> 00:53:03,660 >> Csak kattintson, és húzza a szemetet a megfelelő bin. 168 00:53:03,660 --> 00:54:02,100 >> [ZENE] 169 00:54:02,100 --> 00:54:02,600 Rendben. 170 00:54:02,600 --> 00:54:03,160 Ez nagyon jó. 171 00:54:03,160 --> 00:54:04,286 Miért nem állítjuk meg ott. 172 00:54:04,286 --> 00:54:04,786 Köszönöm. 173 00:54:04,786 --> 00:54:05,830 Gratulálunk Henry. 174 00:54:05,830 --> 00:54:07,002 Köszönöm. 175 00:54:07,002 --> 00:54:10,690 >> [TAPS] 176 00:54:10,690 --> 00:54:12,450 >> Képzeljük csak el, hibakereső programban. 177 00:54:12,450 --> 00:54:15,880 Ha gond van a két percében song-- de olyan 178 00:54:15,880 --> 00:54:17,430 mi folyik itt valójában? 179 00:54:17,430 --> 00:54:20,900 Olyan bonyolult, mint azt esetleg kezdeni, hogy úgy tűnik, hogy az idő múlásával, 180 00:54:20,900 --> 00:54:22,910 Valóban egyre több és több dolog elkezdett esni, 181 00:54:22,910 --> 00:54:25,370 Az az érdekes a ez a fajta example-- 182 00:54:25,370 --> 00:54:27,270 és látni fogjuk, néhány others-- az, hogy ha 183 00:54:27,270 --> 00:54:30,416 elnéztek összetettsége vagy a kifinomultabb a játék, 184 00:54:30,416 --> 00:54:33,040 van egy nagyon egyszerű épület blokkok, játszd őket így amelyek mindegyike, 185 00:54:33,040 --> 00:54:35,840 ha distill őket azokra építőelemek, amelyek rendkívül jól megközelíthető 186 00:54:35,840 --> 00:54:37,401 és végrehajtható maguknak. 187 00:54:37,401 --> 00:54:39,150 Például, ez már egy ideje, de nem vagyok 188 00:54:39,150 --> 00:54:42,900 benne, amit én tettem, amikor először hogy ez a játék az első alkalommal 189 00:54:42,900 --> 00:54:44,787 voltam teljesen olyan, mint halogatták. 190 00:54:44,787 --> 00:54:47,120 Nem koncentrálni egyáltalán a logikai vagy puzzle darab, 191 00:54:47,120 --> 00:54:50,810 Összpontosítottam a grafika és a megállapítást Az utcai posta és a kuka 192 00:54:50,810 --> 00:54:51,540 és minden adott. 193 00:54:51,540 --> 00:54:53,456 De ezek voltak kellő összetevőket először. 194 00:54:53,456 --> 00:54:57,220 És ha már elkészült procrastinating és lefektetve az átfogó keretet, 195 00:54:57,220 --> 00:55:00,337 Elhatároztam, hadd, hogy egy darab szemetet esik az égből. 196 00:55:00,337 --> 00:55:02,170 És majd meglátjuk Scratch támogatja dolgokat az úgynevezett 197 00:55:02,170 --> 00:55:06,386 sprites-- karakterek különböző viseletek, így 198 00:55:06,386 --> 00:55:07,010 máshogy néznek ki. 199 00:55:07,010 --> 00:55:09,660 >> És így tettem a szemetet jelmez egy ilyen sprite. 200 00:55:09,660 --> 00:55:12,007 És én csak szüksége van rá esik az égből. 201 00:55:12,007 --> 00:55:14,590 És így kiderül, Scratch, mint a legtöbb programozási nyelvek, 202 00:55:14,590 --> 00:55:18,099 támogatja véletlen számokat vagy technikailag pszeudokód véletlen számokat, 203 00:55:18,099 --> 00:55:20,390 így áthúzza és elhagynak bizonyos puzzle darab, 204 00:55:20,390 --> 00:55:22,890 Tudtam, hogy a szemetet jön a bal első. 205 00:55:22,890 --> 00:55:25,580 És akkor a következő alkalommal esett, ettől a jobb majd a közepén. 206 00:55:25,580 --> 00:55:28,060 És az egész játék nem volt, csak Van szemetet alá az égből. 207 00:55:28,060 --> 00:55:29,770 Nem lehetett rámutatni, vagy kattintson rá. 208 00:55:29,770 --> 00:55:31,103 Nem lehetett megnyitni a kukát. 209 00:55:31,103 --> 00:55:32,160 Te semmit sem tudott tenni. 210 00:55:32,160 --> 00:55:34,450 De ez volt a baba lépés felé az én végső látást. 211 00:55:34,450 --> 00:55:36,720 >> És azután, azt valójában végre valami 212 00:55:36,720 --> 00:55:41,230 Az érzékelés, így ha nem kattint és húzza a darab szemetet 213 00:55:41,230 --> 00:55:44,350 több mint a kuka, Oscar fedél lenne nyitni és zárni. 214 00:55:44,350 --> 00:55:47,650 Semmi sem történik, hogy a szemetet, de legalább a fedél lenne nyitni és zárni. 215 00:55:47,650 --> 00:55:49,642 Tehát akkor ellenőrizze, a második lépésben a kettő. 216 00:55:49,642 --> 00:55:52,100 És ez az, ami lesz kulcs mindkét probléma beállított nulla 217 00:55:52,100 --> 00:55:55,970 és a programozás általában az, hogy ezeket nagyon is szándékos baba lépéseket. 218 00:55:55,970 --> 00:55:59,390 Mert nem csak ez teszi lehetővé, hogy érzem őszintén sokkal többe 219 00:55:59,390 --> 00:56:01,250 quickly-- ez a legrosszabb dolog a világon 220 00:56:01,250 --> 00:56:06,149 próbálni, hogy hajtsák végre az Oscar ideje, majd órával később nyomja meg a zöld zászlót, 221 00:56:06,149 --> 00:56:08,440 és semmi sem működik, mint várták mert ahol ugye még 222 00:56:08,440 --> 00:56:11,150 kezdenek hibakeresés vagy elhárítása a program? 223 00:56:11,150 --> 00:56:12,470 Ez csak nyomasztó. 224 00:56:12,470 --> 00:56:16,792 >> És így valóban átfogó ez a gondolat figyelembe steps-- baba lépéseket újra 225 00:56:16,792 --> 00:56:19,000 és again-- kiépítése valamit, ami, a végén, 226 00:56:19,000 --> 00:56:23,672 igazán lenyűgöző és összetett, de az első, közel sem annyira,. 227 00:56:23,672 --> 00:56:24,630 Tény, hogy csináljuk. 228 00:56:24,630 --> 00:56:28,989 Hadd menjen előre és-- Scratch magát létezik az interneten a Scratch.MIT.edu, 229 00:56:28,989 --> 00:56:30,780 és máris mondta a sokkal ismét probléma 230 00:56:30,780 --> 00:56:34,200 állítsa nullára, a specifikáció amely már a CS50 honlapján. 231 00:56:34,200 --> 00:56:35,725 >> De ez az, amit Scratch maga. 232 00:56:35,725 --> 00:56:38,210 És ott tényleg csak három fő területen. 233 00:56:38,210 --> 00:56:40,980 A bal felső sarokban van az úgynevezett szakaszban. 234 00:56:40,980 --> 00:56:41,810 Ez Scratch. 235 00:56:41,810 --> 00:56:43,710 Az alapértelmezett jelmez egy macska. 236 00:56:43,710 --> 00:56:46,950 És ez a négyszögletes világ amelyek segítségével move-- fel, le, balra, 237 00:56:46,950 --> 00:56:48,130 jobbra és egyéb dolgok. 238 00:56:48,130 --> 00:56:51,839 A középső itt van a mi kategóriák vagy a raklap puzzle darab, 239 00:56:51,839 --> 00:56:53,630 és a különböző színek különböző dolgot jelent. 240 00:56:53,630 --> 00:56:56,520 És ha piszkálni körül, látni fogod dolgok, mint a hurkok és feltételek 241 00:56:56,520 --> 00:56:58,160 és a változók és más összetevőket. 242 00:56:58,160 --> 00:57:00,060 >> És akkor itt van a script terület. 243 00:57:00,060 --> 00:57:03,020 Ez az, ahol drag and drop ezek puzzle darab, hogy a dolgokat. 244 00:57:03,020 --> 00:57:04,690 Tehát lássuk egy ilyen dolog. 245 00:57:04,690 --> 00:57:06,630 Hadd menjen előre és-- és tudom, hogy hol van. 246 00:57:06,630 --> 00:57:10,110 Úgyhogy azonnal kattintson ahol tudok dolgokat készen állnak, 247 00:57:10,110 --> 00:57:13,140 de mutatva és kattintva és dugta körül elkerülhetetlenek. 248 00:57:13,140 --> 00:57:15,320 Tehát, amikor a zöld zászló kattintott, mit akarok csinálni? 249 00:57:15,320 --> 00:57:17,100 Azt fogom tenni ezt. 250 00:57:17,100 --> 00:57:20,699 Megyek húzza ezt lila puzzle darab, köszönni két másodpercig, 251 00:57:20,699 --> 00:57:21,490 és hadd nagyítás. 252 00:57:21,490 --> 00:57:23,865 >> És fogok ezen változtatni hogy mit akarok, hogy be-- 253 00:57:23,865 --> 00:57:26,471 hello world két másodpercig rendben van. 254 00:57:26,471 --> 00:57:28,970 Most megyek, hogy kattintson a zöld zászlót, vagy ha nagyon szeretnék, 255 00:57:28,970 --> 00:57:31,820 Tudok teljes képernyőn, és aztán gyere vissza. 256 00:57:31,820 --> 00:57:34,060 Ez csak tartsa mindent egy ablakban. 257 00:57:34,060 --> 00:57:36,141 Zöld flag-- hello world. 258 00:57:36,141 --> 00:57:36,640 Rendben. 259 00:57:36,640 --> 00:57:38,789 Nem olyan érdekes. 260 00:57:38,789 --> 00:57:40,080 Tehát hadd menjen előre, és erre a célra. 261 00:57:40,080 --> 00:57:41,038 Hadd próbálja meg egy másik. 262 00:57:41,038 --> 00:57:44,740 Amikor zöld zászló clicked-- nézzük tenni valamit, mint egy hang. 263 00:57:44,740 --> 00:57:46,880 Azt tapasztaljuk, hogy ki A doboz ingyen kapsz 264 00:57:46,880 --> 00:57:49,910 egy macska hang, ahogy az alapértelmezett Sprite. 265 00:57:49,910 --> 00:57:52,380 Tehát most hadd menjen előre, és nyomja meg a zöld zászlót most. 266 00:57:52,380 --> 00:57:53,224 >> [NYÁVOGÁS] 267 00:57:53,224 --> 00:57:54,490 >> Aw. 268 00:57:54,490 --> 00:57:55,370 Ez aranyos. 269 00:57:55,370 --> 00:57:57,040 Én programozás. 270 00:57:57,040 --> 00:57:58,550 Tehát mit tettem? 271 00:57:58,550 --> 00:58:00,430 Ez megegyezik a program. 272 00:58:00,430 --> 00:58:01,600 Ez nyilvánvalóan rendkívül egyszerű. 273 00:58:01,600 --> 00:58:05,300 Ez nem igazán vették, hogy sok minden erőfeszítés és a MIT tette a munka nagy részét, 274 00:58:05,300 --> 00:58:07,890 de hívtam egy funkciót. 275 00:58:07,890 --> 00:58:08,940 Én használtam a funkciót. 276 00:58:08,940 --> 00:58:12,480 Csináltam néhány fellépés, a csak hogy az egyik lila puzzle-darabot. 277 00:58:12,480 --> 00:58:15,960 >> Nos, ha akarok Három meows egy sorban? 278 00:58:15,960 --> 00:58:18,570 Hadd menjen előre, és ezt a két és három. 279 00:58:18,570 --> 00:58:20,910 Azt tapasztaljuk, hogy ha lebeg a közelben egy puzzle-darab, 280 00:58:20,910 --> 00:58:22,970 egy kis fehér vonal jelenik meg egyfajta mágneses, 281 00:58:22,970 --> 00:58:25,190 és ez lesz pattintsa együtt, ha elengedi. 282 00:58:25,190 --> 00:58:26,600 Lássuk, mi történik itt. 283 00:58:26,600 --> 00:58:27,920 >> [NYÁVOGÁS] 284 00:58:27,920 --> 00:58:32,390 285 00:58:32,390 --> 00:58:34,510 >> Van egy hiba. 286 00:58:34,510 --> 00:58:35,650 Én csak hallani egy miau. 287 00:58:35,650 --> 00:58:37,440 Miért lenne az? 288 00:58:37,440 --> 00:58:39,001 Igen? 289 00:58:39,001 --> 00:58:39,500 Igen. 290 00:58:39,500 --> 00:58:41,650 Mi nem igazán hallani, de ez jó intuíció. 291 00:58:41,650 --> 00:58:43,400 Ezek mind játszanak ugyanabban az időben. 292 00:58:43,400 --> 00:58:44,000 Miért? 293 00:58:44,000 --> 00:58:46,587 Nos, a számítógép csak megy csinálni, amit mondani, hogy igen. 294 00:58:46,587 --> 00:58:48,670 Tehát ha azt mondod, játék hang-, hangot lejátszani, hang lejátszása, 295 00:58:48,670 --> 00:58:52,887 de nem mondja meg, hogy játsszon, amíg Ha elkészült, játszani, amíg kész, 296 00:58:52,887 --> 00:58:54,970 ez fog fújni keresztül A program nagyon gyorsan 297 00:58:54,970 --> 00:58:56,830 és nem csak az, amit mondani, hogy igen. 298 00:58:56,830 --> 00:58:59,040 >> Szóval tényleg kell rögzíteni ezt egy pár módon. 299 00:58:59,040 --> 00:59:00,623 Én is csak ezt, megszabadulni ez. 300 00:59:00,623 --> 00:59:04,180 Hadd próbálja meg ezt más puzzle a darabban játszik hangot nyávog, amíg kész, 301 00:59:04,180 --> 00:59:07,072 majd húzza a három ezeket, és kattintson a Play. 302 00:59:07,072 --> 00:59:09,430 >> [NYÁVOGÁS] 303 00:59:09,430 --> 00:59:13,350 >> Ez nem igazán very-- köszönöm you-- nagyon természetes. 304 00:59:13,350 --> 00:59:16,590 Akkor miért nem hagyja én-- menjek vezérelni. 305 00:59:16,590 --> 00:59:17,090 Szép. 306 00:59:17,090 --> 00:59:22,230 Várj egy pillanatra, és most hadd menjen vissza a hangok, és a játék hang, amíg kész, 307 00:59:22,230 --> 00:59:24,620 majd hadd várjon egy másodpercet. 308 00:59:24,620 --> 00:59:28,692 És akkor hadd menjen, és kap egy több hang, és itt van. 309 00:59:28,692 --> 00:59:31,350 >> [NYÁVOGÁS] 310 00:59:31,350 --> 00:59:35,930 >> Egy kicsit több természetes, de ez nem nagyon hatékony. 311 00:59:35,930 --> 00:59:39,830 Mint Kezdtem unatkozni, mind Röviden, kattintson ide-oda 312 00:59:39,830 --> 00:59:42,724 és tényleg sokszorosító én work-- nagyjából a másolás és beillesztés. 313 00:59:42,724 --> 00:59:44,640 Valóban, ha ellenőrzés kattintott vagy a jobb kattintás, 314 00:59:44,640 --> 00:59:46,500 Tudtam volna csak vágólapra másolni. 315 00:59:46,500 --> 00:59:49,870 Mi lenne a jobb konstrukció kezelhető? 316 00:59:49,870 --> 00:59:51,090 Milyen ötlet a korábbiakhoz képest? 317 00:59:51,090 --> 00:59:51,990 >> Igen, egy hurok. 318 00:59:51,990 --> 00:59:54,580 És valóban, ha kidugta körül, azt találnánk, hogy pontosan. 319 00:59:54,580 --> 00:59:57,730 Hadd menjen események vagy inkább vezérlő. 320 00:59:57,730 --> 00:59:59,650 Tehát én nem repeat-- szeretné, hogy legyen 10-szer. 321 00:59:59,650 --> 01:00:01,370 Ez lesz, hogy bosszantó gyorsan. 322 01:00:01,370 --> 01:00:03,380 De megismétlem háromszor. 323 01:00:03,380 --> 01:00:06,355 Hadd menjen vissza a szilárd és A hang lejátszásához, amíg kész. 324 01:00:06,355 --> 01:00:08,480 Térjünk vissza a vezérlő és csak várni egy másodpercet. 325 01:00:08,480 --> 01:00:10,271 És vegyük észre, lehet, úgy gondolja, hogy nem illik, 326 01:00:10,271 --> 01:00:13,520 de újra, ha mágnesesen hagyod pattan, nőni fog kitölteni. 327 01:00:13,520 --> 01:00:14,971 Mi ez játszik most? 328 01:00:14,971 --> 01:00:18,500 >> [NYÁVOGÁS] 329 01:00:18,500 --> 01:00:19,000 RENDBEN. 330 01:00:19,000 --> 01:00:19,660 Szép. 331 01:00:19,660 --> 01:00:22,540 És ez az, amit neveznénk egy program, ami szintén helyes. 332 01:00:22,540 --> 01:00:27,590 Ez nyávogott háromszor meglehetősen Természetesen, de ez jobban megtervezett. 333 01:00:27,590 --> 01:00:29,580 Én kevesebb redundancia. 334 01:00:29,580 --> 01:00:30,970 Nem másolja be semmit. 335 01:00:30,970 --> 01:00:32,470 Csak használni egy jobb ötlete. 336 01:00:32,470 --> 01:00:35,340 >> Nos, ez még mindig nem minden, Érdekes a Scratch nem csinál 337 01:00:35,340 --> 01:00:35,930 bármi. 338 01:00:35,930 --> 01:00:37,388 Tehát lássuk, hogy valami mást helyette. 339 01:00:37,388 --> 01:00:38,670 Csináljunk valami örökre. 340 01:00:38,670 --> 01:00:39,420 És tudod mit? 341 01:00:39,420 --> 01:00:40,470 Motion érdekesnek tűnik. 342 01:00:40,470 --> 01:00:45,760 Vessünk rá mozogni 10 lépések és a hit játék most. 343 01:00:45,760 --> 01:00:46,570 >> RENDBEN. 344 01:00:46,570 --> 01:00:49,300 Nos tudjuk milyen drag vissza, és még mindig 345 01:00:49,300 --> 01:00:51,250 fut, mert ő ezt örökre. 346 01:00:51,250 --> 01:00:53,150 Tehát a hurkot csinál amit mond, hogy nem, 347 01:00:53,150 --> 01:00:54,650 de ez nem olyan érdekes. 348 01:00:54,650 --> 01:00:55,310 Csináljuk. 349 01:00:55,310 --> 01:00:59,870 Hadd adjunk egy blokk, és használja e feltételek az első alkalommal. 350 01:00:59,870 --> 01:01:03,119 >> Így fog mozogni 10 steps-- 10 pont, 10 pixel a screen-- 351 01:01:03,119 --> 01:01:04,660 akkor ez fog feltenni ezt a kérdést. 352 01:01:04,660 --> 01:01:09,340 Ha valami igaz, akkor nem valami belülről ezt a blokkot. 353 01:01:09,340 --> 01:01:13,060 Így kiderül, érzékelés egy egész csomó logikai expressions-- 354 01:01:13,060 --> 01:01:16,580 kérdései igen nem vagy valódi hamis form-- hadd csináljam ezt. 355 01:01:16,580 --> 01:01:19,260 >> Ha touching-- és akkor ott van ez a kis legördülő menüt. 356 01:01:19,260 --> 01:01:20,410 Tudom paraméterezni azt. 357 01:01:20,410 --> 01:01:23,010 Ha megérinti a edge-- nézzük ilyet. 358 01:01:23,010 --> 01:01:27,310 Tehát, ha megérinti edge-- hadd menjen vissza mozgást. 359 01:01:27,310 --> 01:01:32,281 És miért nem megyünk megfordul 180 fok? 360 01:01:32,281 --> 01:01:32,780 Rendben. 361 01:01:32,780 --> 01:01:35,070 Tehát örökre, mozgás 10 lépésben. 362 01:01:35,070 --> 01:01:37,670 Ha megérinti a él, fordulj 180 fokot. 363 01:01:37,670 --> 01:01:39,720 És ez még nem a vége a program mert te egy örökre blokk, 364 01:01:39,720 --> 01:01:42,053 így fog menni újra és újra és újra és újra. 365 01:01:42,053 --> 01:01:43,980 Nézzük, mi történik. 366 01:01:43,980 --> 01:01:44,785 RENDBEN. 367 01:01:44,785 --> 01:01:48,270 Egy kicsit bugos, de egyfajta hűvös. 368 01:01:48,270 --> 01:01:51,710 >> És mi is hozzá, hogy ezt a néhány buta dolog hogy nem minden, hogy szellemileg 369 01:01:51,710 --> 01:01:52,270 érdekes. 370 01:01:52,270 --> 01:01:57,210 De ha bejön ez a kis mikrofon button-- jaj. 371 01:01:57,210 --> 01:01:58,480 Hadd tisztítsák ezt fel. 372 01:01:58,480 --> 01:02:01,540 Hadd fokozza ezt a azt mondanák a tévében. 373 01:02:01,540 --> 01:02:05,400 Tisztítsuk hogy fel, mentés és most menj fel a szkripteket. 374 01:02:05,400 --> 01:02:07,500 >> És most, hadd menjen a hang. 375 01:02:07,500 --> 01:02:09,002 Hadd adja meg a nevét. 376 01:02:09,002 --> 01:02:12,440 Hívom ezt a jaj. 377 01:02:12,440 --> 01:02:13,840 És most hangot lejátszani jaj. 378 01:02:13,840 --> 01:02:16,520 Figyeljük meg, hogy megjelenik a kis legördülő menüt. 379 01:02:16,520 --> 01:02:17,612 Lássuk. 380 01:02:17,612 --> 01:02:20,444 >> [JAJ] 381 01:02:20,444 --> 01:02:24,377 >> [NEVETÉS] 382 01:02:24,377 --> 01:02:25,835 De meg tudjuk változtatni t ő menet közben. 383 01:02:25,835 --> 01:02:28,106 Mi lehet kétszer olyan idegesítő. 384 01:02:28,106 --> 01:02:31,760 >> [JAJ] 385 01:02:31,760 --> 01:02:35,332 >> Vagy ha teszünk úgy, mint 1000 lépcsők time-- 386 01:02:35,332 --> 01:02:39,900 387 01:02:39,900 --> 01:02:40,670 >> RENDBEN. 388 01:02:40,670 --> 01:02:42,295 Így fogunk hagyni, hogy az egyik egyedül. 389 01:02:42,295 --> 01:02:45,290 Tehát újra, az épület blocks-- I kezdődött valami szuper egyszerű, 390 01:02:45,290 --> 01:02:47,930 és aztán egy olyan funkciót, egy olyan funkciót, egy olyan funkciót. 391 01:02:47,930 --> 01:02:50,721 És már nem kell aggódnia hogy az elsőként említett jellemzők 392 01:02:50,721 --> 01:02:53,690 hajtották végre, mint én is a réteg a dolgokat a tetején. 393 01:02:53,690 --> 01:02:55,430 Tehát valójában, hadd tegye egy másik itt. 394 01:02:55,430 --> 01:03:00,580 Hadd menjen előre, és nyissa meg a fájlt, Hoztam előre, az úgynevezett Juh. 395 01:03:00,580 --> 01:03:03,970 >> Így van egy kissé eltérő karaktert, amely úgy néz ki, mint ez. 396 01:03:03,970 --> 01:03:07,370 És hadd lássa, nem tudok tenni valamit egy számláló 397 01:03:07,370 --> 01:03:09,310 ebben case-- egy úgynevezett variábilis. 398 01:03:09,310 --> 01:03:15,540 Megyek, hogy menjen előre és alatt Events-- hadd kap egy zöld zászlót kattintott. 399 01:03:15,540 --> 01:03:19,030 Akkor hadd menjen Data, ami tudom, ettől csak játék körül, mielőtt, 400 01:03:19,030 --> 01:03:20,214 ahol a változók. 401 01:03:20,214 --> 01:03:21,880 És én megyek előre, és húzza ezt. 402 01:03:21,880 --> 01:03:25,144 >> Tehát a változó nevű számláló, és Megyek inicializálása nullára. 403 01:03:25,144 --> 01:03:27,560 Azt lehet nevezni bármit x vagy y vagy z-- de a programozás, 404 01:03:27,560 --> 01:03:30,410 hív valamit egy szemantikailag hasznos módja, mint a számláló, 405 01:03:30,410 --> 01:03:34,540 amely leírja, mi is az, hogy ez egy sokkal könnyebb olvasni a kódot később. 406 01:03:34,540 --> 01:03:37,460 Hadd menjek előre, és kap örökre blokk van. 407 01:03:37,460 --> 01:03:41,289 És hadd menjen a néz oldal, és nem a Say blokk. 408 01:03:41,289 --> 01:03:44,330 De mi jó változókkal I Nem kell csak írja be valamit 409 01:03:44,330 --> 01:03:47,850 mint hello world, amit korábban már tettem, ehelyett válassza az Adatok 410 01:03:47,850 --> 01:03:50,690 és húzza az én változó, és még bár a forma nem elég 411 01:03:50,690 --> 01:03:53,000 úgy néz ki kell illeszkednie, nőni fog kitölteni. 412 01:03:53,000 --> 01:03:58,396 És én csak azt a számlálót egy second-- spoiler-- ő fog számolni. 413 01:03:58,396 --> 01:04:00,380 Majd azt mondják, hogy egy pillanatra. 414 01:04:00,380 --> 01:04:02,840 Aztán megyek és Van neki egy másodpercnyi várakozás, 415 01:04:02,840 --> 01:04:04,650 így nem számít fel túl gyorsan. 416 01:04:04,650 --> 01:04:08,430 És akkor végül, módosítsa counter által one-- más szóval, 417 01:04:08,430 --> 01:04:13,520 növeljük a számlálót eggyel hozzáadott értéket és ezt örökké. 418 01:04:13,520 --> 01:04:16,129 >> Tehát a juhok is, mint egy programozó, számít 0. 419 01:04:16,129 --> 01:04:20,350 420 01:04:20,350 --> 01:04:23,740 És ha elég sokáig vár, akkor ezt örökké. 421 01:04:23,740 --> 01:04:27,740 De ez nem egészen igaz, mert sőt, ahogy rájössz az első héten, 422 01:04:27,740 --> 01:04:31,871 egészek és a számítógépek általában technikailag csak egy finite-- jól, 423 01:04:31,871 --> 01:04:33,829 inkább a számítógépek, amikor az általuk képviselt egész számok, 424 01:04:33,829 --> 01:04:35,670 csak véges számú bittel. 425 01:04:35,670 --> 01:04:37,860 Azok izzók vannak csak akkor számíthat, így nagy 426 01:04:37,860 --> 01:04:39,239 mielőtt te ki az izzók. 427 01:04:39,239 --> 01:04:41,590 És a számítógép is, csak annyi memóriát, 428 01:04:41,590 --> 01:04:44,640 Csak annyi tranzisztort, így csak akkor számíthat ilyen magas. 429 01:04:44,640 --> 01:04:47,409 >> Így kiderül, hogy a birkák, Azt hiszem, tud számolni 2000000000 430 01:04:47,409 --> 01:04:48,409 vagy valami nagyon nagy. 431 01:04:48,409 --> 01:04:50,325 Szóval nem fog várni, hogy ez megtörténjen. 432 01:04:50,325 --> 01:04:54,850 De végül néhány hiba fog történni hogy lehet valamilyen nagyon is valós világ 433 01:04:54,850 --> 01:04:55,970 következményei. 434 01:04:55,970 --> 01:04:58,861 De túl a juhok, hogy csak bevezet egy változó. 435 01:04:58,861 --> 01:05:01,110 Menjünk előre, és nyissa fel valami, amit tenni előre 436 01:05:01,110 --> 01:05:07,430 Itt az úgynevezett Pet a Cat-- Pet Cat ide. 437 01:05:07,430 --> 01:05:10,420 És észre itt ez kevés blokkok, de ha zöld zászló 438 01:05:10,420 --> 01:05:12,474 kattintott, örökre a következőt teszi. 439 01:05:12,474 --> 01:05:15,265 Ha megérinti az egér pointer--, hogy a kurzor a képernyőn, 440 01:05:15,265 --> 01:05:18,529 A arrow-- játék hang miau majd várjon két másodpercet. 441 01:05:18,529 --> 01:05:19,570 És csak ezt örökre. 442 01:05:19,570 --> 01:05:22,619 Csak állandóan várni hogy ha a pointer-- 443 01:05:22,619 --> 01:05:24,710 ha a macska nem éri a mutatót. 444 01:05:24,710 --> 01:05:26,060 >> Szóval hit játszani. 445 01:05:26,060 --> 01:05:26,920 Semmi nem történik. 446 01:05:26,920 --> 01:05:28,980 De ahogy a kurzort mozgatja a macska, 447 01:05:28,980 --> 01:05:31,960 >> [NYÁVOGÁS] 448 01:05:31,960 --> 01:05:34,750 >> És ha mozog el, nem petting a macska már. 449 01:05:34,750 --> 01:05:38,090 Így néhány feltételes logika ágyazva egy hurok. 450 01:05:38,090 --> 01:05:43,070 Mi a helyzet a példában szándékosan úgynevezett Ne Pet macska? 451 01:05:43,070 --> 01:05:45,253 Mi ez fog csinálni? 452 01:05:45,253 --> 01:05:47,880 >> [NYÁVOGÁS] 453 01:05:47,880 --> 01:05:50,215 >> Miért ne pet a macska? 454 01:05:50,215 --> 01:05:59,440 >> [NYÁVOGÁS] 455 01:05:59,440 --> 01:06:00,699 >> RENDBEN. 456 01:06:00,699 --> 01:06:03,880 Tehát ez egy példa, ha mást. 457 01:06:03,880 --> 01:06:06,482 Ez a döntési pontot és mert ül a hurok, 458 01:06:06,482 --> 01:06:07,690 mindketten egyre ellenőrizni. 459 01:06:07,690 --> 01:06:08,280 Igaz ez? 460 01:06:08,280 --> 01:06:08,760 Igaz ez? 461 01:06:08,760 --> 01:06:09,250 Igaz ez? 462 01:06:09,250 --> 01:06:09,791 Igaz ez? 463 01:06:09,791 --> 01:06:11,880 És végül, az egyik azok fog alkalmazni 464 01:06:11,880 --> 01:06:16,480 és így nem hallja vagy a miau vagy ordít az oroszlán ebben az esetben. 465 01:06:16,480 --> 01:06:21,400 >> Nos, lássuk, egy kissé divatos egy hogy én előre too-- szálak. 466 01:06:21,400 --> 01:06:25,210 Tehát egy szál egyike dolog, hogy a számítógép képes. 467 01:06:25,210 --> 01:06:29,349 Tehát egy több szálon futó program olyan program Ez képes több dolgot egyszerre. 468 01:06:29,349 --> 01:06:31,140 És ezek mindegyike példák eddig volt 469 01:06:31,140 --> 01:06:35,980 Csak egy script, hogy úgy speak-- Egy ilyen program itt. 470 01:06:35,980 --> 01:06:38,810 De észre ez a program két sprite, két karakter. 471 01:06:38,810 --> 01:06:40,020 Az egyik egy madár. 472 01:06:40,020 --> 01:06:40,870 Az egyik egy macska. 473 01:06:40,870 --> 01:06:45,080 >> És észre, amikor rákattintok le ezeket bal, mindegyikük saját szkriptek 474 01:06:45,080 --> 01:06:47,120 vagy programok velük kapcsolatban. 475 01:06:47,120 --> 01:06:49,420 És mind a két programok, értesítést, kezdő 476 01:06:49,420 --> 01:06:52,600 A mikor zöld zászló clicked-- nézzük meg a cat-- 477 01:06:52,600 --> 01:06:54,030 ha zöld zászló kattintott. 478 01:06:54,030 --> 01:06:58,220 És valóban így, amikor elütöttem játék most, két dolog fog történni egyszerre. 479 01:06:58,220 --> 01:07:01,750 A macska és a madár egyaránt fog működni egyszerre 480 01:07:01,750 --> 01:07:03,815 létrehozni ezt a hatást. 481 01:07:03,815 --> 01:07:05,440 És lehet képzelni, hogy mi történik. 482 01:07:05,440 --> 01:07:08,340 Van egy hurok és a madár és a macska vannak egy hurok. 483 01:07:08,340 --> 01:07:11,270 A madár éppen pattogó, mint Azelőtt voltam, amikor azt mondtam, jaj. 484 01:07:11,270 --> 01:07:13,040 De a macska egyértelműen előnyt jelent. 485 01:07:13,040 --> 01:07:16,040 Van egy másik érzékelő blokk amely kijelöli a macska szándékosan 486 01:07:16,040 --> 01:07:19,836 a madár ebben az esetben itt. 487 01:07:19,836 --> 01:07:22,960 Így lehet ugratni egymástól, a keresett keresztül ezek a blokkok, hogy mi történik. 488 01:07:22,960 --> 01:07:25,460 De a legfontosabb összetevő itt az egyik. 489 01:07:25,460 --> 01:07:28,520 A madár úgy, hogy ez a játék nem teljesen boring-- vagy ennek animation-- 490 01:07:28,520 --> 01:07:30,060 elindul egy véletlenszerű irányba. 491 01:07:30,060 --> 01:07:32,890 És a számítógép érzékeli közötti szám 90 és 180 492 01:07:32,890 --> 01:07:36,110 lényegében úgy, hogy ez egy kissé különböző animációs minden egyes alkalommal. 493 01:07:36,110 --> 01:07:39,480 >> És akkor itt megjegyezni, ha a macska hozzáér a madár, majd 494 01:07:39,480 --> 01:07:42,030 játszanak az oroszlán négy sound-- ordít. 495 01:07:42,030 --> 01:07:46,330 De közben a madár paletta, itt van ez. 496 01:07:46,330 --> 01:07:49,229 Örökre, ha nem érinti a macska, Csak menj tovább három lépést. 497 01:07:49,229 --> 01:07:50,770 És akkor itt van még egy puzzle-darabot. 498 01:07:50,770 --> 01:07:52,030 Ha a szélén, ugrál. 499 01:07:52,030 --> 01:07:54,840 Tehát a madár csak egyfajta törődve a saját üzleti, 500 01:07:54,840 --> 01:07:57,330 csak repülő körül, és pattogó, és ez tényleg 501 01:07:57,330 --> 01:08:01,780 a macska, hogy már a feltételes logika annak megállapítására, hogy elkapta a madarat. 502 01:08:01,780 --> 01:08:02,280 Rendben. 503 01:08:02,280 --> 01:08:08,800 Tehát lássuk egy másik itt, ez hívott Hi Hi Hi. 504 01:08:08,800 --> 01:08:15,100 És ez itt most nem ez egy örökre hurok. 505 01:08:15,100 --> 01:08:18,925 De notice-- hogyan megállítani ez nagyon bosszantó programot? 506 01:08:18,925 --> 01:08:21,600 507 01:08:21,600 --> 01:08:22,640 Nyomja meg a szóköz. 508 01:08:22,640 --> 01:08:27,990 Mert ha én, hogy, a bal kéz program-- 509 01:08:27,990 --> 01:08:31,550 észre, hogy állandóan listening-- a legfontosabb helyet sajtó. 510 01:08:31,550 --> 01:08:34,090 Ha a szóköz gombot, és ha igen, mit csinál? 511 01:08:34,090 --> 01:08:35,980 Ez nem egy nagyon elterjedt módszer. 512 01:08:35,980 --> 01:08:38,590 Meghatározásra változó azonos bizonyos értéket. 513 01:08:38,590 --> 01:08:39,741 De ez bekapcsolja ezt az értéket. 514 01:08:39,741 --> 01:08:41,490 [? Tehát megjelenés?] alapuló shape-- I 515 01:08:41,490 --> 01:08:43,160 változtatható, hogy én írta előre úgynevezett 516 01:08:43,160 --> 01:08:44,770 Némítva, ami csak azt mondja, igen vagy nem. 517 01:08:44,770 --> 01:08:45,880 A hang nélkül, vagy nem? 518 01:08:45,880 --> 01:08:46,990 Igaz vagy hamis? 519 01:08:46,990 --> 01:08:51,580 És észre, azt mondom, ha this-- tompa nulla, akkor váltson egy, 520 01:08:51,580 --> 01:08:53,840 mást beállítani néma nullára. 521 01:08:53,840 --> 01:08:55,540 Tehát csak flip értéke nulláról egy. 522 01:08:55,540 --> 01:08:58,320 Tudtam volna done-- változtatni két-három és 01:57 523 01:08:58,320 --> 01:09:00,162 vagy 4-5 vagy 4-6. 524 01:09:00,162 --> 01:09:01,870 De ez nem számít milyen számok azt használja, 525 01:09:01,870 --> 01:09:04,090 amíg én is változnak meg az ellenkezője. 526 01:09:04,090 --> 01:09:07,290 >> És a legtöbb bármilyen programozó akar csak választani nulla és one-- hamis és igaz, 527 01:09:07,290 --> 01:09:09,510 off és on-- képviseljék ezt. 528 01:09:09,510 --> 01:09:10,930 És ez még mindig fut. 529 01:09:10,930 --> 01:09:12,190 Ha megüt a szóköz újra 530 01:09:12,190 --> 01:09:13,590 >> [SEAL Hangok] 531 01:09:13,590 --> 01:09:15,440 >> A program még mindig fut. 532 01:09:15,440 --> 01:09:18,400 Mert itt van ez a másik script amely azt mondja, örökre tegye a következőket. 533 01:09:18,400 --> 01:09:21,390 534 01:09:21,390 --> 01:09:24,770 Ha az elnémított változó értéke zero-- így ha nincs elnémítva 535 01:09:24,770 --> 01:09:29,609 a logic-- ha ez hamis vagy nem, majd játszani a hangot, 536 01:09:29,609 --> 01:09:30,650 mert nem némítva. 537 01:09:30,650 --> 01:09:33,358 Meg kell játszani a hangot, és azután úgy gondolja, hi hi hi két másodpercig 538 01:09:33,358 --> 01:09:35,790 majd várni, és csinálni újra és újra és újra. 539 01:09:35,790 --> 01:09:40,760 >> És így ezen a módon van még egy módja emberek az alábbiakra: a programok, hogy kölcsönhatásba lépnek. 540 01:09:40,760 --> 01:09:43,120 És nem kell lehet, mint én kelt, mint a többiek. 541 01:09:43,120 --> 01:09:46,280 Tény, dugta around-- no pun intended-- 542 01:09:46,280 --> 01:09:49,250 valaki töltött hatalmas mennyiségű időt az interneten végrehajtási 543 01:09:49,250 --> 01:09:51,580 PokemonGo a Scratch. 544 01:09:51,580 --> 01:09:55,440 Még geolocates Önt Cambridge vagy Allston ide. 545 01:09:55,440 --> 01:10:03,120 Tehát, ha azt szeretnénk, hogy túl, amit az emberek tehetünk this-- nagyon divatos menüt. 546 01:10:03,120 --> 01:10:04,780 Kattints ide. 547 01:10:04,780 --> 01:10:07,430 >> Ez nekem a nyilakkal most. 548 01:10:07,430 --> 01:10:09,446 Megyek, hogy menjen ez után. 549 01:10:09,446 --> 01:10:09,946 Kattintson. 550 01:10:09,946 --> 01:10:12,949 551 01:10:12,949 --> 01:10:14,240 És most rákattint a Pokeball. 552 01:10:14,240 --> 01:10:17,130 553 01:10:17,130 --> 01:10:20,260 Úgy értem, azt hiszem, te állítólag kattintva Pokeball. 554 01:10:20,260 --> 01:10:20,760 Rendben. 555 01:10:20,760 --> 01:10:22,680 Így tettem ezt. 556 01:10:22,680 --> 01:10:23,950 Mehetek ide. 557 01:10:23,950 --> 01:10:27,790 És ez a személy végre néhány PokeBalls felett here-- három PokeBalls. 558 01:10:27,790 --> 01:10:29,950 >> Küldünk egy linket erre online, így játszhat. 559 01:10:29,950 --> 01:10:32,364 De értesítés ott csak Néhány alapvető építőkövei. 560 01:10:32,364 --> 01:10:33,780 Úgy néz ki, tenyésztő, és ez. 561 01:10:33,780 --> 01:10:35,905 Ez a lenyűgöző és több mint azt általában 562 01:10:35,905 --> 01:10:37,740 elvárják, minden bizonnyal probléma beállított nulla. 563 01:10:37,740 --> 01:10:40,809 Fogalmam sincs, mennyi ideig ez a személy online töltött. 564 01:10:40,809 --> 01:10:41,850 De ez az egész csak egy hurok. 565 01:10:41,850 --> 01:10:43,180 Van egy hang lejátszása. 566 01:10:43,180 --> 01:10:44,850 Van valamiféle hurok hallgatta, hogy én vagyok 567 01:10:44,850 --> 01:10:47,558 üti meg a felfelé vagy a lefelé nyíl vagy a jobbra és balra, 568 01:10:47,558 --> 01:10:49,834 majd ha igen, ez mozog ez bizonyos képpontok számát. 569 01:10:49,834 --> 01:10:51,750 És aztán, ha rákattintok Egy másik sprite, van 570 01:10:51,750 --> 01:10:53,390 valamilyen, ha az állapotban van. 571 01:10:53,390 --> 01:10:54,806 Igen, ez már túl intenzív. 572 01:10:54,806 --> 01:10:56,100 Mi fog megállni. 573 01:10:56,100 --> 01:10:57,750 Ez mind az említett alapvető építőkövei. 574 01:10:57,750 --> 01:11:01,530 Nincs egyéb összetevők más mint azok, átnéztük már. 575 01:11:01,530 --> 01:11:04,670 >> És mégis itt, hadd tegye Egy utolsó sor példát 576 01:11:04,670 --> 01:11:06,960 hogy fest egy képet is mit lehet itt csinálni. 577 01:11:06,960 --> 01:11:10,481 Itt egy nagyon egyszerű program, amely csak nem this-- köhögés, köhögés, köhögés. 578 01:11:10,481 --> 01:11:12,480 És alapján csak a mi átnéztük az eddig 579 01:11:12,480 --> 01:11:14,570 ahol a nyilvánvaló lehetőséget a fejlődésre. 580 01:11:14,570 --> 01:11:15,570 Ez a program helyes. 581 01:11:15,570 --> 01:11:17,980 Ez köhög háromszor, amely az, amit tervezett. 582 01:11:17,980 --> 01:11:19,650 De ez rosszul végrehajtott. 583 01:11:19,650 --> 01:11:20,600 Ez rosszul tervezték. 584 01:11:20,600 --> 01:11:22,000 Miért? 585 01:11:22,000 --> 01:11:22,500 Igen. 586 01:11:22,500 --> 01:11:23,230 Ez nem egy hurok. 587 01:11:23,230 --> 01:11:24,610 És ez nem is annyira hogy ez nem egy hurok, 588 01:11:24,610 --> 01:11:26,400 ez, hogy van egy csomó redundancia. 589 01:11:26,400 --> 01:11:28,830 Ott másolják és beillesztett kódot, hogy úgy mondjam. 590 01:11:28,830 --> 01:11:31,830 És a megoldás valószínűleg valóban egy hurok. 591 01:11:31,830 --> 01:11:34,350 Tehát hadd menjen előre és javítsa ezt. 592 01:11:34,350 --> 01:11:36,250 És én fogom húzni ezeket ide. 593 01:11:36,250 --> 01:11:39,986 Hadd menjek előre, és kap egy ismételt blokk, megváltoztathatja ezt a három. 594 01:11:39,986 --> 01:11:41,860 Megyek kidobni néhány ilyen blokkokat. 595 01:11:41,860 --> 01:11:43,150 >> És észre fogod venni, hogy ez elég intuitív. 596 01:11:43,150 --> 01:11:45,691 Te húzással dolgok megjelennek és eltűnnek végül. 597 01:11:45,691 --> 01:11:49,170 És én is csak húzza ezt itt, és most van egy tisztább változat is. 598 01:11:49,170 --> 01:11:50,730 De tudod mit? 599 01:11:50,730 --> 01:11:52,940 Van ez a lehetőség Most abstraction-- 600 01:11:52,940 --> 01:11:56,350 kezdeni, hogy meghatározza az új szókincs hogy MIT nem számítottak. 601 01:11:56,350 --> 01:11:59,110 Van várni, és ismételje és örökre, és ha 602 01:11:59,110 --> 01:12:02,590 de mi van, ha azt akarom, hogy vezessenek be a szó köhögés blokként? 603 01:12:02,590 --> 01:12:06,230 Mit tegyünk, ha egy puzzle-darab amelynek célja az életben, hogy köhög? 604 01:12:06,230 --> 01:12:10,720 >> Nos, nézzük meg ezt a verziót itt, amit elő az alábbiak szerint. 605 01:12:10,720 --> 01:12:13,579 Varázslatosan, hoztam létre ezt a puzzle darab itt, 606 01:12:13,579 --> 01:12:14,870 amely lehetővé teszi, Scratch csinálni. 607 01:12:14,870 --> 01:12:16,787 És valóban a C és Python és a JavaScript 608 01:12:16,787 --> 01:12:18,370 engedem, hogy ezt is. 609 01:12:18,370 --> 01:12:21,830 Hozhat létre saját egyéni darabokat, hogy hívják, amit akarsz. 610 01:12:21,830 --> 01:12:24,890 Ebben az esetben a köhögés érzi mint egy ésszerű meghatározása. 611 01:12:24,890 --> 01:12:27,880 Majd ezeket a darabokat le Itt lehet meghatározni, hogy mit jelent. 612 01:12:27,880 --> 01:12:30,290 >> Azt húzta, és csökkent a ezt a palettát here-- több 613 01:12:30,290 --> 01:12:33,500 blocks-- ez a nagy lila blokk, ahol beírtam köhögés 614 01:12:33,500 --> 01:12:35,290 mint a neve az új puzzle-darabot. 615 01:12:35,290 --> 01:12:39,920 És akkor azt mondom, ha a felhasználó bármikor felszólítja az új köhögés puzzle-darab, 616 01:12:39,920 --> 01:12:41,770 do beleszólása és a várakozás. 617 01:12:41,770 --> 01:12:46,160 És így itt az én ismétlés blokk, Én is csak köhögni háromszor. 618 01:12:46,160 --> 01:12:49,972 >> És én azt állítják, elsősorban Ha most elrejti ezt a részletet. 619 01:12:49,972 --> 01:12:51,430 Kit érdekel, hogy milyen köhögés végrehajtani? 620 01:12:51,430 --> 01:12:54,390 Csak az érdekel, mint a programozó, hogy tudok köhögni. 621 01:12:54,390 --> 01:12:56,280 Nem érdekel, hogyan mondják végrehajtását. 622 01:12:56,280 --> 01:12:58,620 Csak érdekel, hogy a macska mondani valamit. 623 01:12:58,620 --> 01:13:02,720 Tudok elvonatkoztatni, hogy részletesen és csak összpontosítani, mi van a képernyőn van. 624 01:13:02,720 --> 01:13:04,400 De én még egy lépéssel tovább. 625 01:13:04,400 --> 01:13:08,070 >> Figyeljük meg, hogy itt, van végre a hurok háromszor. 626 01:13:08,070 --> 01:13:11,560 De mi van, ha ehelyett Megragadom ezt a verziót? 627 01:13:11,560 --> 01:13:14,640 És mi van, ha ahelyett, ez a verzió van, 628 01:13:14,640 --> 01:13:18,730 Csak megváltoztatni a puzzle-darab, hogy érvelés és beviteli nektek is? 629 01:13:18,730 --> 01:13:21,100 És, hogy a bemeneti lehet Számos hasonló három. 630 01:13:21,100 --> 01:13:24,580 Tehát most, ha írok egy programot és szeretném, ha a macska köhögni, 631 01:13:24,580 --> 01:13:28,270 Tudom valójában mondani a puzzle darabot hányszor köhögés, 632 01:13:28,270 --> 01:13:31,990 mert az alján van, a szakértő változata ezeket az egyéni puzzle darabkái 633 01:13:31,990 --> 01:13:34,500 Hagyja, hogy meghatározza, hogy köhögés valóban vesz 634 01:13:34,500 --> 01:13:36,951 Egy input-- vesz egy érv, mint ez. 635 01:13:36,951 --> 01:13:37,700 És tudod mit? 636 01:13:37,700 --> 01:13:38,890 Talán észre, várj egy percet. 637 01:13:38,890 --> 01:13:40,680 A köhögés a same-- ez alapvetően 638 01:13:40,680 --> 01:13:42,120 ugyanaz a gondolat, mint a tüsszögés. 639 01:13:42,120 --> 01:13:44,040 Ez csak egy másik szó a képernyőn. 640 01:13:44,040 --> 01:13:46,550 Tudok elvonatkoztatni továbbfejlesztése és végrehajtása 641 01:13:46,550 --> 01:13:48,750 E végső változata köhögés, amely első pillantásra 642 01:13:48,750 --> 01:13:50,660 jóval bonyolultabb keres. 643 01:13:50,660 --> 01:13:52,140 De észre, hogy mit tettem. 644 01:13:52,140 --> 01:13:55,930 Most már generalized-- genericized really-- a kirakós darabot 645 01:13:55,930 --> 01:13:59,900 hogy hívják azt mondják szó n-szer. 646 01:13:59,900 --> 01:14:04,410 >> És most már két új puzzle-darabokat ide meghatározza köhögés n-szer. 647 01:14:04,410 --> 01:14:06,790 És mit jelent a köhögés funkció hatása? 648 01:14:06,790 --> 01:14:08,420 Mit jelent a szokás puzzle darabot csinálni? 649 01:14:08,420 --> 01:14:11,996 Ez csak kéri az mondjuk blokk, átadva a szót szeretnék mondani, 650 01:14:11,996 --> 01:14:13,870 halad a szám hányszor szeretnék mondani. 651 01:14:13,870 --> 01:14:18,210 Mert most már tudom végrehajtani tüsszentés által egyszerűen csak annyit mondok achoo, 652 01:14:18,210 --> 01:14:20,320 Ebben az esetben a néhány számú alkalommal. 653 01:14:20,320 --> 01:14:22,360 >> És így én rétegezés és rétegződés. 654 01:14:22,360 --> 01:14:25,690 És ismét, a kulcs itt nem hogyan hajtják végre, de az a tény, 655 01:14:25,690 --> 01:14:28,070 hogy ha csak a szó szoros értelmében mozgatni ezeket a ki a képernyőn, 656 01:14:28,070 --> 01:14:31,280 nézd, milyen egyszerű, ha nem elég a programot most úgy néz ki. 657 01:14:31,280 --> 01:14:33,930 Mert mit is mondja, amit kivett 658 01:14:33,930 --> 01:14:37,640 el, mi van benne, hogy a fekete doboz. előfordul, hogy a lila doboz itt, 659 01:14:37,640 --> 01:14:41,430 de már akadályozta el, mi van benne mert nem érdekel, hogy hogyan működik. 660 01:14:41,430 --> 01:14:43,650 Csak érdekel, most, hogy ez működik. 661 01:14:43,650 --> 01:14:46,375 >> És valóban, a probléma állítsa nullára, ez pontosan 662 01:14:46,375 --> 01:14:49,250 az a fajta rétegződés ötletek azt is megtudhatod lehetősége van arra, hogy tárja fel. 663 01:14:49,250 --> 01:14:53,510 Ez pontosan a lehetőséget, hogy alkalmazni problémamegoldó technikák, 664 01:14:53,510 --> 01:14:55,550 amit valószínűleg egy idegen környezetben. 665 01:14:55,550 --> 01:14:57,890 És az, hogy már nincs programozva előtt, vagy beprogramozott, 666 01:14:57,890 --> 01:14:59,500 rájössz, hogy ott van egy kis valamit 667 01:14:59,500 --> 01:15:00,874 ebben a környezetben mindenki számára. 668 01:15:00,874 --> 01:15:02,770 És a probléma beállítva Egy egy hét múlva, 669 01:15:02,770 --> 01:15:06,630 fogunk áttért fókuszálás egy magasabb szintű nyelv úgynevezett 670 01:15:06,630 --> 01:15:09,290 C-- vagy inkább alacsonyabb szintű nyelv úgynevezett 671 01:15:09,290 --> 01:15:11,347 C-- hogy még ennél is erős, annak ellenére, hogy 672 01:15:11,347 --> 01:15:12,930 egy kicsit rejtélyes első pillantásra. 673 01:15:12,930 --> 01:15:16,740 >> És rájössz per mai TL: DR, hogy ez a probléma meghatározott rövidebb 674 01:15:16,740 --> 01:15:19,880 ablak az idő, mint a jövőben is, egyszerűen mert meg kell találni azt meglehetősen 675 01:15:19,880 --> 01:15:20,420 hozzáférhető. 676 01:15:20,420 --> 01:15:22,211 És nem kell aggódnia, ha hozzá az osztály végén. 677 01:15:22,211 --> 01:15:23,920 Majd foglalkozik, hogy nemsokára. 678 01:15:23,920 --> 01:15:28,480 És tárgyalunk az torta, hadd befejezni csak egy kétperces megjelenés 679 01:15:28,480 --> 01:15:30,500 A mi vár rád itt CS50. 680 01:15:30,500 --> 01:15:40,950 681 01:15:40,950 --> 01:17:20,803 [ZENE] 682 01:17:20,803 --> 01:17:21,302 Rendben. 683 01:17:21,302 --> 01:17:22,690 Ennyi az CS50. 684 01:17:22,690 --> 01:17:23,650 Látni fogjuk, hogy hamarosan. 685 01:17:23,650 --> 01:17:25,526 Cake most fel. 686 01:17:25,526 --> 01:17:28,998 687 01:17:28,998 --> 01:18:14,267 [ZENE] 688 01:18:14,267 --> 01:18:16,350 SPEAKER 17: Hallottál A haladék, főnök? 689 01:18:16,350 --> 01:18:29,490 690 01:18:29,490 --> 01:18:31,920 SPEAKER 18: Lehet, hogy van Több a motorháztető alatt. 691 01:18:31,920 --> 01:18:38,279