1 00:00:00,000 --> 00:00:00,479 2 00:00:00,479 --> 00:00:10,830 >> [MUZIKO ludi] 3 00:00:10,830 --> 00:00:12,080 [MUZIKO - Rossini, "RANZ donas VACHES "EL WILLIAM TELL] 4 00:00:12,080 --> 00:00:24,222 5 00:00:24,222 --> 00:00:25,472 >> [MUZIKO - LA ANGLA BEAT, "MARTO DE LA giratoria kapoj "] 6 00:00:25,472 --> 00:02:24,538 7 00:02:24,538 --> 00:02:31,510 >> [Aplaŭdoj kaj huraoj] 8 00:02:31,510 --> 00:02:33,520 >> DAVID Malan: Do ĉi tiu estas CS50. 9 00:02:33,520 --> 00:02:34,730 Mia nomo estas David Malan. 10 00:02:34,730 --> 00:02:39,250 Kaj 73% el vi havas neniun antaŭan sperton kun komputiko, 11 00:02:39,250 --> 00:02:41,300 Male al kio vi eble pensas. 12 00:02:41,300 --> 00:02:45,290 Do hodiaŭ ni pensis ke ni devus Blato for en tiu manko de familiareco, sed ankaŭ 13 00:02:45,290 --> 00:02:48,970 doni al vi la senton de, por tiuj el vi kun pli da komforto, kiu direktoj 14 00:02:48,970 --> 00:02:50,550 vi povas iri ĉi semestro. 15 00:02:50,550 --> 00:02:51,890 >> Do ni komencu per tiu. 16 00:02:51,890 --> 00:02:55,490 Mi vere ne scias kio estas ene de komputilo, kvankam, kiel vi, mi 17 00:02:55,490 --> 00:02:56,780 uzas ĝin ĉiutage. 18 00:02:56,780 --> 00:03:00,000 Sed estas iu speco de skatolo, kaj estas ne multaj enigoj en ĝin. 19 00:03:00,000 --> 00:03:01,350 Minimume, estas, kio? 20 00:03:01,350 --> 00:03:03,120 Probable potenco ŝnuron. 21 00:03:03,120 --> 00:03:06,640 >> Kaj ĝuste kun ĉi tiu ingredienco, elektro, ni ŝajnas esti kapabla 22 00:03:06,640 --> 00:03:09,490 fari sufiĉe tiuj tagoj. 23 00:03:09,490 --> 00:03:12,130 Sed je la fino de la tago, ni devas reprezenti la aĵojn 24 00:03:12,130 --> 00:03:12,860 ke ni zorgas pri. 25 00:03:12,860 --> 00:03:15,240 Ni devas reprezenti informojn en iu formo. 26 00:03:15,240 --> 00:03:18,365 Kaj vi probable almenaŭ pigre familiara kun la ideo de duumaj aŭ 27 00:03:18,365 --> 00:03:21,370 bitoj iu maniero aŭ alia, komputiloj reduktita al nuloj kaj. 28 00:03:21,370 --> 00:03:26,320 Sed ni povas brakumi tio kaj almenaŭ metu iom da lumo por ke? 29 00:03:26,320 --> 00:03:28,880 >> Do mi havas ĉi tiujn iom skribtablo lampoj tie. 30 00:03:28,880 --> 00:03:30,450 Mi havas elektran elirejon tie. 31 00:03:30,450 --> 00:03:33,930 Kaj mi tuj proponi ke ene de mia komputilo estas almenaŭ unu el 32 00:03:33,930 --> 00:03:37,300 tion, iu kapablas esti ŝaltita aŭ ekstere. 33 00:03:37,300 --> 00:03:40,200 En ĉi tiu kazo, ĝi estas ja skribtablo lampo, sed en la suba nivelo, estas io 34 00:03:40,200 --> 00:03:41,500 nomata transistoro. 35 00:03:41,500 --> 00:03:44,730 >> Sed en nia mondo, estas tablo lampo, tiel Mi tuj iros antaŭen kaj ŝtopi tiun 36 00:03:44,730 --> 00:03:47,990 en mian elektro tie. 37 00:03:47,990 --> 00:03:52,970 Kaj mi asertas ke uzi tiun simplan, simpla mekanismo, tiu simpla ŝaltilo, mi 38 00:03:52,970 --> 00:03:54,850 povas reprezenti informojn. 39 00:03:54,850 --> 00:03:58,090 Ekzemple, nun mi estas reprezenti ion, ĉu ne? 40 00:03:58,090 --> 00:04:01,820 Mi reprezentas kion mi vokos 0 aŭ falsa, la malo de io 41 00:04:01,820 --> 00:04:03,130 fakte, cxeestante. 42 00:04:03,130 --> 00:04:07,050 Sed se mi simple turni ĉi tiu ŝaltilo, nun mi reprezentis 1. 43 00:04:07,050 --> 00:04:10,720 Do uzante tiun tre simpla peco de memoro, se vi volas, mi povas reprezenti 44 00:04:10,720 --> 00:04:11,450 informoj. 45 00:04:11,450 --> 00:04:14,350 >> Nun bedaŭrinde, mia komputilo ne povas fari cxion, kio multe. 46 00:04:14,350 --> 00:04:17,430 Ĝi nur povas reprezenti du valoroj en la tuta mondo - 47 00:04:17,430 --> 00:04:18,620 0 aŭ 1. 48 00:04:18,620 --> 00:04:21,839 Sed kio estas evidenta solvo, nun, se ni deziras pligrandigi niajn komputilo 49 00:04:21,839 --> 00:04:25,120 memoro kaj reprezentas pli ol nur 0 kaj 1? 50 00:04:25,120 --> 00:04:27,060 >> Nu, ni kaptu alia tia iom. 51 00:04:27,060 --> 00:04:30,260 Ni ekpreni alian ŝaltilon, alia transistoro, tamen vi ŝatus 52 00:04:30,260 --> 00:04:31,130 opinias pri ĝi. 53 00:04:31,130 --> 00:04:34,170 Lasu min antaŭeniri kaj ŝtopi tiun en mian komputilon tiel. 54 00:04:34,170 --> 00:04:38,270 Kaj mi tuj asertas, nun, ke per uzante iom pli elektro kaj 55 00:04:38,270 --> 00:04:42,290 igante pli da tiuj ŝaltiloj en kaj malproksime, mi povas reprezenti pli tiaj 56 00:04:42,290 --> 00:04:43,020 informoj. 57 00:04:43,020 --> 00:04:44,660 >> Do ĝuste nun, ĉi tiu estas 1. 58 00:04:44,660 --> 00:04:48,120 Se mi volas nun prezenti 2, mi povis fari tion. 59 00:04:48,120 --> 00:04:51,510 Sed tipe, konvencio, kiel ni instruos vin fine vidas, havos min fari tion. 60 00:04:51,510 --> 00:04:55,260 Do tiu estas 0, ĉi tio estas 1. 61 00:04:55,260 --> 00:04:56,720 Ĉi tiu estus 2. 62 00:04:56,720 --> 00:04:59,920 Kaj ne mirinde, tiu estus 3. 63 00:04:59,920 --> 00:05:02,610 >> Do, en tiu maniero, ankoraŭ, ĉu ni rigardas supren ecx plie? 64 00:05:02,610 --> 00:05:06,500 Se mi akiros tria bito, tria ŝaltilo, kio estas la plej alta nombro mi povas nun 65 00:05:06,500 --> 00:05:09,720 rakonti ĝis de 0? 66 00:05:09,720 --> 00:05:12,020 Do 7 se mi startanta je 0, ĉu ne? 67 00:05:12,020 --> 00:05:15,980 Ĉar se mi turnas tiun lumon sur kaj vere ŝtopi tiun tria kaj fina 68 00:05:15,980 --> 00:05:20,090 lumon en mian elektran konektilon tie, tiam mi havas la kapablon por reprezenti 69 00:05:20,090 --> 00:05:24,930 iu el du valoroj tie, du valoroj ĉi tie, du valoroj tie - 70 00:05:24,930 --> 00:05:32,610 kaj do mi povas reprezenti 2 fojoj 2 fojoj 2, aŭ ok eblaj valoroj. 71 00:05:32,610 --> 00:05:36,340 Kaj se mi komencas librotenado ĉe 0, tiel tio estas 0, 1, 2, 3, 4, 5, 6, 7. 72 00:05:36,340 --> 00:05:37,480 >> Do tiu duuma. 73 00:05:37,480 --> 00:05:39,420 Vere estas tiel simpla kiel tiu. 74 00:05:39,420 --> 00:05:41,930 Kaj mi volas argumenti ke tiu fakte estas sufiĉe familiara al plej 75 00:05:41,930 --> 00:05:43,180 ĉiuj en tiu ĉambro. 76 00:05:43,180 --> 00:05:45,710 Lasu min antaŭeniri kaj malfermi iom tekstoredaktilo tie. 77 00:05:45,710 --> 00:05:49,040 >> Kaj eble vi memoras de grado lernejo ke ni havis aĵoj kiel la centoj 78 00:05:49,040 --> 00:05:51,970 loko, la dekoj loko, kaj tiuj, loko. 79 00:05:51,970 --> 00:05:55,040 Kaj memoru, ke se vi havis iun dekuma nombro, kiel iu hazarda 80 00:05:55,040 --> 00:05:59,470 kiel 123, vi farus esence skribi ke ekstere en la formo 81 00:05:59,470 --> 00:06:00,450 de tiuj tri kolumnoj. 82 00:06:00,450 --> 00:06:04,070 Kaj kial estas 1, 2, 3 kio ni konas 123? 83 00:06:04,070 --> 00:06:11,220 Nu, en la maldekstra kolumno, ni havas unu 100 plus du 10s, do tio estas 120, 84 00:06:11,220 --> 00:06:14,250 plus tri 1s, do tio estas 123. 85 00:06:14,250 --> 00:06:17,990 >> Nun ĉi tiu mondo kiun ni ĵus lumigis Estas ĝuste la sama kiel 86 00:06:17,990 --> 00:06:21,150 vi jam estis familiara kun dum jaroj, krom nun, niaj kolumnoj 87 00:06:21,150 --> 00:06:22,060 ne estas potencoj de 10. 88 00:06:22,060 --> 00:06:23,780 Ili estas nur potencoj de 2. 89 00:06:23,780 --> 00:06:27,830 Do dum tio estas tiuj, loko, tiu tuj estos la duope loko, ĉi tiu estas 90 00:06:27,830 --> 00:06:29,540 tuj estos la kvarpiede loko. 91 00:06:29,540 --> 00:06:33,260 >> Kaj ĉar mi estas nur uzante la simpla de mekanismoj por turni aĵoj 92 00:06:33,260 --> 00:06:37,100 ene kaj ekstere - elektro fluas aŭ elektro ne fluas - 93 00:06:37,100 --> 00:06:40,880 Mi ne sufiĉe havas la saman esprima gamo kiel 0 tra naŭ. 94 00:06:40,880 --> 00:06:43,270 Ni tuj fari gxin super simpla en ĉi tiu mondo de komputiloj. 95 00:06:43,270 --> 00:06:45,060 Mi nur havas 0 aŭ 1 - 96 00:06:45,060 --> 00:06:47,890 ekstere aŭ sur, falsaj aŭ veraj. 97 00:06:47,890 --> 00:06:52,610 >> Kaj tiel kion mi reprezentas nun estas 1, 1, 1, ĉar ĉiu el tiuj 98 00:06:52,610 --> 00:06:54,000 lumoj estas lumigita. 99 00:06:54,000 --> 00:06:59,600 Nu, tio donas al mi unu 4 plus unu 2, tuj kiam tio estas 6, plus unu 1, kaj tio estas 7. 100 00:06:59,600 --> 00:07:03,450 Kaj ergo faras ĉi vico de tri bitoj reprezentas la numero 7. 101 00:07:03,450 --> 00:07:06,330 >> Do tiu tuta tempo, ene de via komputilo, estis ajna kvanto de 102 00:07:06,330 --> 00:07:08,090 transistoroj, ajna kvanto de bitoj. 103 00:07:08,090 --> 00:07:10,380 Sed je la fino de la tago, ni povas reprezenti informojn 104 00:07:10,380 --> 00:07:12,560 kiel simple kiel tiu. 105 00:07:12,560 --> 00:07:16,770 Nun bedaŭrinde, ni nur rakontis ĝis 7 en CS50 tiel malproksime, sed 106 00:07:16,770 --> 00:07:18,550 espereble ni povas fari iom pli bona ol tio. 107 00:07:18,550 --> 00:07:19,550 Kaj efektive ni povas. 108 00:07:19,550 --> 00:07:23,570 >> Supozu ke ni kiel homoj simple arbitre decidis ke ni iras 109 00:07:23,570 --> 00:07:28,750 asocii nombroj kiel 1 kaj 2, 3, 4, 5, 6, 7, kun specifaj literoj de 110 00:07:28,750 --> 00:07:29,410 la alfabeto. 111 00:07:29,410 --> 00:07:32,350 Kaj pro historiaj kialoj, mi tuj komenci iom arbitre, sed mi 112 00:07:32,350 --> 00:07:36,880 dironta, la homoj, tuj decidi kiel normo, sume, ke 113 00:07:36,880 --> 00:07:43,200 65 reprezentas la numeron de la litero A. 66 reprezentos B. Dot, punkto, ĝi pentras. 114 00:07:43,200 --> 00:07:45,140 90 reprezentos la letero Z. 115 00:07:45,140 --> 00:07:48,000 >> Kaj ni supozu, se ni vere metis iom pensis en ĝin, ni povus veni supren 116 00:07:48,000 --> 00:07:50,860 kun la numeroj por ekkrio punktoj kaj minuskla literoj, kaj efektive, 117 00:07:50,860 --> 00:07:52,710 aliaj personoj faris tion por ni. 118 00:07:52,710 --> 00:07:56,410 Do nun ni havis bitoj kun kiu ni povas reprezenti nombrojn, nombroj kun kiu 119 00:07:56,410 --> 00:08:00,130 ni povas reprezenti literojn, kaj kun leteroj ni povas nun komenci formi 120 00:08:00,130 --> 00:08:02,650 retpoŝtojn kaj printeblaj signoj en la ekrano. 121 00:08:02,650 --> 00:08:05,850 >> Do mi invitas, se mi povus, ok kuraĝa volontuloj - 122 00:08:05,850 --> 00:08:09,200 kiuj ne gravas aperi ne nur en ĉambro sed en la interreto - 123 00:08:09,200 --> 00:08:13,130 veni ĉi tien kaj reprezenti ok tiaj bitoj, anstataŭ tiuj tri. 124 00:08:13,130 --> 00:08:14,380 Do kiel pri unu, du? 125 00:08:14,380 --> 00:08:16,290 Kion pri tri? 126 00:08:16,290 --> 00:08:20,230 Kion pri kvar en lumo blua, kvin sur la fino? 127 00:08:20,230 --> 00:08:21,250 Pri iu ĉi tie? 128 00:08:21,250 --> 00:08:25,320 Ses en fronto, sep en fronto, kaj ok en fronto, tiel. 129 00:08:25,320 --> 00:08:29,050 >> Do mi Hazarde veni preta kun tuta amaso de pecoj de papero. 130 00:08:29,050 --> 00:08:34,150 Kaj en tiuj pecoj de papero estas nombroj kiuj reprezentas kion kolumnoj 131 00:08:34,150 --> 00:08:35,809 you guys iras reprezenti. 132 00:08:35,809 --> 00:08:36,740 Do vi estos - kio estas via nomo? 133 00:08:36,740 --> 00:08:37,570 >> Lernanto: Anna Lea. 134 00:08:37,570 --> 00:08:40,370 >> DAVID Malan: Anna Lea, vi estos la 128s kolumno. 135 00:08:40,370 --> 00:08:41,059 Vi estas? 136 00:08:41,059 --> 00:08:41,510 >> Lernanto: Chris. 137 00:08:41,510 --> 00:08:43,620 >> DAVID Malan: Chris volo esti la 64s kolumno. 138 00:08:43,620 --> 00:08:44,070 Vi estas? 139 00:08:44,070 --> 00:08:44,540 >> Lernanto: Dan. 140 00:08:44,540 --> 00:08:46,970 >> DAVID Malan: Dan volo esti la 32s kolumno. 141 00:08:46,970 --> 00:08:47,470 >> Lernanto: Pramit. 142 00:08:47,470 --> 00:08:49,430 >> DAVID Malan: Pramit volo esti la 16s kolumno. 143 00:08:49,430 --> 00:08:50,290 >> Lernanto: Lillian. 144 00:08:50,290 --> 00:08:51,904 >> DAVID Malan: Lillian estos la 8s. 145 00:08:51,904 --> 00:08:52,768 >> Lernanto: Jill. 146 00:08:52,768 --> 00:08:55,025 >> DAVID Malan: Jill volo esti la 4s kolumno. 147 00:08:55,025 --> 00:08:55,400 >> Lernanto: Maria. 148 00:08:55,400 --> 00:08:57,000 >> DAVID Malan: Mary estos la 2s, kaj? 149 00:08:57,000 --> 00:08:57,470 >> Lernanto: Davido. 150 00:08:57,470 --> 00:08:59,220 >> DAVID Malan: Davido volo esti la 1s kolumno. 151 00:08:59,220 --> 00:09:02,030 Do se vi infanoj povus treti iom antaŭen tiel ke ĉiuj povu vidi. 152 00:09:02,030 --> 00:09:05,370 Kion vi infanoj ne vidas estas ke en la dorso de tiuj pecoj de papero estas 153 00:09:05,370 --> 00:09:09,760 iom cheat folio tio estas estonta instrui tiujn ok bitoj al ĉu 154 00:09:09,760 --> 00:09:12,380 levi sian manon aŭ ne levi sian manon. 155 00:09:12,380 --> 00:09:14,100 Se lia mano levigxas, ili estas reprezentante 1. 156 00:09:14,100 --> 00:09:17,120 Se lia mano restas malsupren, ili estas reprezentante 0. 157 00:09:17,120 --> 00:09:21,410 >> Dume, ni la publiko devus esti povis diveni, bazita sur ĉi tiu 158 00:09:21,410 --> 00:09:26,490 surĵeto, kion tri-letero vorto tiuj uloj intencas literumi ĝin. 159 00:09:26,490 --> 00:09:29,700 Do, en nur momente, vi tuj legi la unuan linion sur la dorso de 160 00:09:29,700 --> 00:09:32,880 via cheat tukon, kaj vi ĉu tuj supreniri aŭ ne levi vian manon. 161 00:09:32,880 --> 00:09:35,710 Se vi estas 1, vi proponas, se vi estas 0, vi staras tie 162 00:09:35,710 --> 00:09:38,594 mallerte, ĝuste tiel. 163 00:09:38,594 --> 00:09:40,386 Iru. 164 00:09:40,386 --> 00:09:43,945 Kio numeron, unuavice, estas tiuj infanoj reprezentas? 165 00:09:43,945 --> 00:09:47,140 166 00:09:47,140 --> 00:09:48,860 >> 66. 167 00:09:48,860 --> 00:09:49,560 66, ĉu ne? 168 00:09:49,560 --> 00:09:52,400 Ni havas 1 en la 64s kolumno, 1 en la 2s kolumno. 169 00:09:52,400 --> 00:09:56,340 Tio donas al mi 66, tiel ke aperas esti reprezentanto B. Do 170 00:09:56,340 --> 00:09:57,075 vi infanoj literumita - 171 00:09:57,075 --> 00:09:58,300 Bone, tio sufiĉas. 172 00:09:58,300 --> 00:09:59,430 B. 173 00:09:59,430 --> 00:10:01,610 >> Do nun ni movi sur nia dua litero. 174 00:10:01,610 --> 00:10:03,530 Iru. 175 00:10:03,530 --> 00:10:06,860 Kiu estas plej rapida en matematiko ĉi tie? 176 00:10:06,860 --> 00:10:07,750 Do 79. 177 00:10:07,750 --> 00:10:11,840 Denove, se ni aldonas la tutan de la kolumnoj en kiuj estas 1, aktuale, nur 178 00:10:11,840 --> 00:10:14,840 kiel ni faris antaŭe kun la simpla de ekzemploj de 7, ni nun 179 00:10:14,840 --> 00:10:16,140 akiri la numeron 79. 180 00:10:16,140 --> 00:10:19,910 Kiu laŭ nia surĵeto estas la letero O. Do ni estas preskaŭ tie. 181 00:10:19,910 --> 00:10:22,590 B, O. Kaj laste, iru. 182 00:10:22,590 --> 00:10:26,420 183 00:10:26,420 --> 00:10:30,120 >> Kion ili reprezentas nun? 184 00:10:30,120 --> 00:10:31,370 Malpli konsento. 185 00:10:31,370 --> 00:10:34,660 186 00:10:34,660 --> 00:10:36,460 Tio estas nur absoluta murmuro. 187 00:10:36,460 --> 00:10:40,090 Jes, estas fakte 87. 188 00:10:40,090 --> 00:10:40,490 Bona. 189 00:10:40,490 --> 00:10:44,480 >> Do, se ni nun mapaj ke reen ĝis - ni komenci nomante nian ASCII grafikaĵo, 190 00:10:44,480 --> 00:10:46,450 American Standard Code for Informo Interŝanĝo. 191 00:10:46,450 --> 00:10:47,700 Tio donas al ni la leteron - 192 00:10:47,700 --> 00:10:51,260 193 00:10:51,260 --> 00:10:54,810 ne "bo", sed "pafarkon." Kaj tio estas perfekta cue por vi infanoj preni pafarko 194 00:10:54,810 --> 00:10:56,100 kaj kapon sur dorso. 195 00:10:56,100 --> 00:10:56,980 Dankon tre multe. 196 00:10:56,980 --> 00:10:57,886 >> [Aplaŭdo] 197 00:10:57,886 --> 00:10:59,136 >> DAVID Malan: Vi povas subteni ilin. 198 00:10:59,136 --> 00:11:01,850 199 00:11:01,850 --> 00:11:05,942 Kvankam fakte, estus iu kiel skribtablo lampo, ankaŭ? 200 00:11:05,942 --> 00:11:07,300 >> [Hoot EL aŭdienco] 201 00:11:07,300 --> 00:11:08,390 >> DAVID Malan: Desk lampo? 202 00:11:08,390 --> 00:11:10,850 >> [Ridado] 203 00:11:10,850 --> 00:11:11,860 >> DAVID Malan: Vere? 204 00:11:11,860 --> 00:11:13,230 Skribtablo lampoj por ĉiuj? 205 00:11:13,230 --> 00:11:14,310 Ĉio bone. 206 00:11:14,310 --> 00:11:20,990 Do komencante per la tre plej simpla de principoj, ni nun ne nur rakontis 207 00:11:20,990 --> 00:11:24,750 supren de 0 tuta vojo ĝis 7, ni supozis ke nur ĵetante pli 208 00:11:24,750 --> 00:11:28,080 bitojn aŭ pli lumoj aŭ pli transistoroj en ĉi tiu problemo, ni povas 209 00:11:28,080 --> 00:11:32,680 reprezenti pli kaj pli granda nombro, kaj ergo, pli kaj pli varias de 210 00:11:32,680 --> 00:11:33,780 alfabetoj, kiel la angla. 211 00:11:33,780 --> 00:11:37,770 Kaj ĝuste ni prenu sur fido por hodiaŭ kiuj simile povus ni komencas 212 00:11:37,770 --> 00:11:42,220 reprezenti grafiko kaj video kaj ajna numeron de alispeca kun kiu ni estas 213 00:11:42,220 --> 00:11:43,610 parenco hodiaŭ. 214 00:11:43,610 --> 00:11:49,240 >> Do tiu estas CS50, kaj en ĉi tiu klaso apud vi estas, denove, tre multaj 215 00:11:49,240 --> 00:11:53,050 samklasanoj kiuj havas tiom malmulte sperti kiel vi. 216 00:11:53,050 --> 00:11:57,730 Mi mencias ĉi nur pro sufiĉe ofte, inkluzive kiel ĵus kiel unu el 217 00:11:57,730 --> 00:12:01,860 la novulo konsilante eventoj kaj ĉe lasta printempo de sophomore konsilante 218 00:12:01,860 --> 00:12:06,420 evento, ni ofte aŭdas studentoj disclaim kiam venis al la CS tablo, nu, 219 00:12:06,420 --> 00:12:10,070 Mi pensas pri preni tiun intro klaso, sed mi ne vere 220 00:12:10,070 --> 00:12:11,120 komputilo persono. 221 00:12:11,120 --> 00:12:13,220 Aŭ, sed ĉiuj certe scias pli ol mi. 222 00:12:13,220 --> 00:12:17,340 Mi metis tion en la plej granda tiparo eblas, por transdoni ĉi tiun mesaĝon, ke 223 00:12:17,340 --> 00:12:18,730 tio ne estas fakte la kazo. 224 00:12:18,730 --> 00:12:21,100 >> Kaj se vi scivolas, devus Mi, fakte, esti ĉi tie? 225 00:12:21,100 --> 00:12:25,950 Konscii, ke ne nur estas ĉi tiu kurso de titolo Enkonduko al komputila 226 00:12:25,950 --> 00:12:31,740 Scienco, ĝi estas Enkonduko al komputila Scienco I. Do estas ja 227 00:12:31,740 --> 00:12:33,170 dua tia enkonduko. 228 00:12:33,170 --> 00:12:35,390 Do vi ne estas, fakte, en la malĝusta loko. 229 00:12:35,390 --> 00:12:39,000 Kaj inter la celoj mi havas por hodiaŭ estas al assuage tiajn zorgojn vin 230 00:12:39,000 --> 00:12:42,430 povus havi, sed ankaŭ por pentri bildo de kio estas en vendejo por 231 00:12:42,430 --> 00:12:45,720 studentoj malpli kaj pli komforta egale en ĉi tiu kurso. 232 00:12:45,720 --> 00:12:49,320 >> Sed unue, vorto en unu el la handouts vi havas hodiaŭ, inter kiuj 233 00:12:49,320 --> 00:12:50,780 Estas nombro de FAQs. 234 00:12:50,780 --> 00:12:54,290 Jam pasis vizion de nia por iu tempo nun enkonduki novan gradeco 235 00:12:54,290 --> 00:12:57,010 opcion en ĉi tiu kurso - nome, SAT / UNSAT. 236 00:12:57,010 --> 00:13:01,930 Filozofie por mi, estas multe da, multe pli grava ol la 237 00:13:01,930 --> 00:13:05,050 lernantoj en tiu klaso partoprenas kun la materialo, esti kontestita de la 238 00:13:05,050 --> 00:13:09,800 materialo, kaj maltrankviliĝu, kiu havas multe malpli pri la mekaniko de reala partituroj 239 00:13:09,800 --> 00:13:12,590 kaj litero gradoj ĉe semestro la fino, sed vere brakumas la 240 00:13:12,590 --> 00:13:13,970 kurson kaj lia materialo. 241 00:13:13,970 --> 00:13:18,140 Kaj vere tiu sentas, pli ĝenerale, por kio estas interesa al ili, al 242 00:13:18,140 --> 00:13:21,390 sentas defiita kaj rekompencita sed sen timo de malsukceso. 243 00:13:21,390 --> 00:13:25,030 >> Kaj efektive, tiu tro estas _recurring_ temo en ĉi tiu kaj aliaj enkonduka 244 00:13:25,030 --> 00:13:28,680 kursoj en aliaj kampoj, ke vi havas ĉi trepidación kiam temas 245 00:13:28,680 --> 00:13:31,040 metante unu la piedfingrojn en nekonataj akvoj. 246 00:13:31,040 --> 00:13:34,880 Mi mem, tie en 1995, Estis novulo. 247 00:13:34,880 --> 00:13:37,990 Mi estis tre multe centris en esti oni Gov concentrador tie. 248 00:13:37,990 --> 00:13:41,060 Kaj tamen mi ĉiam elkreskis kune kun iom de intereso en komputiko. 249 00:13:41,060 --> 00:13:42,180 Mi estis ĉiam scivolema. 250 00:13:42,180 --> 00:13:47,610 >> Sed tiutempe, eĉ, mi havis tiun timon eĉ tretante piedon en CS50, tiel 251 00:13:47,610 --> 00:13:49,420 tiel ke mi eĉ ne aĉeti ĝin unua jaro. 252 00:13:49,420 --> 00:13:53,460 Kaj la sola kialo Mi metis piedon en la pordo dua jaro estis ĉar mi 253 00:13:53,460 --> 00:13:55,340 permesis preni ĝin pasi / malsukceso. 254 00:13:55,340 --> 00:13:58,920 Sed eĉ pasas / malsukceso postulis ke mi ricevas ĝis la nervo fari rendevuon 255 00:13:58,920 --> 00:14:01,970 kun Profesoro Kernehan en la momento, venigu ĉi granda folio de papero, kaj petu 256 00:14:01,970 --> 00:14:04,470 lin pro lia subskribo kaj lia permeson por esplori 257 00:14:04,470 --> 00:14:05,700 tiuj nekonataj akvoj. 258 00:14:05,700 --> 00:14:09,030 >> Kaj ĝi ne helpis en la lastaj jaroj ke farinte tion en CS50, kiam ni 259 00:14:09,030 --> 00:14:12,500 kutimis esti pass / malsukceso, simile farus dekoj aŭ centoj de viaj samklasanoj 260 00:14:12,500 --> 00:14:15,970 devas veni supren, Dio gardu, en la fronto de Sanders kun ĉi tiu formo, kiun 261 00:14:15,970 --> 00:14:19,520 en iuj mensoj reprezentas nekapablo, Mi kuraĝas diri, realigi 262 00:14:19,520 --> 00:14:20,800 Kiuj estas viaj kunlernantoj 'nivelo. 263 00:14:20,800 --> 00:14:23,410 Kio estas ridinda, sed mi faras pensi ekzistas tiu pensmaniero. 264 00:14:23,410 --> 00:14:27,210 Kaj tie neniam estis en tiu kulturo de SAT / UNSAT, aŭ pasi / malsukceso pli 265 00:14:27,210 --> 00:14:30,610 ĝenerale, en ĉi tiu kurso, aŭ vere en ĉi campus. 266 00:14:30,610 --> 00:14:32,310 >> Do ĉi tiu jaro ni ŝanĝis tion. 267 00:14:32,310 --> 00:14:35,630 Mi estus ekstaza duono de tiu klaso aŭ pli finiĝis 268 00:14:35,630 --> 00:14:38,700 supren prenante CS50 SAT / UNSAT. 269 00:14:38,700 --> 00:14:42,130 En jaro tempo, estus mirinda se preskaŭ ĉiuj estas. 270 00:14:42,130 --> 00:14:44,410 Poste eble ni devos labori en letero kvalifikojn en Harvard 271 00:14:44,410 --> 00:14:45,480 Kolegio pli ĝenerale. 272 00:14:45,480 --> 00:14:48,900 Sed nuntempe, ni faros ĉi ene de niaj propra sfero, kaj mi ja volus elkore 273 00:14:48,900 --> 00:14:53,400 kuraĝigas vin por revizii tiujn FAQs kaj demandojn kiel vi decidos, tiel ke 274 00:14:53,400 --> 00:14:58,000 espereble vi, kontraste al mi, ĉu ne sufiĉe havas tiun sama timo faktoro kiam 275 00:14:58,000 --> 00:15:01,040 esplori kio estas probable malmulte kutiman lokon. 276 00:15:01,040 --> 00:15:02,786 >> Do kio estas CS50? 277 00:15:02,786 --> 00:15:06,150 Ĝi estas enkonduko al la intelekta entreprenoj de komputilo 278 00:15:06,150 --> 00:15:07,700 scienco kaj la arto de programado. 279 00:15:07,700 --> 00:15:08,770 Sed kion signifas tio vere signifas? 280 00:15:08,770 --> 00:15:12,510 >> Nu, ĝis nun, ni parolis tre mallonge pri reprezenti informojn. 281 00:15:12,510 --> 00:15:15,070 Sed supozu ke ni efektive volas fari ion per ĝi. 282 00:15:15,070 --> 00:15:17,890 Ni devas enkonduki la nocion de kion ni vokos algoritmo. 283 00:15:17,890 --> 00:15:21,540 Algoritmo estas proceduro, procezo, aro de instrukcioj por 284 00:15:21,540 --> 00:15:22,780 fari ion. 285 00:15:22,780 --> 00:15:25,620 >> Kaj algoritmo povas esti io super simpla. 286 00:15:25,620 --> 00:15:28,660 Ekzemple, ekzemplo, per kiu iuj vi eble familiara estas ĉi 287 00:15:28,660 --> 00:15:29,350 afero ĉi tie. 288 00:15:29,350 --> 00:15:32,510 Do ĉi tiu libro ĉi tie estas ĉiufoje datita, sed iam, ĝi 289 00:15:32,510 --> 00:15:34,720 enhavis tuta loto de nomoj kaj telefonnumerojn. 290 00:15:34,720 --> 00:15:37,710 Kaj efektive, se mi volis trovi iu en tiu telefono libro - 291 00:15:37,710 --> 00:15:39,800 diri, ke iu nomata Mike Smith - 292 00:15:39,800 --> 00:15:43,810 Mi povis trovi Mike Smith en ajna numero de sufiĉe simplaj manieroj. 293 00:15:43,810 --> 00:15:47,700 Mi povus starti je la komenco kaj movi sur al paĝo 1, ne ekzistas. 294 00:15:47,700 --> 00:15:49,240 Paĝo 2, ne estas tie. 295 00:15:49,240 --> 00:15:49,960 Paĝo 3. 296 00:15:49,960 --> 00:15:53,430 Ĉu tio estas algoritmo, estas ke procezo, korekta? 297 00:15:53,430 --> 00:15:54,620 >> Tia estas korekta, ĉu ne? 298 00:15:54,620 --> 00:15:58,070 Mi estas speco de idioto por fari ĝin en alie, sed fine mi volas 299 00:15:58,070 --> 00:16:02,670 trovi la familinomo S, kaj espereble Mike Estas en tiu sekcio, kaj mi iĝos 300 00:16:02,670 --> 00:16:04,100 farita per mia algoritmo. 301 00:16:04,100 --> 00:16:05,440 Sed certe ĝi ne estas intuicia. 302 00:16:05,440 --> 00:16:08,020 Plej ĉiu racia homo en ĉi tiu ĉambro ne estus farinta tion. 303 00:16:08,020 --> 00:16:10,180 Kion vi faris? 304 00:16:10,180 --> 00:16:11,480 >> Vi ŝatus iris rekte al la mezo, ĉu ne? 305 00:16:11,480 --> 00:16:12,000 Malglate al la mezo. 306 00:16:12,000 --> 00:16:16,310 Kaj vi konscias, ho, jen estas la Ms Do Mike Smith, familinomo esti Smith, 307 00:16:16,310 --> 00:16:19,050 ne estas, klare, tiam en la maldekstra duono de la libro. 308 00:16:19,050 --> 00:16:21,040 Li devas esti al la S estas en la dekstra. 309 00:16:21,040 --> 00:16:24,090 Kaj je tiu punkto, kvankam la plimulto de ni Ne faru tion en realeco, ni povas 310 00:16:24,090 --> 00:16:27,125 laŭvorte dissxiros tiun problemon en duono. 311 00:16:27,125 --> 00:16:27,640 >> [Huraado kaj aplaŭdoj] 312 00:16:27,640 --> 00:16:28,950 >> DAVID Malan: Dankon. 313 00:16:28,950 --> 00:16:30,150 >> [Huraado kaj aplaŭdoj] 314 00:16:30,150 --> 00:16:34,660 >> DAVID Malan: Vi povas laŭvorte dissxiros ĉi problemo en duono, lasante min kun, 315 00:16:34,660 --> 00:16:36,120 laŭvorte, problemo duono tiel granda. 316 00:16:36,120 --> 00:16:39,750 Do se tiu telefono libro estis - kaj Probable estis - 1.000 paĝojn, nun 317 00:16:39,750 --> 00:16:40,840 ĝi estas nur 500. 318 00:16:40,840 --> 00:16:44,710 Se mi faras tion denove kaj mi rimarkas, ho, malbenita, mi iris tro malproksime, mi estas en la Ts 319 00:16:44,710 --> 00:16:46,480 sekcio, mi povas simile - 320 00:16:46,480 --> 00:16:48,030 figure aŭ laŭvorte - 321 00:16:48,030 --> 00:16:50,260 ŝiri la telefonon libro - ĝi estis vere multe pli facila ol tempo. 322 00:16:50,260 --> 00:16:53,610 Mi povas laŭvorte ŝiri la telefonon libro la duono, lasante min nun kun 323 00:16:53,610 --> 00:16:55,186 Ne 1.000, ne 500 - 324 00:16:55,186 --> 00:16:56,680 250 paĝoj. 325 00:16:56,680 --> 00:17:00,210 Kaj mi povas iri 125, kaj duonon de tio, kaj duono de tiu, kaj duonon de tio, 326 00:17:00,210 --> 00:17:04,760 ĝis fine mi restos kun nur unu solan paĝon. 327 00:17:04,760 --> 00:17:06,430 >> [Ridado] 328 00:17:06,430 --> 00:17:07,589 >> DAVID Malan: Tio estas la parton mi malsukcesos plu. 329 00:17:07,589 --> 00:17:10,400 Unu sola paĝo sur kiu Mike espereble estas. 330 00:17:10,400 --> 00:17:14,630 Nun tiuj malsamaj algoritmoj povas esti speco de taksita aŭ taksitaj 331 00:17:14,630 --> 00:17:15,270 malsamaj manieroj. 332 00:17:15,270 --> 00:17:17,300 La unua estis tre lineara, ĉu ne? 333 00:17:17,300 --> 00:17:18,500 Turnu paĝo, serĉi Mike. 334 00:17:18,500 --> 00:17:19,630 Turnu paĝo, serĉi Mike. 335 00:17:19,630 --> 00:17:20,560 Estas tre lineara. 336 00:17:20,560 --> 00:17:23,339 Se tie estas pli paĝo en la telefono libro, ĝi estas probable tuj portos min 337 00:17:23,339 --> 00:17:27,380 pli dua, pli unuo de tempo, tamen ni komputanta tempo. 338 00:17:27,380 --> 00:17:32,470 >> Do mi povus desegni kiel ĉi tiu linio ĉi tie, per kiu la grandeco de la 339 00:17:32,470 --> 00:17:34,700 problemo pliigoj de maldekstre al dekstre - 340 00:17:34,700 --> 00:17:37,480 telefono libro ricevas pli malgranda por granda - 341 00:17:37,480 --> 00:17:41,080 kaj la tempo tuj pliigi la la vertikala akso, la pli granda 342 00:17:41,080 --> 00:17:42,030 la telefono libro estas. 343 00:17:42,030 --> 00:17:46,180 Do la n estas nur ĝenerala variablo kiu komputikistoj uzas por reprezenti 344 00:17:46,180 --> 00:17:48,210 iu valoro, iu nombro. 345 00:17:48,210 --> 00:17:50,740 Do la n tuj pliigi lineare. 346 00:17:50,740 --> 00:17:53,040 Duoble la grandeco de la telefono libron, ĝi estas tuj portos min duoble pli 347 00:17:53,040 --> 00:17:54,780 tempo, probable, por trovi Mike. 348 00:17:54,780 --> 00:17:56,390 >> Nun mi povintus esti inteligentaj pri ĉi tio, ĉu? 349 00:17:56,390 --> 00:17:57,800 Mi ricevas truita rapide. 350 00:17:57,800 --> 00:17:58,910 Povus esti farita ĉi duope. 351 00:17:58,910 --> 00:18:01,870 Kaj du paĝoj, tiam kvar, tiam ses, tiam ok. 352 00:18:01,870 --> 00:18:05,220 Kaj mi povis komenci flugi tra ĝin iom pli rapide, kvankam al malgranda risko de 353 00:18:05,220 --> 00:18:09,210 overshooting Mike, sed tiu kurbo estas ne tuj estos tiom malsimila. 354 00:18:09,210 --> 00:18:12,550 Ĝi estas ankoraŭ tuj estos rekta linio, sed iomete pli rapida. 355 00:18:12,550 --> 00:18:13,710 >> Sed kion mi faru? 356 00:18:13,710 --> 00:18:15,845 Mi vere faris ion fundamente bona. 357 00:18:15,845 --> 00:18:21,990 Mi sukcesis kion ni vokos logaritma tempo, ŝtipo de n, per kiu tiu verda 358 00:18:21,990 --> 00:18:27,730 linio havas multe, multe, multe malpli rekte rando al ĝi. 359 00:18:27,730 --> 00:18:33,050 Kaj ĝuste, ĝi supozigas, kiel ordigi de alproksimiĝas malfinio iam tiel iom post iom, 360 00:18:33,050 --> 00:18:36,700 ke mi povus vere preni 1.000 paĝoj telefono libro, duobligi sian grandecon 361 00:18:36,700 --> 00:18:39,610 venontjare - ĉar supozas multe pli da homoj movi al la urbo. 362 00:18:39,610 --> 00:18:43,250 >> Do nun mi havas 2.000 paĝojn, sed kiel multaj pli paŝoj estas ke pli inteligenta 363 00:18:43,250 --> 00:18:45,200 algoritmo tuj preni? 364 00:18:45,200 --> 00:18:46,060 Nur unu. 365 00:18:46,060 --> 00:18:48,060 Mi volas diri, ke estas potenca afero. 366 00:18:48,060 --> 00:18:51,400 Se ni iras al 4.000 paĝojn venontjare, ke tuj prenu min 367 00:18:51,400 --> 00:18:53,020 nur du paŝojn. 368 00:18:53,020 --> 00:18:56,500 Do vi povas ĵeti pli kaj pli problemoj ĉe mi, ne kontraŭe al la retejo 369 00:18:56,500 --> 00:18:59,560 ĵetante pli kaj pli problemojn ĉiutage ĉe Googles kaj Facebooks de 370 00:18:59,560 --> 00:19:01,590 la mondo, kaj ne tia granda interkonsento. 371 00:19:01,590 --> 00:19:05,840 Ĉar mi metis pli da pripensado kaj zorgo en mia algoritmo kun kiu solvi 372 00:19:05,840 --> 00:19:07,020 problemojn kompetente. 373 00:19:07,020 --> 00:19:09,260 >> Kaj efektive, kiu estos unu el la celoj de tiu kurso. 374 00:19:09,260 --> 00:19:11,230 Vi volas, survoje, lernas kiel plani. 375 00:19:11,230 --> 00:19:13,360 Vi lernos kiel plani en kiom ajn da lingvoj. 376 00:19:13,360 --> 00:19:16,670 Sed je la fino de la tago, la kurso estas pri solvi problemojn kaj ekhavi 377 00:19:16,670 --> 00:19:20,490 pli bona ĉe solvi problemojn - kaj, kiel en kazoj kiel tiu, solvante problemojn 378 00:19:20,490 --> 00:19:22,030 pli efike. 379 00:19:22,030 --> 00:19:23,990 >> Nun tiele nun, ni faris tiun sufiĉe intuicie. 380 00:19:23,990 --> 00:19:27,420 Ni enkonduki iun sufiĉe generic nomata _pseudocode_. 381 00:19:27,420 --> 00:19:29,150 Do ni eventuale akiras, en ĉi tiu kurso, por 382 00:19:29,150 --> 00:19:30,570 diversaj programlingvoj. 383 00:19:30,570 --> 00:19:34,280 Sed hodiaŭ ni tion faros en la angla-kiel sintakso, kie vi nur speco de diri 384 00:19:34,280 --> 00:19:37,330 kion vi volas diri, sed vi estas ĉiam tiom konciza kaj vi ne maltrankviligi 385 00:19:37,330 --> 00:19:38,960 gramatiko kaj kompletaj frazoj. 386 00:19:38,960 --> 00:19:41,600 Vi nur esprimi sin kiel koncize kiom eblas. 387 00:19:41,600 --> 00:19:45,400 >> Do _pseudocode_ estas angla-kiel sintakso kiu reprezentas 388 00:19:45,400 --> 00:19:46,750 lingvo de programado. 389 00:19:46,750 --> 00:19:51,170 Kaj al tiu celo, mi proponas ke ni nun modeligi la procezo ni simple 390 00:19:51,170 --> 00:19:54,990 priskribita de kalkulado iu iom malsame, ĉifoje preni 391 00:19:54,990 --> 00:19:59,040 rigardi ĉi kvin-minuta video produktita de niaj amikoj en TED ke 392 00:19:59,040 --> 00:20:03,170 difinas kio _pseudocode_ estas, difinas kio algoritma pensado estas, kaj eĉ 393 00:20:03,170 --> 00:20:07,030 kvankam la ekzemplo vi por vidi estas, en si mem, super simpla, estas 394 00:20:07,030 --> 00:20:09,820 tuj komencu doni al ni la mensa modelo, la vortaro, kun kiu 395 00:20:09,820 --> 00:20:14,588 fari multe, multe pli kompleksa algoritmoj sufiĉe rapide. 396 00:20:14,588 --> 00:20:15,576 >> [BEGIN reprodukto de vídeo] 397 00:20:15,576 --> 00:20:29,920 >> [MUZIKO ludi] 398 00:20:29,920 --> 00:20:31,100 >> Rakontanto: Kio estas algoritmo? 399 00:20:31,100 --> 00:20:34,730 En komputiko, algoritmo estas aro de instrukcioj por solvi iujn 400 00:20:34,730 --> 00:20:36,620 problemo paŝo post paŝo. 401 00:20:36,620 --> 00:20:39,650 Tipe, algoritmoj estas ekzekutitaj per komputiloj, sed ni homoj havas 402 00:20:39,650 --> 00:20:41,230 algoritmoj, kiel bone. 403 00:20:41,230 --> 00:20:43,290 Ekzemple, kiel vi iros pri kalkulo de la kvanto 404 00:20:43,290 --> 00:20:44,750 de homoj en ĉambro? 405 00:20:44,750 --> 00:20:47,980 Nu, se vi estas kiel mi, vi estus probable punkto je ĉiu persono, unu ĉe 406 00:20:47,980 --> 00:20:50,120 tempo, kaj kalkulu ĝis de 0. 407 00:20:50,120 --> 00:20:52,970 1, 2, 3, 4, kaj tiel plu. 408 00:20:52,970 --> 00:20:54,140 >> Nu, tio estas algoritmo. 409 00:20:54,140 --> 00:20:57,600 Fakte, ni provu esprimi ĝin iom pli formale en _pseudocode_ - 410 00:20:57,600 --> 00:21:00,700 Esperanto-simila sintakso kiu memoras lingvo de programado. 411 00:21:00,700 --> 00:21:02,580 Estu N egalas 0. 412 00:21:02,580 --> 00:21:06,970 Por ĉiu persono en ĉambro, N egala al N plus 1. 413 00:21:06,970 --> 00:21:08,400 >> Kiel interpreti tiun _pseudocode_? 414 00:21:08,400 --> 00:21:12,840 Nu, linio oni deklaras, por tiel diri, variablo nomata N kaj inicializa 415 00:21:12,840 --> 00:21:14,250 lia valoro al 0. 416 00:21:14,250 --> 00:21:17,550 Ĉi nur signifas, ke komence de nia algoritmo, la afero kun kiu 417 00:21:17,550 --> 00:21:19,650 ni rakonti havas valoron de 0. 418 00:21:19,650 --> 00:21:22,620 Post ĉiu, antaŭ ol ni komencos rakonti, ni ne havas ion ankoraŭ. 419 00:21:22,620 --> 00:21:25,340 Nomante tiun variablon N estas nur konvencio. 420 00:21:25,340 --> 00:21:26,890 Mi povus esti nomis ĝin plej nenion. 421 00:21:26,890 --> 00:21:30,560 >> Nun linio du demarks la komenco de buklo, sekvenco de paŝoj kiuj volo 422 00:21:30,560 --> 00:21:32,310 ripeti iun nombron da fojoj. 423 00:21:32,310 --> 00:21:35,910 Do, en nia ekzemplo, la paŝo ni preni kalkulas homoj en la ĉambro. 424 00:21:35,910 --> 00:21:38,730 Sub linio du estas linio tri, kiu priskribas ĝuste kiel 425 00:21:38,730 --> 00:21:40,160 ni iros sur rakonti. 426 00:21:40,160 --> 00:21:43,440 La deŝovon implicas, ke ĝi estas linio tri kiu ripetos. 427 00:21:43,440 --> 00:21:47,380 >> Do kio estas la _pseudocode_ diras estas ke post startanta je 0, por ĉiu 428 00:21:47,380 --> 00:21:50,690 persono en la ĉambron, ni instruos vin pliigi N per 1. 429 00:21:50,690 --> 00:21:53,050 Nun estas ĉi tiu algoritmo korekta? 430 00:21:53,050 --> 00:21:54,580 Nu, ni Bang sur ĝi iom. 431 00:21:54,580 --> 00:21:57,270 Ĉu ĝi funkcias se estas du personoj en la ĉambro? 432 00:21:57,270 --> 00:21:58,170 Ni vidu. 433 00:21:58,170 --> 00:22:00,260 >> En linio, ni pravalorizi N al 0. 434 00:22:00,260 --> 00:22:03,660 Por ĉiu el tiuj du personoj, ni tiam pliigo N per 1. 435 00:22:03,660 --> 00:22:07,310 Do en la unua vojaĝo tra la buklo, ni ĝisdatigi N de 0 al 1. 436 00:22:07,310 --> 00:22:11,070 Sur la dua vojaĝo tra tiu sama buklo, ni ĝisdatigi N de 1 al 2. 437 00:22:11,070 --> 00:22:15,780 Kaj tiel de ĉi tiu algoritmo fino, n estas 2, kiu efektive kongruas la nombro de 438 00:22:15,780 --> 00:22:16,700 homoj en la ĉambro. 439 00:22:16,700 --> 00:22:17,760 >> Ĝis nun, tiel bonaj. 440 00:22:17,760 --> 00:22:19,610 Kion pri angulo kazo, kvankam? 441 00:22:19,610 --> 00:22:22,590 Supozi estas 0 personoj en la ĉambro - krom mi, 442 00:22:22,590 --> 00:22:24,170 kiu estas faranta la kalkulo. 443 00:22:24,170 --> 00:22:27,150 En linio, ni pravalorizi N al 0. 444 00:22:27,150 --> 00:22:30,280 Ĉi tiu fojo, kvankam, linio tri ne ekzekuti tute pro tio ke ne estas 445 00:22:30,280 --> 00:22:31,370 persono en la ĉambro. 446 00:22:31,370 --> 00:22:35,260 Kaj tial N restas 0, kiu koincidas kun la nombro de homoj en la ĉambro. 447 00:22:35,260 --> 00:22:36,420 Sufiĉe simpla, ĉu ne? 448 00:22:36,420 --> 00:22:39,630 >> Sed kalkulante homoj unuope estas sufiĉe senutila, tro, ne? 449 00:22:39,630 --> 00:22:40,920 Certe ni povas fari pli bone. 450 00:22:40,920 --> 00:22:43,120 Kial ne havas du personoj samtempe? 451 00:22:43,120 --> 00:22:49,300 Anstataŭ rakonti 1, 2, 3, 4, 5, 6, 7, 8, kaj tiel sinsekve, kial ne rakontis, 2, 452 00:22:49,300 --> 00:22:51,460 4, 6, 8, kaj tiel plu? 453 00:22:51,460 --> 00:22:53,700 Ĝi eĉ sonas pli rapide, kaj tio certe estas. 454 00:22:53,700 --> 00:22:56,240 >> Ni esprimi ĉi optimumigo en _pseudocode_. 455 00:22:56,240 --> 00:22:57,800 Estu N egalas 0. 456 00:22:57,800 --> 00:23:02,450 Por ĉiu paro de homoj en ĉambro, aro N egala al N plus 2. 457 00:23:02,450 --> 00:23:04,120 Bela simpla ŝanĝo, ĉu ne? 458 00:23:04,120 --> 00:23:06,750 Anstataŭ grafo personoj unu samtempe, ni anstataŭ kalkuli 459 00:23:06,750 --> 00:23:08,300 ili du samtempe. 460 00:23:08,300 --> 00:23:10,980 Ĉi tiu algoritmo estas tiel dufoje tiel rapide kiel la lasta. 461 00:23:10,980 --> 00:23:12,180 >> Sed estas korekta? 462 00:23:12,180 --> 00:23:12,920 Ni vidu. 463 00:23:12,920 --> 00:23:15,330 Ĉu ĝi funkcias se estas du personoj en la ĉambro? 464 00:23:15,330 --> 00:23:17,550 En linio, ni pravalorizi N al 0. 465 00:23:17,550 --> 00:23:20,920 Por tiu paro de homi, ni tiam pliigo N por du. 466 00:23:20,920 --> 00:23:24,860 Kaj tiel de ĉi tiu algoritmo fino, N estas 2, kiu efektive kongruas la nombro de 467 00:23:24,860 --> 00:23:25,650 homoj en la ĉambro. 468 00:23:25,650 --> 00:23:28,250 >> Supozi sekva ke ekzistas 0 personoj en la ĉambro. 469 00:23:28,250 --> 00:23:30,840 En linio, ni pravalorizi N al 0. 470 00:23:30,840 --> 00:23:34,330 Kiel antaŭe, linio tri ne ekzekuti tute ne, ĉar ekzistas nenia paroj 471 00:23:34,330 --> 00:23:35,380 de personoj en la ĉambro. 472 00:23:35,380 --> 00:23:38,350 Kaj tial N restas 0, kiu ja egalas la nombro de 473 00:23:38,350 --> 00:23:39,570 homoj en la ĉambro. 474 00:23:39,570 --> 00:23:42,280 >> Sed kion se estas tri homoj en la ĉambro? 475 00:23:42,280 --> 00:23:44,130 Kiel funkcias tiu algoritmo vojagxo? 476 00:23:44,130 --> 00:23:44,990 Ni vidu. 477 00:23:44,990 --> 00:23:47,460 En linio, ni pravalorizi N al 0. 478 00:23:47,460 --> 00:23:50,870 Por paro el tiuj personoj, ni tiam pliigo N per 2. 479 00:23:50,870 --> 00:23:51,800 Sed tiam kion? 480 00:23:51,800 --> 00:23:54,960 Ne estas alia plena paro da homoj en la ĉambro, tiel linio du neniu 481 00:23:54,960 --> 00:23:56,180 plu validas. 482 00:23:56,180 --> 00:24:00,530 Kaj tiel de ĉi tiu algoritmo fino, N ankoraŭ estas 2, kio ne estas ĝusta. 483 00:24:00,530 --> 00:24:03,810 >> Fakte, ĉi tiu algoritmo estas dirita al esti kalesxon, ĉar ĝi havas eraron. 484 00:24:03,810 --> 00:24:05,820 Lets kompensajn kun iuj novaj _pseudocode_. 485 00:24:05,820 --> 00:24:09,670 Estu n egalas 0 por ĉiu paro de homoj en ĉambro. 486 00:24:09,670 --> 00:24:12,550 Ŝanĝu N egala al N plus 2. 487 00:24:12,550 --> 00:24:17,140 Se unu persono restas unpaired, aro N egala al N plus 1. 488 00:24:17,140 --> 00:24:20,140 Por solvi ĉi tiun apartan problemon, ni prezentis, en linio kvar, oni 489 00:24:20,140 --> 00:24:24,520 kondiĉo, alie sciata kiel branĉo ke nur ekzekutas se estas unu 490 00:24:24,520 --> 00:24:26,640 persono, ke ni ne povis paron kun alia. 491 00:24:26,640 --> 00:24:30,440 Kaj tial nun, ĉu estas unu aŭ tri aŭ ajna nepara nombro de homoj en 492 00:24:30,440 --> 00:24:33,290 la salonon, ĉi tiu algoritmo nun rakonti ilin. 493 00:24:33,290 --> 00:24:34,560 >> Ĉu ni povas fari eĉ pli bona? 494 00:24:34,560 --> 00:24:38,820 Nu, ni povus rakonti en 3s aŭ 4s aŭ eĉ 5s kaj 10s, sed preter tio, ĝi estas 495 00:24:38,820 --> 00:24:41,360 ricevos iom Malfacile punkto. 496 00:24:41,360 --> 00:24:44,660 Je la fino de la tago, ĉu ekzekutita per komputiloj aŭ homoj, 497 00:24:44,660 --> 00:24:46,750 algoritmoj estas nur aro de instrukcioj kun 498 00:24:46,750 --> 00:24:48,290 kiu solvi problemojn. 499 00:24:48,290 --> 00:24:49,792 Tio estis nur tri. 500 00:24:49,792 --> 00:24:52,404 Kio problemo estus vin solvi kun algoritmo? 501 00:24:52,404 --> 00:24:52,901 >> [FINO reprodukto de vídeo] 502 00:24:52,901 --> 00:24:55,883 >> DAVID Malan: Tio estas la sola fojo Mi aperos en karikaturo formo. 503 00:24:55,883 --> 00:25:01,050 Sed kie tiu rakonto lasas for, nun, estas kiom ni povas fari pli bonan? 504 00:25:01,050 --> 00:25:04,680 Triope kaj kvarpiede, ni asertas, ni povas kalkuli personoj multe pli rapida, sed ni povos 505 00:25:04,680 --> 00:25:06,290 do fundamente bona ol tio? 506 00:25:06,290 --> 00:25:07,540 Kaj mi vetas ni povas. 507 00:25:07,540 --> 00:25:11,980 >> Se ni enkonduki iom de nia propra _pseudocode_ tie, mi tuj proponi 508 00:25:11,980 --> 00:25:14,550 ke ni povas atingi linio kiel ĉi tio. 509 00:25:14,550 --> 00:25:17,280 Ni ne tuj rakontos homoj unu, du, tri, kvar. 510 00:25:17,280 --> 00:25:19,470 Ni ne tuj iros du, kvar, ses, ok. 511 00:25:19,470 --> 00:25:23,390 Ni tuj faros fundamente bona per rethinking la problemo, kaj en tiu 512 00:25:23,390 --> 00:25:27,080 kazo, utiligante la cetere infrautilizados rimedo. 513 00:25:27,080 --> 00:25:31,460 >> En nur momente, mi esperas ke vi pardonu kaj humuro nin per piedo en 514 00:25:31,460 --> 00:25:34,470 loko, je kiu punkto ni tuj petu ĉiu el vi prenu en via 515 00:25:34,470 --> 00:25:36,400 mensoj la numero 1. 516 00:25:36,400 --> 00:25:39,560 Vi tiam tuj ĉiufoje mallerte, kiel la tempo pasas, trovi 517 00:25:39,560 --> 00:25:42,740 iu alia kiu staras, kombini via numerojn kune 518 00:25:42,740 --> 00:25:43,720 per aldoni ilin. 519 00:25:43,720 --> 00:25:47,490 Unu el vi estas tiam tuj konkuri por sidi malsupren unua, kaj la alia persono 520 00:25:47,490 --> 00:25:48,880 tuj ripetas. 521 00:25:48,880 --> 00:25:53,090 >> Do alivorte, por semi ĉiuj vi kun la numero 1, kaj poste 522 00:25:53,090 --> 00:25:57,800 kombinante tiujn 1s en 2s kaj tiuj 2s en 4s, kun ĉiuj ĉiufoje 523 00:25:57,800 --> 00:26:02,740 sidiĝi, ni devus, je la fino de ĉi tiu algoritmo, havas nur unu prunto 524 00:26:02,740 --> 00:26:07,570 animo, kiu ne sidiĝu sufiĉe rapide sed kiu havas la tutan publiko grafo 525 00:26:07,570 --> 00:26:09,180 en lia aŭ ŝia menso. 526 00:26:09,180 --> 00:26:13,730 >> Do se vi estus, ni iru antaŭen kaj - treti unu - ekstari en loko. 527 00:26:13,730 --> 00:26:15,600 Kaj ekzekuti. 528 00:26:15,600 --> 00:26:36,580 >> [Crowd murmurado] 529 00:26:36,580 --> 00:26:38,820 >> DAVID Malan: Ĉu vi scias kie Lauren estas? 530 00:26:38,820 --> 00:26:40,179 729? 531 00:26:40,179 --> 00:27:23,350 >> [Crowd murmurado] 532 00:27:23,350 --> 00:27:24,340 >> DAVID Malan: Ĉiuj ne? 533 00:27:24,340 --> 00:27:39,110 >> [Crowd murmurado] 534 00:27:39,110 --> 00:27:41,365 >> DAVID Malan: Bone, ni devus esti proksima al la fino. 535 00:27:41,365 --> 00:27:44,340 536 00:27:44,340 --> 00:27:47,670 Ni vidas unu ulo staris tie senmove. 537 00:27:47,670 --> 00:27:48,770 Kiu alia bezonas esti parigita? 538 00:27:48,770 --> 00:27:50,020 Se vi infanoj deziras al dueto malproksime. 539 00:27:50,020 --> 00:27:53,260 540 00:27:53,260 --> 00:27:56,520 Iu supren supro. 541 00:27:56,520 --> 00:27:58,150 Kial mi ne pruntedonos mano tie. 542 00:27:58,150 --> 00:28:01,370 Por la tre malmultaj personoj kiuj estas ankoraŭ starante, kion nombroj do you 543 00:28:01,370 --> 00:28:02,790 havas en via menso? 544 00:28:02,790 --> 00:28:04,020 >> Lernanto: 78. 545 00:28:04,020 --> 00:28:06,010 >> DAVID Malan: 78 pli - 546 00:28:06,010 --> 00:28:07,840 kiu estas staranta cxi tie? 547 00:28:07,840 --> 00:28:08,370 >> Lernanto: 39. 548 00:28:08,370 --> 00:28:09,590 >> DAVID Malan: Plus 39. 549 00:28:09,590 --> 00:28:12,310 Plus, kiu alia estas ankoraŭ staranta? 550 00:28:12,310 --> 00:28:13,650 81? 551 00:28:13,650 --> 00:28:15,960 OK, kiu alia? 552 00:28:15,960 --> 00:28:17,200 Alia 81? 553 00:28:17,200 --> 00:28:17,860 Wow. 554 00:28:17,860 --> 00:28:19,210 Kaj poste kio estas en dorso? 555 00:28:19,210 --> 00:28:20,360 >> Lernanto: 49. 556 00:28:20,360 --> 00:28:21,812 >> DAVID Malan: 49, plus? 557 00:28:21,812 --> 00:28:22,950 >> Lernanto: 98. 558 00:28:22,950 --> 00:28:24,980 >> DAVID Malan: 98 plus? 559 00:28:24,980 --> 00:28:28,190 Ĉu iu alia? 560 00:28:28,190 --> 00:28:29,155 12? 561 00:28:29,155 --> 00:28:30,460 Bonan laboron. 562 00:28:30,460 --> 00:28:33,610 >> [Ridado] 563 00:28:33,610 --> 00:28:34,690 >> DAVID Malan: Oh, 112 - 564 00:28:34,690 --> 00:28:35,410 oh. 565 00:28:35,410 --> 00:28:36,220 Bonan laboron! 566 00:28:36,220 --> 00:28:38,660 >> [Ridado] 567 00:28:38,660 --> 00:28:42,570 >> [Aplaŭdo] 568 00:28:42,570 --> 00:28:43,820 >> DAVID Malan: Anyone else ankoraŭ staras? 569 00:28:43,820 --> 00:28:46,710 570 00:28:46,710 --> 00:28:47,260 Pardonu? 571 00:28:47,260 --> 00:28:48,110 >> Lernanto: 99. 572 00:28:48,110 --> 00:28:49,810 >> DAVID Malan: 99. 573 00:28:49,810 --> 00:28:52,620 Iu alia ankoraŭ staras? 574 00:28:52,620 --> 00:28:57,290 Kaj la tuta nombro de studentoj tie estas vere, laŭ - 575 00:28:57,290 --> 00:28:59,400 ĉu vi havas numeron? 576 00:28:59,400 --> 00:29:03,170 Ho, la reala nombro de homoj en la ĉambron, konforme al la konto ke 577 00:29:03,170 --> 00:29:07,660 la instruado kamaradoj faris sur ĉies maniero, estis 729. 578 00:29:07,660 --> 00:29:11,070 Do el roomful de Harvard studentoj kiu rakontis, la 579 00:29:11,070 --> 00:29:14,126 respondo estas 637. 580 00:29:14,126 --> 00:29:15,480 >> [Ridado] 581 00:29:15,480 --> 00:29:16,350 >> DAVID Malan: Tiel proksime. 582 00:29:16,350 --> 00:29:17,360 Sed ankoraŭ. 583 00:29:17,360 --> 00:29:22,110 Bone, do tio estas instruado momento, ĉu ne? 584 00:29:22,110 --> 00:29:24,120 Tiu nun estas kion ni priskribas kiel cimon. 585 00:29:24,120 --> 00:29:28,120 Ie survoje, ni faris kelkajn aritmetika erara, aŭ iu sidiĝis, 586 00:29:28,120 --> 00:29:29,930 aŭ maldekstra, aŭ iu iris malbone. 587 00:29:29,930 --> 00:29:30,930 Sed tio estas bone. 588 00:29:30,930 --> 00:29:33,390 Ĉar eĉ ankoraŭ, ni atingis sufiĉe proksima. 589 00:29:33,390 --> 00:29:37,480 Kaj mi volas argumenti ke ni alvenis al la malĝusta respondas multe pli rapide ol mi havus 590 00:29:37,480 --> 00:29:39,770 uzante mian plej lineara alproksimiĝo. 591 00:29:39,770 --> 00:29:42,630 >> Do ni supozu ni faris efektive atingi tiun korekti, sed pensas nun pri kio 592 00:29:42,630 --> 00:29:46,870 okazis ĉiufoje, kontre mia propra naiva indikante algoritmo. 593 00:29:46,870 --> 00:29:48,420 Unu, du, tri. 594 00:29:48,420 --> 00:29:53,010 Se estas vere 729 aŭ 637 homoj tie, ke estus preninta min 595 00:29:53,010 --> 00:29:57,720 laŭvorte 637 aŭ 729 pointings de la fingro kaj 596 00:29:57,720 --> 00:29:59,490 pliigante mia tuta grafo. 597 00:29:59,490 --> 00:30:01,910 Kaj mi povus fari iom pli bone per iri du, kvar, ses, ok, kaj 598 00:30:01,910 --> 00:30:05,660 duobligi tiu rapido, eble eĉ trioblaj aŭ kvarobla, depende kiel bone mi povas 599 00:30:05,660 --> 00:30:07,110 fari tion rakonti en mia kapo. 600 00:30:07,110 --> 00:30:10,720 >> Sed ĉi alproksimiĝo kiu you guys prenis estis fundamente malsamaj. 601 00:30:10,720 --> 00:30:12,770 Ĉar en la komenco, vi ĉiuj ekstaris. 602 00:30:12,770 --> 00:30:14,620 Do ĉiu 729. 603 00:30:14,620 --> 00:30:17,370 Kaj poste laŭvorte duono vi eksidis. 604 00:30:17,370 --> 00:30:19,720 Kaj post tio, alia duono el vi eksidis. 605 00:30:19,720 --> 00:30:22,650 Kaj post tio, alia duono el vi eksidis. 606 00:30:22,650 --> 00:30:27,470 >> Kaj la tuta nombro de fojoj, ke vi infanoj povus esti sidiĝis estas krude 607 00:30:27,470 --> 00:30:31,740 ok aŭ naŭ aŭ dek tutaj epokoj, depende de kio nia tuta grafo estas. 608 00:30:31,740 --> 00:30:33,300 Kaj ni povas ordigi de fari tiu alia maniero. 609 00:30:33,300 --> 00:30:37,740 Se ni havis 1.024 homoj en la ĉambron, la totala nombro da fojoj vi povus 610 00:30:37,740 --> 00:30:41,870 Halve 1.024 homoj estas 10. 611 00:30:41,870 --> 00:30:43,370 >> Nun pensu pri tio en la alia direkto. 612 00:30:43,370 --> 00:30:49,170 Supozu, ridinde, ke ni havis, diri kvar miliardoj da homoj en ĉi tiu ĉambro, 613 00:30:49,170 --> 00:30:50,860 aŭ iomete pli granda ĉambro. 614 00:30:50,860 --> 00:30:54,550 Multfoje estus ni trapasis tra ĉi tiu algoritmo, tia ke duono 615 00:30:54,550 --> 00:30:58,110 de tiu klaso eksidas? 616 00:30:58,110 --> 00:31:03,050 Ĝi estas nur tuj prenu 32 tiaj operacioj, eĉ en klaso de grandeco 617 00:31:03,050 --> 00:31:03,770 kvar mil milionoj. 618 00:31:03,770 --> 00:31:04,055 Kial? 619 00:31:04,055 --> 00:31:06,980 Ĉar kvar miliardoj iras al du biliono, ĝi iras al unu miliono, iras al 620 00:31:06,980 --> 00:31:09,925 500 milionoj, iras al 250 milionoj, punkto, ĝi pentras, ĝi pentras. 621 00:31:09,925 --> 00:31:14,940 Mi povas nur fari tion divido iujn 32 tempoj, je kiu punkto, ĉiuj krom 622 00:31:14,940 --> 00:31:17,820 unu persono restus starantaj. 623 00:31:17,820 --> 00:31:21,590 >> Kaj, ankaŭ, estas speco de potenca ideo, ke ĉiufoje ni provos 624 00:31:21,590 --> 00:31:24,690 influon en ĉi tiu kurso, kaj en programado kaj komputiko pli 625 00:31:24,690 --> 00:31:29,400 Ĝenerale, tiuj ĝermoj de ideo kun kiun ni povas tiam solvi problemojn multe, 626 00:31:29,400 --> 00:31:31,130 multe pli potence. 627 00:31:31,130 --> 00:31:34,610 Do ni komencis sufiĉe simpla kun tio _pseudocode_ kaj knabo en ĉambro, sed 628 00:31:34,610 --> 00:31:38,205 nun kun tuta ĉambro plena de homoj ni faris fundamente bona. 629 00:31:38,205 --> 00:31:41,460 >> Nu, ni nun transiro de _pseudocode_ al iu reala kodo. 630 00:31:41,460 --> 00:31:44,200 Ĉi tiu lingvo vi estas por vidi okazi esti nomita JavaScript, kaj 631 00:31:44,200 --> 00:31:46,190 ni revenos al ĉi rilate semestro la fino. 632 00:31:46,190 --> 00:31:49,960 Ĝi estas programlingvo, ke vi uzi por fari TTT-ejojn kaj aliaj tiaj 633 00:31:49,960 --> 00:31:51,360 programaro tiuj tagoj. 634 00:31:51,360 --> 00:31:54,890 Kaj ni uzis ĝin, danke al amiko de nia en Stanford, por kodi 635 00:31:54,890 --> 00:31:56,630 iujn kaŝitajn informojn ĉi tie. 636 00:31:56,630 --> 00:31:59,500 Ĉi tiu estas la arto de steganography, por tiel diri, kie vi povas kaŝi 637 00:31:59,500 --> 00:32:03,990 informoj en kio alie ŝajnas esti bruo aŭ tute malsama 638 00:32:03,990 --> 00:32:05,220 bildo entute. 639 00:32:05,220 --> 00:32:10,120 Sed enigita en tiu aparta bildo estas ja sekreto mesaĝo de varoj. 640 00:32:10,120 --> 00:32:12,950 >> Do lasu min antaŭeniri kaj elsxiros la saman bildon ĉi tie, ĉi 641 00:32:12,950 --> 00:32:14,270 tempo per foliumilo. 642 00:32:14,270 --> 00:32:17,710 Kaj mi tuj skuos mian manon en iu el la detaloj por hodiaŭ, aparte 643 00:32:17,710 --> 00:32:21,780 por tiuj el vi, kiuj ĉi aspektas kiel ne nur JavaScript sed greka, kiel 644 00:32:21,780 --> 00:32:23,930 tute nekonata lingvo. 645 00:32:23,930 --> 00:32:26,190 Sed ĉi tiu estas ekzemplo de lingvo de programado. 646 00:32:26,190 --> 00:32:30,660 >> Kaj por nun, preni sur fido, kiu tiu unua linio de kodo - 647 00:32:30,660 --> 00:32:32,470 kaj per kodo, mi nur signifi tekston. 648 00:32:32,470 --> 00:32:35,660 Teksto ke mi povus esti laŭvorte tajpis en Microsoft Word, se mi havis la 649 00:32:35,660 --> 00:32:37,630 dekstra programaro por tiam faru ion kun tio. 650 00:32:37,630 --> 00:32:42,120 Programan fontkodon, programado kodo, estas vere nur teksto, kaj ĝi 651 00:32:42,120 --> 00:32:45,420 aspektas malsamaj bazita sur kio lingvo vi uzas, ne similas al la angla kaj 652 00:32:45,420 --> 00:32:49,200 Hispana kaj rusa ĉiuj aspektas malsama kiam vi tajpas ilin je via klavaro. 653 00:32:49,200 --> 00:32:53,520 >> Do tiu unua linio, cxar nun alpreni fido, simple malfermas grafikaj de la 654 00:32:53,520 --> 00:32:56,160 interreto, ke bruaj grafika ni ĵus vidis. 655 00:32:56,160 --> 00:32:59,900 Ĉi sekva linio tie estas ekzemplo de buklo, kaj ni efektive vidis, ke saman 656 00:32:59,900 --> 00:33:01,130 ĵargono en la TED video. 657 00:33:01,130 --> 00:33:03,750 Ciklo estas iu kiu okazas denove kaj denove, kaj kvankam tiu 658 00:33:03,750 --> 00:33:08,440 absolute aspektas kripta, kun la ŝlosilvorto por, kaj iuj parantezoj, kaj 659 00:33:08,440 --> 00:33:09,510 iuj punktokomojn. 660 00:33:09,510 --> 00:33:13,070 Ni revenos al tiu post nelonge, sed tiu buklo tie esence estas 661 00:33:13,070 --> 00:33:17,310 dirante al la programo, persisti super ĉiuj de tiuj bruemaj dots, de maldekstre 662 00:33:17,310 --> 00:33:18,980 Dekstre, supre sube. 663 00:33:18,980 --> 00:33:21,260 >> Ĉar fine de la tago, bildo like this - kaj vi povas reale 664 00:33:21,260 --> 00:33:22,860 speco de vidi ĝin sur ĉi projector - 665 00:33:22,860 --> 00:33:25,280 estas vere nur krado de punktoj. 666 00:33:25,280 --> 00:33:29,730 Do ni povas identigi ĉiu de tiuj punktoj, punktas per koordinato, x, y, kaj kun tiu 667 00:33:29,730 --> 00:33:33,890 programo, nun ni povas komenci fari ion por tiuj punktoj. 668 00:33:33,890 --> 00:33:37,540 >> Do kion mi tuj iros antaŭen tie kaj ne estas mi tuj faros kelkajn ŝanĝoj. 669 00:33:37,540 --> 00:33:41,000 Unue mi tuj iros antaŭen kaj liveri de ĉiuj kiuj verdeca kaj blueca 670 00:33:41,000 --> 00:33:43,520 bruo, kaj mi tuj iros antaŭen kaj tajpu la sekvajn 671 00:33:43,520 --> 00:33:45,710 Certe kamufla sintakso. 672 00:33:45,710 --> 00:33:48,020 im por bildo. 673 00:33:48,020 --> 00:33:53,380 starigis blua ĉe situo x, komo, situo y, al 0. 674 00:33:53,380 --> 00:33:55,610 Alivorte, mi volas nur elŝalti ĉiujn blua 675 00:33:55,610 --> 00:33:56,920 dots en tiu pentraĵo. 676 00:33:56,920 --> 00:33:59,800 >> Mi tuj iros antaŭen nun kaj klaku ĉi Run / Save butonon, kaj vi instruos vin 677 00:33:59,800 --> 00:34:02,850 rimarki en la dekstra-mana flanko, la rezultanta bildo aperas. 678 00:34:02,850 --> 00:34:06,120 Nun lia super verda, sed tio ne estas mirinda, ĉar mi laŭvorte turnis 679 00:34:06,120 --> 00:34:11,070 malproksime, farante 1 a 0, ĉiuj la blua en tiu pentraĵo. 680 00:34:11,070 --> 00:34:12,540 >> Nu, nun ni faru ĝin iom pli. 681 00:34:12,540 --> 00:34:16,989 im por bildo, dot setGreen, x, y. 682 00:34:16,989 --> 00:34:20,659 Kaj tio nur signifas ripeti de maldekstre dekstren kaj poste supre sube. 683 00:34:20,659 --> 00:34:23,520 Turnu ke ekstere kun valoro de 0, ankaŭ. 684 00:34:23,520 --> 00:34:24,750 Save. 685 00:34:24,750 --> 00:34:28,100 Kaj en la projekciilo, vi ne povas reale vere vidi ion ajn. 686 00:34:28,100 --> 00:34:31,380 >> En mia portebla komputilo ekrano, se mi rigardi en nur la gxusta vojo, mi povas vidi iom de 687 00:34:31,380 --> 00:34:33,300 bildon, ĉar ili estas ankoraŭ iuj ruĝa en tie. 688 00:34:33,300 --> 00:34:35,540 Se vi iam aŭdis la akronimo RVB - 689 00:34:35,540 --> 00:34:36,830 ruĝa, verda, blua - 690 00:34:36,830 --> 00:34:39,110 ĝi estas referenco al ĉi tiu komponado de bildo uzante 691 00:34:39,110 --> 00:34:40,230 nur tiuj tri kolorojn. 692 00:34:40,230 --> 00:34:43,159 Kaj nun, ni forĵetis ĉiuj verdaj, ĉiuj bluaj, sed 693 00:34:43,159 --> 00:34:44,500 tie ne estas multe ruĝa. 694 00:34:44,500 --> 00:34:45,920 >> Do mi mankranko ĝis la ruĝa. 695 00:34:45,920 --> 00:34:47,070 Kiel mi povas fari tion? 696 00:34:47,070 --> 00:34:49,300 Nu, unue, mi tuj demandas tiun programon al demando. 697 00:34:49,300 --> 00:34:52,030 Mi tuj iros antaŭen kaj ni nomas ĝin variablo, ĝuste kiel en algebro. 698 00:34:52,030 --> 00:34:54,060 Vi povas havi x aŭ y aŭ z. 699 00:34:54,060 --> 00:34:57,230 Mi tuj deklari variablon kaj diru, metu en ĉi tiu variablo, 700 00:34:57,230 --> 00:35:02,790 provizore, la valoro de la bildoj getRed valoro je x, y. 701 00:35:02,790 --> 00:35:05,870 >> Kaj denove, ni revenos al ĉiuj de tiu detalo en la estonteco. 702 00:35:05,870 --> 00:35:10,630 Sed nuntempe, nur prenu sur fido, kiu ĉi tiu linio estas demandante al la programo, kio 703 00:35:10,630 --> 00:35:12,740 estas la ruĝa valoro je x, y? 704 00:35:12,740 --> 00:35:14,450 En tiu aparta punkto? 705 00:35:14,450 --> 00:35:15,710 >> Tiam Mi faros ion por ĝi. 706 00:35:15,710 --> 00:35:21,100 Tiam Mi faros bildo dot aro ruĝa je x, y, y sed cxi tiu tempo Mi tuj 707 00:35:21,100 --> 00:35:24,760 akceli ĝin farante ruĝa tempoj, diru, 10. 708 00:35:24,760 --> 00:35:26,870 Do pliigi ĝin per faktoro de 10. 709 00:35:26,870 --> 00:35:29,880 Lasu min malzomi nun kaj klako povus Run / Save. 710 00:35:29,880 --> 00:35:36,430 Kaj voilà, kiu estis tie en la tuta tempo, kvankam niaj homaj okuloj 711 00:35:36,430 --> 00:35:37,900 ne povis sufiĉe vidi ĝin. 712 00:35:37,900 --> 00:35:41,470 >> Do denove, ĉi tiu nun estas reala kodo, oni Ekzemplo de lingvo, ke ni venos 713 00:35:41,470 --> 00:35:42,770 reen al antaŭ longe. 714 00:35:42,770 --> 00:35:46,670 Sed rimarki, precipe tiuj el vi, sen tia sperto, estas tre 715 00:35:46,670 --> 00:35:50,280 frue, ke ni mem estos skribi kodon tiel tie. 716 00:35:50,280 --> 00:35:54,520 Fakte, ilo, per kiu vi ĉiuj iom familiara, eble, estas CS50 la 717 00:35:54,520 --> 00:35:57,330 propran kurson-komerca ilo, kiu estis fakte rebooted tiu somero de iuj 718 00:35:57,330 --> 00:36:01,070 de CS50 propra malnovaj lernantoj, nun turnas TFS. 719 00:36:01,070 --> 00:36:04,740 >> Do ĉi tio okazas al esti afiŝinto konstruita en lingvo nomita PHP. 720 00:36:04,740 --> 00:36:08,510 Ĝi uzas datumbazon nomata MySQL, aĵoj kun kiu ni ricevos niajn manojn 721 00:36:08,510 --> 00:36:10,190 malpura poste en la semestro. 722 00:36:10,190 --> 00:36:14,140 Sed, kredu aŭ ne, eĉ ion kiel tiu fine reduktas al la 723 00:36:14,140 --> 00:36:19,480 simpla de cikloj kaj kondiĉojn kaj branĉoj, kiel tiuj kiujn ni vidis nur 724 00:36:19,480 --> 00:36:21,530 antaŭ momento en la TED video. 725 00:36:21,530 --> 00:36:25,180 >> Kion mi pensis mi ŝatus fari nun estas kotizo ne nur ion ni la bastonon faris 726 00:36:25,180 --> 00:36:28,010 por la universitata tereno, sed prefere ion iama studento - tri 727 00:36:28,010 --> 00:36:29,080 studentoj, fakte - 728 00:36:29,080 --> 00:36:33,950 faris ĉi pasinta jaro, Sierra, Daniel, kaj Sam, la lasta de kiuj havis neniun antaŭan 729 00:36:33,950 --> 00:36:36,370 programado sperto kiam li prenis CS50. 730 00:36:36,370 --> 00:36:39,950 Kaj pro ilia fino projekto, ili elmetita, ĉe la CS50 Foiro, oni 731 00:36:39,950 --> 00:36:43,720 apliko nomita wrdly, kiu estas reta programo por kiu faris 732 00:36:43,720 --> 00:36:47,670 ĉi tiu video mi pensis mi ŝatus dividi kun doni al vi la senton de ĝuste kio estas 733 00:36:47,670 --> 00:36:49,280 ebla per termino fino. 734 00:36:49,280 --> 00:37:57,170 >> [MUZIKO ludi] 735 00:37:57,170 --> 00:38:00,570 >> DAVID Malan: Tio estas el Semajno Nulo al Semajno 12 tiu pasinta jaro. 736 00:38:00,570 --> 00:38:05,470 >> [Aplaŭdo] 737 00:38:05,470 --> 00:38:09,520 >> DAVID Malan: Kiel teaser, tro, vere por iri vian apetiton estas kio estas 738 00:38:09,520 --> 00:38:14,580 ebla, eble vi vidis jam, aŭ eble baldaŭ vidos, market.cs50.net, oni 739 00:38:14,580 --> 00:38:17,710 nova ilo ke la kurso la teamo havas estis laborante en ĉi tiu tempo en 740 00:38:17,710 --> 00:38:21,530 kunlaborado kun Harvard Studenta Agentejoj, tiaj ke ekde tiu jaro 741 00:38:21,530 --> 00:38:24,980 kaj daŭrigante espereble en tiun venas somero vi havos normo 742 00:38:24,980 --> 00:38:27,890 ŝanco en la campus por aĉeti kaj vendi aferojn kiuj interesas vin. 743 00:38:27,890 --> 00:38:32,220 Kaj kun partnereco tra HSA, vi ankaŭ povos delasi erojn ekstere 744 00:38:32,220 --> 00:38:35,950 en unu el HSA la fizika tendencas je iu punkto en la estonteco, por 745 00:38:35,950 --> 00:38:39,150 prokura aferojn, aparte kiel vi gradigi kaj ne nepre volas 746 00:38:39,150 --> 00:38:44,110 forĵeti tion, sed fakte pagas ĝin plusendu al homoj, kiuj povus sekvi vin 747 00:38:44,110 --> 00:38:45,270 tie en la campus. 748 00:38:45,270 --> 00:38:46,740 Do pli en la venonta. 749 00:38:46,740 --> 00:38:49,830 >> Sed iom pli konkrete, ilo ke tio venas el CS50 en freŝaj 750 00:38:49,830 --> 00:38:52,760 jaroj, per kiu iuj el vi povus esti familiara kaj aliaj el vi povus esti 751 00:38:52,760 --> 00:38:57,940 googling nun, en CS50.net/2x, vi trovi ligilon al Chrome etendo 752 00:38:57,940 --> 00:39:01,250 kio estas demonstrativo de kiel vi povas uzi JavaScript, tiu sama lingvo ni 753 00:39:01,250 --> 00:39:06,660 uzata kun la Eiffel-turo antaŭ momento, apliki 2x reprodukto rapido 754 00:39:06,660 --> 00:39:09,000 por ĉiuj Harvard iSites filmetoj. 755 00:39:09,000 --> 00:39:11,880 Ĉi tio estas iu kiu estas konstruita en CS50 propra video ludanto. 756 00:39:11,880 --> 00:39:14,870 Sed tio ankaŭ, se vi komencas fosi en la fontkodo, kiujn ni instruos vin 757 00:39:14,870 --> 00:39:18,840 feliĉe disponigi, vi vidos kiel Vi povas eĉ solvi problemojn tiel, 758 00:39:18,840 --> 00:39:23,180 akceli widgets en retejoj kun kiu vi estas jam bone konata. 759 00:39:23,180 --> 00:39:26,630 >> Do vorto nun en la kurso kaj atendoj kaj kio kuŝas antaŭen. 760 00:39:26,630 --> 00:39:29,445 En ĝenerala, ni ja kolektas tie ĉi lunde kaj merkrede - kvankam 761 00:39:29,445 --> 00:39:31,490 tiu vendredo, ni kolektu ĉar de Shopping Semajno - 762 00:39:31,490 --> 00:39:34,640 1:00 al 2:00 am, kvankam kelkfoje ĝis 2:30. 763 00:39:34,640 --> 00:39:38,700 Donita ke vi do volas aŭ devas preni iun klason je 2:00 PM 764 00:39:38,700 --> 00:39:42,480 antaŭen, aŭ eĉ antaŭe, ne realigi la kurso estas subtenanta, kion oni nomas 765 00:39:42,480 --> 00:39:45,900 samtempa registrado, per kiu ni instruos vin subteni peticion al la Ad Estraro kaj 766 00:39:45,900 --> 00:39:49,400 via loĝantaj dekanoj pro vi se vi havas konflikto ie en tiu 767 00:39:49,400 --> 00:39:50,790 1:00 ĝis 2:30 gamo. 768 00:39:50,790 --> 00:39:54,110 Kapon por ke URL-linio por pliaj detaloj. 769 00:39:54,110 --> 00:39:57,750 >> Sed en terminoj de la apogo strukturo kiu karakterizas CS50, por studentoj 770 00:39:57,750 --> 00:40:01,750 pli kaj malpli komfortaj egale, ni proponi distinga spurojn de sekcioj. 771 00:40:01,750 --> 00:40:04,730 Kaj jen estas paro de semajnoj malproksime, sed post nelonge, vi estos petita kiel al 772 00:40:04,730 --> 00:40:05,770 via konsolo nivelo. 773 00:40:05,770 --> 00:40:08,590 Ĉu vi estas inter tiuj malpli komfortaj, pli komforta, aŭ 774 00:40:08,590 --> 00:40:10,520 ie inter? 775 00:40:10,520 --> 00:40:13,150 >> Kaj ni havos tri distingaj temoj kiuj servas al 776 00:40:13,150 --> 00:40:14,470 precize tiuj publiko. 777 00:40:14,470 --> 00:40:17,900 Do en neniu punkto en la termino devus vin eĉ sentas kiel vi konkurencas 778 00:40:17,900 --> 00:40:21,390 kontraŭ ajna studento kun pli aŭ malpli fonon ol vi. 779 00:40:21,390 --> 00:40:24,160 Efektive, la kurso celas esti multe pli kunlabora kaj multe 780 00:40:24,160 --> 00:40:25,650 pli malfermita ol tio. 781 00:40:25,650 --> 00:40:29,030 >> En terminoj de la problemo aroj, vi trovi ankaŭ, ke krom la 782 00:40:29,030 --> 00:40:32,130 eldono normo de ĉiu semajno problemo aro, estas ofte "hacker 783 00:40:32,130 --> 00:40:37,010 eldono "kiun oni intencis esti celataj ĉe la 5% ĝis 10% aŭ malpli de la 784 00:40:37,010 --> 00:40:40,270 demografiaj, kiuj estas ja inter tiuj pli komforta kaj ŝatus pli 785 00:40:40,270 --> 00:40:43,960 de defio ol la normo eldono de tiu pset atendas. 786 00:40:43,960 --> 00:40:46,390 Pliaj detaloj sur tiuj esti trovita en la Syllabus. 787 00:40:46,390 --> 00:40:49,430 >> Sed ankaŭ tie troveblas detaloj pri la kursoj malfrue tagoj. 788 00:40:49,430 --> 00:40:51,570 Tipe problemo aroj devas je ĵaŭdo. 789 00:40:51,570 --> 00:40:55,550 Tamen, vi povas etendi multaj de viaj limdatoj ĉi falo de ĵaŭdo al 790 00:40:55,550 --> 00:41:00,010 Vendredo simple renkonti nin duonvoje, por tiel diri, respondante kelkajn varmajn-up 791 00:41:00,010 --> 00:41:03,370 demandojn en iu de la semajno problemo aroj, kiu havos aŭtomate 792 00:41:03,370 --> 00:41:05,710 tiam donu al vi kroman 24 horoj. 793 00:41:05,710 --> 00:41:09,120 Ni estos ankaŭ fali vian plej malalta interpunkcio, kiel por la Syllabus. 794 00:41:09,120 --> 00:41:12,170 >> Doni al vi la senton de kio la problemo aroj estas - ĉar ĝi estas ja 795 00:41:12,170 --> 00:41:15,120 la kurso estas problemo aroj ke fine difini preskaŭ ĉiu 796 00:41:15,120 --> 00:41:18,760 studenta sperto, pli ol prelegoj, pli ol sekcioj, pli 797 00:41:18,760 --> 00:41:21,230 tiel ol plej ajna alia aspekto de la kurso. 798 00:41:21,230 --> 00:41:25,140 Lasta jaro, ekzemple, ni komencis, kiel ni komencas ĉi tiun jaron, kun Scratch. 799 00:41:25,140 --> 00:41:29,150 Aparte tiu vendredo, ni uzos, ĉar nur unu tago da tempo, grafika 800 00:41:29,150 --> 00:41:32,260 programlingvo, kun kiu ni instruos vin komenci programado trenante kaj 801 00:41:32,260 --> 00:41:37,580 delasante puzlo pecoj ke nur kunvenigi fizike se tio havas sencon 802 00:41:37,580 --> 00:41:38,990 fari tiel logike. 803 00:41:38,990 --> 00:41:43,460 >> Venontan semajnon, ni rapide transiro al C, sufiĉe malnova sed tre malgranda kaj 804 00:41:43,460 --> 00:41:48,510 simpla lingvo, ke ni permesos vere iri de 0 al 60 en la kurso 805 00:41:48,510 --> 00:41:52,290 de nur kelkaj semajnoj, kaj poste parlay tiuj samaj kapabloj kaj konoj de 806 00:41:52,290 --> 00:41:56,160 bazaj programado konstruoj en alta-nivelo lingvojn kiel PHP, 807 00:41:56,160 --> 00:41:58,240 Javascript, kaj tamen aliaj ankoraŭ. 808 00:41:58,240 --> 00:42:02,560 >> Pasintjare, la tria pset en la kurso estis tiu de ĉifriko, oni 809 00:42:02,560 --> 00:42:06,380 domajno-specifa apliko per kiu ni defiis studentoj apliki neniu 810 00:42:06,380 --> 00:42:11,140 numeron de ĉifroj, programoj, per kiu por levi aŭ unscramble informoj, 811 00:42:11,140 --> 00:42:11,880 por kodi ĝi. 812 00:42:11,880 --> 00:42:16,300 Por la hacker eldono, per kontrasto, ni donis al la hacker studentoj dosieron 813 00:42:16,300 --> 00:42:19,900 de norma Uniksa komputilo enhavanta uzanto nomoj kaj pasvortoj, 814 00:42:19,900 --> 00:42:22,740 la lasta de kiuj estis koditaj, kaj ni defiis tiuj hacker 815 00:42:22,740 --> 00:42:26,850 studentoj por deĉifri, kiel bona povis, tiuj pasvortoj, ankoraŭ sur tiu 816 00:42:26,850 --> 00:42:27,770 sama domajno. 817 00:42:27,770 --> 00:42:30,580 >> Scramble, ludo per kiu iuj vi eble estas familiara. 818 00:42:30,580 --> 00:42:34,410 Al forensics peco, kie ni petas studentojn rekuperi datumoj kiuj estis 819 00:42:34,410 --> 00:42:38,530 alie forviŝita el mia propra cifereca fotilo kompakta flash karto, per 820 00:42:38,530 --> 00:42:42,740 fakte skribi programaron por eltrovi, kie estus la nuloj kaj en 821 00:42:42,740 --> 00:42:46,850 ke diĝita fotilo kiu antaŭe formis JPEG grafika? 822 00:42:46,850 --> 00:42:49,710 >> Defio de varoj pasintjare engaĝante skribi la plej rapida 823 00:42:49,710 --> 00:42:53,160 literumilo ebla, rivalante kontraŭ amikoj kaj samklasanoj se 824 00:42:53,160 --> 00:42:53,860 ili ŝatus. 825 00:42:53,860 --> 00:42:56,330 Implementando Huff 'n Puff, oni kunpremo programo. 826 00:42:56,330 --> 00:43:01,930 Kaj tiam finante la sesmonato kun CS50 Financoj, la reta kandidatiĝo kun 827 00:43:01,930 --> 00:43:06,570 kion oni kreas eTrade-kiel afiŝinto aĉeti kaj vendi akcioj, tiel 828 00:43:06,570 --> 00:43:09,860 paroli, por reale tiranta preskaŭ reala tempo citaĵoj Yahoo! 829 00:43:09,860 --> 00:43:10,450 Financi. 830 00:43:10,450 --> 00:43:13,590 >> Kion ni ne faris pasintjare estis unu problemo aro kiu restas 831 00:43:13,590 --> 00:43:14,810 tamen favorito. 832 00:43:14,810 --> 00:43:18,400 Se vi neniam iris al shuttle.cs50.net, vi vidos uzanto 833 00:43:18,400 --> 00:43:19,670 Interfaco iom kiel ĉi tio. 834 00:43:19,670 --> 00:43:23,530 Sed antaŭ du jaroj, la klaso implementado, per Google Maps kaj la 835 00:43:23,530 --> 00:43:28,570 Google Earth plug-in kaj iomete de savvy kun alkonduko ĉirkaŭ campus, 836 00:43:28,570 --> 00:43:33,290 tiel ke la celo de tiu ludo estis, kiel vi povas vidi iom de la vizaĝoj, 837 00:43:33,290 --> 00:43:37,530 estas stiri ĉirkaŭ kampuso serĉi bastono, instruado uloj kaj CAS, kaj 838 00:43:37,530 --> 00:43:40,080 kiam vi faras, metante ilin sur via buso. 839 00:43:40,080 --> 00:43:44,035 Neniu el ili vere ŝajnas esti tie, do ni tuj enigi cheat kodo. 840 00:43:44,035 --> 00:43:47,150 >> [Ridado] 841 00:43:47,150 --> 00:43:48,430 >> DAVID Malan: Tie ni iru. 842 00:43:48,430 --> 00:43:49,240 Ĉio bone. 843 00:43:49,240 --> 00:43:51,750 Kaj tie nun estas la bastono laĉitajn tuta kampuso. 844 00:43:51,750 --> 00:43:54,530 Kaj kiel vi povas vidi, en la dekstra mano flanko de la ekrano, la buso 845 00:43:54,530 --> 00:43:55,510 havas malplenan sidejoj. 846 00:43:55,510 --> 00:43:59,000 Kaj la objektivo estis skribi la kodo per kiu por simuli tiun 847 00:43:59,000 --> 00:44:01,790 stiri kaj reprenante kaj delasante ekstere de pasaĝeroj. 848 00:44:01,790 --> 00:44:04,960 Tiu, ankaŭ, uzante lingvo vokis JavaScript. 849 00:44:04,960 --> 00:44:10,030 Do rimarkas ke programoj kiel tiu volo esti sur nia sama trajektorio ĉi 850 00:44:10,030 --> 00:44:10,910 jaro, tiel. 851 00:44:10,910 --> 00:44:13,640 >> En terminoj, nun, de plia subteno ni havas oficejon horoj. 852 00:44:13,640 --> 00:44:16,520 Kiel vi eble vidis en via domo manĝejo aŭ en Annenberg, 853 00:44:16,520 --> 00:44:19,280 ni estos en la domo manĝejo salonoj kvar noktoj semajno - 854 00:44:19,280 --> 00:44:24,450 Leverett, Pfoho, Eliot kaj Annenberg ĉi tiun jaron, 8:00 am ĝis 11:00 PM. 855 00:44:24,450 --> 00:44:26,830 Kaj kion ni pensis ke ni volas fari ĉi jaro Estas io iom malsama. 856 00:44:26,830 --> 00:44:29,650 >> Se vi aŭdis rumblings pasintjare, ke ĝi estis iom tro turmenta, ĉi 857 00:44:29,650 --> 00:44:32,800 jaro la oficejo horoj, kiel ni priskribas proksima semajno, estos pli organika, 858 00:44:32,800 --> 00:44:36,900 per kiu post sia alveno, vi estos sendis al unu aparta tablo 859 00:44:36,900 --> 00:44:39,860 kie multnombraj stabanojn atendas, kaj ni faros aferojn multe pli 860 00:44:39,860 --> 00:44:40,440 organike. 861 00:44:40,440 --> 00:44:43,740 Ne plu vosto, ne pli iPad, sed anstataŭ havi pli intiman 862 00:44:43,740 --> 00:44:47,300 konversacioj ĉirkaŭ tablo de nur ok aŭ tiel studentoj, tiel ke ni 863 00:44:47,300 --> 00:44:50,880 aproksimi la sento de kio alie Estus multe pli malgranda klaso. 864 00:44:50,880 --> 00:44:54,120 >> Ni proponas, siavice, tion ni vokis walkthroughs, filmetoj filmado en 865 00:44:54,120 --> 00:44:57,330 antaŭi por unu el la kurso de instruado uloj, Zamyla, en kiu 866 00:44:57,330 --> 00:45:00,690 promenas vin tra la semajno problemo aroj, proponante konsilojn kaj lertaĵojn por la 867 00:45:00,690 --> 00:45:02,640 defioj, kiu kuŝis antaŭe. 868 00:45:02,640 --> 00:45:06,230 Kaj inverse, post problemo aroj estas pro, ĉi tiu jaro, ni ankaŭ liberigos 869 00:45:06,230 --> 00:45:09,100 iom klipoj vokas post-mortems ke efektive promeni vin tra 870 00:45:09,100 --> 00:45:13,630 reprezentanto solvoj, ambaŭ bonaj kaj malbona, per kiu vi povas konkludi kiom 871 00:45:13,630 --> 00:45:17,550 vi povus havi aŭ devus havi implementado vian propran solvon. 872 00:45:17,550 --> 00:45:20,500 >> Kaj kion ni proponas por la unua fojo ĉi tiu jaro kiel bone, aparte 873 00:45:20,500 --> 00:45:23,420 por tiuj lernantoj, kiuj helpos sin de la kurso de aliaj 874 00:45:23,420 --> 00:45:28,580 rimedojn sed tamen luktas ĉiuj tro multe, la kurso 875 00:45:28,580 --> 00:45:33,030 mem paro tiuj lernantoj, rimedoj permesas, kun lingvohelpantoj por ke 876 00:45:33,030 --> 00:45:35,840 vi havas multe pli intima ŝanco ol domo manĝoĉambroj 877 00:45:35,840 --> 00:45:38,700 permesus por unu-sur-unu helpo. 878 00:45:38,700 --> 00:45:42,780 >> Nun fina duonvidi en iu de la fino ludoj en vido. 879 00:45:42,780 --> 00:45:44,580 Vi povus esti familiara kun la CS50 Hackathon. 880 00:45:44,580 --> 00:45:48,120 Nu, venante ĉi decembro, ekde 8:00 Am al 7:00 AM, komence de 881 00:45:48,120 --> 00:45:51,410 Legante Periodo, estos okazo por inviti samklasanoj - 882 00:45:51,410 --> 00:45:53,130 tiu estus ĉirkaŭ 9:00 PM - 883 00:45:53,130 --> 00:45:56,550 dum kiuj vi pikita en viajn fino projekto efektivigo apud 884 00:45:56,550 --> 00:45:59,910 samklasanoj, amikoj, kaj manĝo. 885 00:45:59,910 --> 00:46:03,680 Ĉi tiu estus ĉirkaŭ 1:00 AM, kiam la unua parto de manĝo alvenis. 886 00:46:03,680 --> 00:46:08,470 Kaj jen estas proksimume 4:00 AM ke aparta jaro en la CS50 Hackathon. 887 00:46:08,470 --> 00:46:12,000 >> Sed la vera klimakso de la kurso estas signifis al la CS50 Foiro, campus mondaj 888 00:46:12,000 --> 00:46:15,790 ekspozicio de via propra fina projektoj, al kiu familio kaj amikoj estas ĉiuj 889 00:46:15,790 --> 00:46:18,730 invitis, kiel nia reclutadores kaj niaj amikoj el industrio. 890 00:46:18,730 --> 00:46:22,170 Ĉi tio, ekzemple, estas ekvidis la 2.000-plus personoj kiuj jam ĉeestis 891 00:46:22,170 --> 00:46:23,160 pasintaj jaroj. 892 00:46:23,160 --> 00:46:27,180 Esprimoj kiel ĉi ne estas maloftaj, kaj simile fari vian 893 00:46:27,180 --> 00:46:29,660 samklasanoj plezuron en aĵoj vi jam plenumita. 894 00:46:29,660 --> 00:46:33,170 >> Kaj fakte, al tiu celo, ni havi eksalto-de-termino okazaĵo, tiel. 895 00:46:33,170 --> 00:46:37,400 Se aĵojn kiel ĉi apelacio al vi, aŭ vi estas almenaŭ scivola kia 896 00:46:37,400 --> 00:46:41,590 tiu, scias ke nova tradicio de la kurso nomiĝas CS50 Puzlo Tago. 897 00:46:41,590 --> 00:46:45,710 Kaj tio estigis kelkajn jarojn malantaŭen por vere signali al kampuso 898 00:46:45,710 --> 00:46:48,930 ke komputiko estas ne pri programado, kaj ĝi estas certe ne 899 00:46:48,930 --> 00:46:51,960 pri brakumante nur tiuj studentoj kiuj havas antaŭan sperton. 900 00:46:51,960 --> 00:46:54,200 Estas vere pri problemo-solvado pli ĝenerale. 901 00:46:54,200 --> 00:46:57,360 >> Kaj tiel Puzzle Tagon, dum la pasintaj kelkaj jaroj, evoluis al bela 902 00:46:57,360 --> 00:47:00,500 partnereco kun niaj amikoj Facebook, per kiu oni estos fabela 903 00:47:00,500 --> 00:47:04,830 premioj kaj pico trans la rivero en la i-laboratorio ĉi venas sabaton. 904 00:47:04,830 --> 00:47:09,180 Direkti al tiu URL kun du aŭ tri amikoj, se vi ŝatus partopreni 905 00:47:09,180 --> 00:47:10,830 en ĉi tiu nova tradicio. 906 00:47:10,830 --> 00:47:14,180 >> Do mi ŝatus peti ke vi gardas aĵo en menso, kaj ni havas nur 907 00:47:14,180 --> 00:47:17,070 du minuto klipo sur kiu fermi hodiaŭ. 908 00:47:17,070 --> 00:47:19,640 73% estas la nombro de memori. 909 00:47:19,640 --> 00:47:23,900 Kuko, tro, tuj atendas vin ekstere de ĉi tiu transepto kiel ni adjourn en nur 910 00:47:23,900 --> 00:47:26,710 kelkaj momentoj, kiuj estas tradicio de la kurso, ankaŭ. 911 00:47:26,710 --> 00:47:29,860 Sed ĉi tiu estas la ŝlosilo citaĵo el la Kompreneble la Syllabus teni en la menso. 912 00:47:29,860 --> 00:47:32,820 Kion finfine gravas en ĉi tiu kurso ne estas tiom kie vi finos 913 00:47:32,820 --> 00:47:36,580 relativa al via samklasanoj sed kie vi, en la semajno 12, finu relativa al 914 00:47:36,580 --> 00:47:37,960 vin en Semajno 0. 915 00:47:37,960 --> 00:47:43,670 >> Sed la ekvido, ke ni lasos vin kun ĉi tie hodiaŭ estas ĉi lasta tie 916 00:47:43,670 --> 00:47:47,580 de nia sama Daniel, kiu faris la wrdly video nur antaŭ momento. 917 00:47:47,580 --> 00:47:50,000 Mi lasas vin kun ĉi rigardeton de kio kuŝas antaŭen. 918 00:47:50,000 --> 00:47:53,360 Kaj kiel ni tion faru, se ni povus havi CS50 bastonon de antaux la salono de 919 00:47:53,360 --> 00:47:57,280 veni al la scenejo por pentri ĉiuj la pli vida bildo pri 920 00:47:57,280 --> 00:47:59,100 kio atendas vin ĉi jaro - 921 00:47:59,100 --> 00:48:00,350 atingi mallerta. 922 00:48:00,350 --> 00:48:02,200 923 00:48:02,200 --> 00:48:05,188 Ni finos kun tiu tie en la ekrano. 924 00:48:05,188 --> 00:48:18,634 >> [MUZIKO ludi] 925 00:48:18,634 --> 00:48:21,124 >> DAVID Malan: Ĉi tiu estas CS50. 926 00:48:21,124 --> 00:50:00,226 >> [MUZIKO - Matt & KIM, "IT'S ALRIGHT"] 927 00:50:00,226 --> 00:50:03,245 >> Parolanto 1: Mi amas CS50 pli ol katoj. 928 00:50:03,245 --> 00:50:06,030 >> Speaker 2: Whoaaaa! 929 00:50:06,030 --> 00:50:06,990 >> [Ridado] 930 00:50:06,990 --> 00:50:08,140 >> DAVID Malan: Ĉi tiu, do, estas CS50. 931 00:50:08,140 --> 00:50:10,050 Ni vidos vin en vendredo. 932 00:50:10,050 --> 00:50:13,370 >> [Aplaŭdoj kaj huraoj] 933 00:50:13,370 --> 00:50:17,540 >> Rakontanto: Je la sekvanta CS50, oni scenejo demo ne iras kiel planita. 934 00:50:17,540 --> 00:50:19,080 >> DAVID Malan: ni volas trovi Mike Smith en tiu telefono libro. 935 00:50:19,080 --> 00:50:20,380 Nu, kio estas viaj instinktoj? 936 00:50:20,380 --> 00:50:23,750 Mi povus salti malafable meze de la telefono libro, rigardis malsupren, tiam rigardu 937 00:50:23,750 --> 00:50:26,830 Mi estas ĉe M, kaj nun mi scias, ke Mike Smith ne estas al la maldekstra. 938 00:50:26,830 --> 00:50:27,840 Li devas esti al la dekstra. 939 00:50:27,840 --> 00:50:30,515 Kaj tial je ĉi tiu punkto, ni povas laŭvorte dissxiros - 940 00:50:30,515 --> 00:50:33,300 en ĉi tiu punkto, ni povas laŭvorte dissxiros - 941 00:50:33,300 --> 00:50:36,490 en ĉi tiu punkto, ni povas figure ŝiri la telefonon libro en duono. 942 00:50:36,490 --> 00:50:38,954 >> [Ukelele rasgueo]