1 00:00:00,000 --> 00:00:00,479 2 00:00:00,479 --> 00:00:10,830 >> [Mūzikas atskaņošanas] 3 00:00:10,830 --> 00:00:12,080 [MUSIC - ROSSINI, "RANZ DES VACHES "no William TELL] 4 00:00:12,080 --> 00:00:24,222 5 00:00:24,222 --> 00:00:25,472 >> [MUSIC - ANGĻU BEAT "MARTS No pagrieziena VADĪTĀJU "] 6 00:00:25,472 --> 00:02:24,538 7 00:02:24,538 --> 00:02:31,510 >> [Aplausus un uzmundrinoša] 8 00:02:31,510 --> 00:02:33,520 >> DAVID Malan: Tātad tas ir CS50. 9 00:02:33,520 --> 00:02:34,730 Mans vārds ir David Malan. 10 00:02:34,730 --> 00:02:39,250 Un 73% no jums nav iepriekšējas pieredzes ar datorzinātnēs, 11 00:02:39,250 --> 00:02:41,300 pretēji tam, ko jūs varētu domāt. 12 00:02:41,300 --> 00:02:45,290 Tātad šodien mēs domājam, ka mēs varētu graut šajā neziņas, bet arī 13 00:02:45,290 --> 00:02:48,970 jums sajūtu, tiem no jums, ar lielāku komfortu, kas virzieni 14 00:02:48,970 --> 00:02:50,550 Jūs varat doties šajā semestrī. 15 00:02:50,550 --> 00:02:51,890 >> Tāpēc sāksim ar to. 16 00:02:51,890 --> 00:02:55,490 Man tiešām nav ne jausmas, kas ir piemērots iekšpusē dators, lai gan, tāpat kā jūs, es 17 00:02:55,490 --> 00:02:56,780 izmantot katru dienu. 18 00:02:56,780 --> 00:03:00,000 Bet tas ir sava veida kastē, un tur ir nav daudz ieejas tajā. 19 00:03:00,000 --> 00:03:01,350 Minimāli, tur ir, ko? 20 00:03:01,350 --> 00:03:03,120 Iespējams, strāvas vads. 21 00:03:03,120 --> 00:03:06,640 >> Un tiešām ar šo vienu sastāvdaļu, elektrība, mēs, šķiet, spēj 22 00:03:06,640 --> 00:03:09,490 darot diezgan daudz šajās dienās. 23 00:03:09,490 --> 00:03:12,130 Bet beigās, dienā, mēs ir pārstāvēt lietas 24 00:03:12,130 --> 00:03:12,860 ka mums rūp. 25 00:03:12,860 --> 00:03:15,240 Mums ir pārstāvēt informācija tādā vai citādā veidā. 26 00:03:15,240 --> 00:03:18,365 Un jūs, iespējams, vismaz neskaidri iepazinušies ar ideju par bināro vai 27 00:03:18,365 --> 00:03:21,370 biti vai citādi, datori samazināta līdz nullēm un tiem. 28 00:03:21,370 --> 00:03:26,320 Bet mēs varam pieņemt, ka, un vismaz likts mazliet gaismas ka? 29 00:03:26,320 --> 00:03:28,880 >> Tāpēc man ir šie maz galda lampas šeit. 30 00:03:28,880 --> 00:03:30,450 Man ir elektriskās kontaktligzdas šeit. 31 00:03:30,450 --> 00:03:33,930 Un es esmu gatavojas ierosināt, ka iekšā no mana datora ir vismaz viens no 32 00:03:33,930 --> 00:03:37,300 šīs lietas, kaut kas var tikt ieslēgt vai izslēgt. 33 00:03:37,300 --> 00:03:40,200 Šajā gadījumā, tas ir patiešām galda lampa, bet zemākajā līmenī, tas ir kaut kas 34 00:03:40,200 --> 00:03:41,500 sauc tranzistors. 35 00:03:41,500 --> 00:03:44,730 >> Bet mūsu pasaulē, tā ir galda lampa, tāpēc Es iešu uz priekšu un pievienojiet to 36 00:03:44,730 --> 00:03:47,990 manā elektroenerģiju šeit. 37 00:03:47,990 --> 00:03:52,970 Un es apgalvo, ka, izmantojot šo vienkāršo, vienkāršā ierīce, šo vienkāršo slēdzi, es 38 00:03:52,970 --> 00:03:54,850 var pārstāvēt informāciju. 39 00:03:54,850 --> 00:03:58,090 Piemēram, tieši tagad, es esmu pārstāv neko, vai ne? 40 00:03:58,090 --> 00:04:01,820 Es esmu, kas pārstāv to, ko es saukšu 0 vai nepatiesa, pretī kaut 41 00:04:01,820 --> 00:04:03,130 faktiski nav klāt. 42 00:04:03,130 --> 00:04:07,050 Bet, ja es vienkārši pārvērst šo slēdzi, tagad es esmu veidoja 1. 43 00:04:07,050 --> 00:04:10,720 Tātad, izmantojot šo ļoti vienkāršs gabals atmiņas, ja jūs, es varu pārstāvēt 44 00:04:10,720 --> 00:04:11,450 informāciju. 45 00:04:11,450 --> 00:04:14,350 >> Tagad diemžēl, mans dators nevar darīt visu, ka daudz. 46 00:04:14,350 --> 00:04:17,430 Tā var tikai pārstāvēt divas vērtības visā pasaulē - 47 00:04:17,430 --> 00:04:18,620 0 vai 1. 48 00:04:18,620 --> 00:04:21,839 Bet to, kas ir acīmredzams risinājums, tagad, ja mēs vēlamies paplašināt mūsu datora 49 00:04:21,839 --> 00:04:25,120 atmiņu un pārstāv vairāk nevis tikai 0 un 1? 50 00:04:25,120 --> 00:04:27,060 >> Nu, pieņemsim paķert vēl vienu tādu mazliet. 51 00:04:27,060 --> 00:04:30,260 Let 's paķert citu slēdzi, cits tranzistors, tomēr jūs vēlaties, lai 52 00:04:30,260 --> 00:04:31,130 domā par to. 53 00:04:31,130 --> 00:04:34,170 Ļaujiet man iet uz priekšu un pievienojiet to manā datorā, kā arī. 54 00:04:34,170 --> 00:04:38,270 Un es esmu gatavojas pieprasīt, tagad, ka, Izmantojot mazliet vairāk elektrības un 55 00:04:38,270 --> 00:04:42,290 pagrieziena vairāk no šiem slēdžiem par un off, es varu pārstāvēt vairāk tādas 56 00:04:42,290 --> 00:04:43,020 informāciju. 57 00:04:43,020 --> 00:04:44,660 >> Tāpēc tieši tagad, tas ir 1. 58 00:04:44,660 --> 00:04:48,120 Ja es gribu tagad pārstāv 2, es varētu darīt. 59 00:04:48,120 --> 00:04:51,510 Bet parasti, konvencija, kā mēs ll galu galā redzēt, būs man darīt. 60 00:04:51,510 --> 00:04:55,260 Tāpēc tas ir 0, tas ir 1. 61 00:04:55,260 --> 00:04:56,720 Tas būtu 2. 62 00:04:56,720 --> 00:04:59,920 Un nav pārsteigums, tas būtu 3. 63 00:04:59,920 --> 00:05:02,610 >> Tātad šādā veidā, tomēr, var mēs paļaujamies pat vēl tālāk? 64 00:05:02,610 --> 00:05:06,500 Ja man trešo mazliet, trešā slēdzis, kas ir lielākais skaits es tagad 65 00:05:06,500 --> 00:05:09,720 skaita līdz no 0? 66 00:05:09,720 --> 00:05:12,020 Tātad, 7, ja es esmu, sākot no 0, labi? 67 00:05:12,020 --> 00:05:15,980 Jo, ja es savukārt šo gaismu un faktiski plug šis trešais un pēdējais 68 00:05:15,980 --> 00:05:20,090 iedegties manā elektrisko kontaktligzdu šeit, tad man ir spējīga pārstāvēt 69 00:05:20,090 --> 00:05:24,930 kāds no divām vērtībām šeit, divas vērtības Šeit, divas vērtības šeit - 70 00:05:24,930 --> 00:05:32,610 un tā es varētu pārstāvēt 2 reizes 2 reizes 2, astoņi vai iespējamās vērtības. 71 00:05:32,610 --> 00:05:36,340 Un, ja es sāktu uzskaiti pie 0, tā kas ir 0, 1, 2, 3, 4, 5, 6, 7. 72 00:05:36,340 --> 00:05:37,480 >> Tātad šis bināro. 73 00:05:37,480 --> 00:05:39,420 Tas patiešām ir tik vienkārši. 74 00:05:39,420 --> 00:05:41,930 Un es gribētu apgalvot, ka tas ir faktiski diezgan pazīstams ar lielāko daļu 75 00:05:41,930 --> 00:05:43,180 ikviens šajā telpā. 76 00:05:43,180 --> 00:05:45,710 Ļaujiet man iet uz priekšu un atvērt maz teksta redaktoru šeit. 77 00:05:45,710 --> 00:05:49,040 >> Un jūs varētu atcerēties no pamatskolas ka mums bija lietas, piemēram, simtiem 78 00:05:49,040 --> 00:05:51,970 vietu, desmitiem vietu, un tie, vieta. 79 00:05:51,970 --> 00:05:55,040 Un atcerēties, ka, ja jums bija dažas zīmi aiz komata numuru, kā kaut izlases 80 00:05:55,040 --> 00:05:59,470 piemēram, 123, jūs varētu būtībā raksta, ka no kā 81 00:05:59,470 --> 00:06:00,450 no šiem trim kolonnām. 82 00:06:00,450 --> 00:06:04,070 Un kāpēc ir 1, 2, 3, ko mēs zinām kā 123? 83 00:06:04,070 --> 00:06:11,220 Nu, kreisās malas kolonnā, mums ir one 100 plus divi 10s, tā ka, 120, 84 00:06:11,220 --> 00:06:14,250 plus trīs 1s, tā, ka ir 123. 85 00:06:14,250 --> 00:06:17,990 >> Tagad šī pasaule, ka mēs tikko izgaismota ir tieši tāds pats kā 86 00:06:17,990 --> 00:06:21,150 Jūs esat iepazinušies ar gadiem, izņemot tagad, mūsu kolonnas 87 00:06:21,150 --> 00:06:22,060 nav pilnvaras 10. 88 00:06:22,060 --> 00:06:23,780 Viņi vienkārši pilnvaras 2. 89 00:06:23,780 --> 00:06:27,830 Tādējādi, kaut arī tas ir tiem vietu, šis būs twos vietā, tas ir, 90 00:06:27,830 --> 00:06:29,540 būs četrinieki vietu. 91 00:06:29,540 --> 00:06:33,260 >> Un tāpēc, ka es esmu tikai izmantojot vienkāršāko mehānismu, kas savukārt lietas 92 00:06:33,260 --> 00:06:37,100 ieslēgšana un izslēgšana - elektrība plūst vai elektroenerģijas neplūst - 93 00:06:37,100 --> 00:06:40,880 Man nav gluži ir tas pats izteiksmīga klāstu, kā 0 līdz deviņi. 94 00:06:40,880 --> 00:06:43,270 Mēs ejam, lai saglabātu to super vienkārši šajā pasaulē datoriem. 95 00:06:43,270 --> 00:06:45,060 Man tikai ir 0 vai 1 - 96 00:06:45,060 --> 00:06:47,890 vai izslēgt, nepatiesu vai taisnība. 97 00:06:47,890 --> 00:06:52,610 >> Un tā, ko es esmu, kas pārstāv tieši tagad ir 1, 1, 1, tāpēc, ka katrs no šiem 98 00:06:52,610 --> 00:06:54,000 apgaismojums deg. 99 00:06:54,000 --> 00:06:59,600 Nu, tas dod man vienu 4 un vienu 2, tāpēc , kas ir 6, plus viens 1, un kas ir 7. 100 00:06:59,600 --> 00:07:03,450 Un ergo tas šo secību trīs biti pārstāv 7. 101 00:07:03,450 --> 00:07:06,330 >> Tātad, visu šo laiku, iekšpusē jūsu dators, ir neierobežotu skaitu 102 00:07:06,330 --> 00:07:08,090 tranzistori, kāds skaits bitiem. 103 00:07:08,090 --> 00:07:10,380 Bet beigās, dienā, mēs var pārstāvēt informāciju 104 00:07:10,380 --> 00:07:12,560 kā vienkārši, kā to. 105 00:07:12,560 --> 00:07:16,770 Tagad diemžēl, mēs esam tikai skaitīti līdz līdz 7 CS50 līdz šim, bet 106 00:07:16,770 --> 00:07:18,550 cerams, mēs varam darīt mazliet labāk nekā to. 107 00:07:18,550 --> 00:07:19,550 Un tiešām mēs varam. 108 00:07:19,550 --> 00:07:23,570 >> Pieņemsim, ka mēs kā cilvēki vienkārši patvaļīgi nolēma, ka mēs gatavojamies 109 00:07:23,570 --> 00:07:28,750 saistīt numurus, piemēram, 1 un 2, 3, 4, 5, 6, 7, ar īpašiem vēstulēm 110 00:07:28,750 --> 00:07:29,410 alfabēts. 111 00:07:29,410 --> 00:07:32,350 Un vēsturisku iemeslu dēļ, es esmu gatavojas sāk nedaudz patvaļīgi, bet es esmu 112 00:07:32,350 --> 00:07:36,880 teiksiet, cilvēkus, mēs izlemt kā standarta, globāli, ka 113 00:07:36,880 --> 00:07:43,200 65 norāda, cik burtu A. 66 pārstāvēs B. Dot, dot, dot. 114 00:07:43,200 --> 00:07:45,140 90 pārstāvēs burtu Z. 115 00:07:45,140 --> 00:07:48,000 >> Un pieņemsim, ja mēs patiešām izvirzīti daži domāja par to, mēs varētu nākt klajā 116 00:07:48,000 --> 00:07:50,860 ar skaitļiem par izsaukuma un mazos burtus, un, protams, 117 00:07:50,860 --> 00:07:52,710 citi cilvēki ir darījuši, ka mums. 118 00:07:52,710 --> 00:07:56,410 Tāpēc tagad mums bija biti, ar kuriem mēs varam pārstāv numuri, numuri, ar kuriem 119 00:07:56,410 --> 00:08:00,130 mēs varam pārstāvēt vēstules, un ar burti mēs varam tagad sākt rakstīt 120 00:08:00,130 --> 00:08:02,650 e-pastu un poligrāfijas burtiem uz ekrāna. 121 00:08:02,650 --> 00:08:05,850 >> Tātad, ļaujiet man aicināt, ja es varētu, astoņi drosmīgie brīvprātīgie - 122 00:08:05,850 --> 00:08:09,200 kam nav nekas parādās ne tikai uz kameru, bet internetā - 123 00:08:09,200 --> 00:08:13,130 nākt šurp un pārstāv astoņas šāda biti, nevis šīm trim. 124 00:08:13,130 --> 00:08:14,380 Kā par vienu, lai, divas? 125 00:08:14,380 --> 00:08:16,290 Kā par trīs? 126 00:08:16,290 --> 00:08:20,230 Kā par četriem ņemot zils, pieci uz beigām? 127 00:08:20,230 --> 00:08:21,250 Par kādu, nekā šeit? 128 00:08:21,250 --> 00:08:25,320 Seši priekšā, septiņi priekšā, un astoņi priekšā, kā arī. 129 00:08:25,320 --> 00:08:29,050 >> Tāpēc es vienkārši tā notika nākt sagatavoti ar visu ķekars lapiņām. 130 00:08:29,050 --> 00:08:34,150 Un uz šiem papīra gabaliem ir skaitļi kas atspoguļo to, ko kolonnas 131 00:08:34,150 --> 00:08:35,809 jūs guys gatavojas pārstāvēt. 132 00:08:35,809 --> 00:08:36,740 Tātad jums būs - kāds ir tavs vārds? 133 00:08:36,740 --> 00:08:37,570 >> STUDENTU: Anna Leah. 134 00:08:37,570 --> 00:08:40,370 >> DAVID Malan: Anna Leah, jūs būs 128s kolonna. 135 00:08:40,370 --> 00:08:41,059 Jūs esat? 136 00:08:41,059 --> 00:08:41,510 >> STUDENTU: Chris. 137 00:08:41,510 --> 00:08:43,620 >> DAVID Malan: Chris būs būt 64s kolonna. 138 00:08:43,620 --> 00:08:44,070 Jūs esat? 139 00:08:44,070 --> 00:08:44,540 >> STUDENTU: Dan. 140 00:08:44,540 --> 00:08:46,970 >> DAVID Malan: Dan būs būt 32S kolonna. 141 00:08:46,970 --> 00:08:47,470 >> STUDENTU: Pramit. 142 00:08:47,470 --> 00:08:49,430 >> DAVID Malan: Pramit būs būt 16s kolonna. 143 00:08:49,430 --> 00:08:50,290 >> STUDENTU: Lillian. 144 00:08:50,290 --> 00:08:51,904 >> DAVID Malan: Liliāna būs 8s. 145 00:08:51,904 --> 00:08:52,768 >> STUDENTU: Jill. 146 00:08:52,768 --> 00:08:55,025 >> DAVID Malan: Jill būs būt 4s kolonna. 147 00:08:55,025 --> 00:08:55,400 >> STUDENTU: Mary. 148 00:08:55,400 --> 00:08:57,000 >> DAVID Malan: Marija būs 2s, un? 149 00:08:57,000 --> 00:08:57,470 >> STUDENTU: David. 150 00:08:57,470 --> 00:08:59,220 >> DAVID Malan: David būs būt 1s kolonna. 151 00:08:59,220 --> 00:09:02,030 Tātad, ja jūs puiši varētu pastiprināt nedaudz priekšu, lai ikviens varētu redzēt. 152 00:09:02,030 --> 00:09:05,370 Ko jūs guys neredzu, ka uz atpakaļ no šiem papīra lapiņām ir 153 00:09:05,370 --> 00:09:09,760 maz apkrāptu lapas, kas ir par uzdot šos astoņus bitus vai nu 154 00:09:09,760 --> 00:09:12,380 paaugstināt savu roku vai nē paaugstināt savu roku. 155 00:09:12,380 --> 00:09:14,100 Ja viņu rokas iet uz augšu, viņi pārstāv 1. 156 00:09:14,100 --> 00:09:17,120 Ja viņu rokas paliek uz leju, viņi pārstāv 0. 157 00:09:17,120 --> 00:09:21,410 >> Tikmēr mēs auditorija būtu varētu izrēķināt, pamatojoties uz šo 158 00:09:21,410 --> 00:09:26,490 kartēšana, kādi trīs burtu vārdu šos ļaudīm ir aptuveni izskaidrot. 159 00:09:26,490 --> 00:09:29,700 Tātad tikai brīdi, jūs gatavojas lasīt pirmo rindu pie muguras 160 00:09:29,700 --> 00:09:32,880 Jūsu apkrāptu loksnes, un jūs esat vai nu gatavojas paaugstināt vai paaugstināt savu roku. 161 00:09:32,880 --> 00:09:35,710 Ja jūs esat 1, jūs paaugstināt, ja tu esi 0, jūs stāvēt tur 162 00:09:35,710 --> 00:09:38,594 neveikli, tieši tāpat. 163 00:09:38,594 --> 00:09:40,386 Iet. 164 00:09:40,386 --> 00:09:43,945 Kas numuru, pirmkārt un galvenokārt, ir šie puiši pārstāv? 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, vai ne? 168 00:09:49,560 --> 00:09:52,400 Mums ir 1, kas 64s kolonnā, 1, kas 2s kolonnā. 169 00:09:52,400 --> 00:09:56,340 Tas dod man 66, tā, ka parādās ko pārstāv B. So 170 00:09:56,340 --> 00:09:57,075 jums puiši ir uzrakstīti - 171 00:09:57,075 --> 00:09:58,300 Labi, tas ir pietiekami. 172 00:09:58,300 --> 00:09:59,430 B. 173 00:09:59,430 --> 00:10:01,610 >> Tātad tagad pieņemsim pāriet uz Mūsu otrā vēstule. 174 00:10:01,610 --> 00:10:03,530 Iet. 175 00:10:03,530 --> 00:10:06,860 Kurš ir ātrākais math šeit? 176 00:10:06,860 --> 00:10:07,750 Tātad 79. 177 00:10:07,750 --> 00:10:11,840 Atkal, ja mēs pievienot up visi no kolonnas kurā tur 1, šobrīd, tikai 178 00:10:11,840 --> 00:10:14,840 tāpat kā mēs to darījām agrāk ar vienkāršāko piemēru 7, mēs tagad 179 00:10:14,840 --> 00:10:16,140 saņemt skaitu 79. 180 00:10:16,140 --> 00:10:19,910 Kas saskaņā ar mūsu kartēšana ir burtu O. Tāpēc mēs esam gandrīz tur. 181 00:10:19,910 --> 00:10:22,590 B, O. Un visbeidzot, doties. 182 00:10:22,590 --> 00:10:26,420 183 00:10:26,420 --> 00:10:30,120 >> Ko viņi pārstāv šobrīd? 184 00:10:30,120 --> 00:10:31,370 Mazāk vienprātība. 185 00:10:31,370 --> 00:10:34,660 186 00:10:34,660 --> 00:10:36,460 Tas ir tikai absolūts trokšņi. 187 00:10:36,460 --> 00:10:40,090 Jā, tas ir 87 patiesībā. 188 00:10:40,090 --> 00:10:40,490 Labs. 189 00:10:40,490 --> 00:10:44,480 >> Tātad, ja mēs tagad map, ka atpakaļ līdz - pieņemsim sākt zvanot mūsu ASCII diagrammu, 190 00:10:44,480 --> 00:10:46,450 American Standard kodekss Informācijas apmaiņa. 191 00:10:46,450 --> 00:10:47,700 Tas dod mums vēstuli - 192 00:10:47,700 --> 00:10:51,260 193 00:10:51,260 --> 00:10:54,810 nav "bo", bet "priekšgala." Un tas ir ideāls cue, lai jūs guys veikt priekšgala 194 00:10:54,810 --> 00:10:56,100 un galvu atpakaļ. 195 00:10:56,100 --> 00:10:56,980 Liels paldies. 196 00:10:56,980 --> 00:10:57,886 >> [Aplausi] 197 00:10:57,886 --> 00:10:59,136 >> DAVID Malan: Jūs varat saglabāt to. 198 00:10:59,136 --> 00:11:01,850 199 00:11:01,850 --> 00:11:05,942 Lai gan patiesībā, būtu kāds piemēram, galda lampa, arī? 200 00:11:05,942 --> 00:11:07,300 >> [Brēkt NO AUDIENCE] 201 00:11:07,300 --> 00:11:08,390 >> DAVID Malan: Galda lampa? 202 00:11:08,390 --> 00:11:10,850 >> [Smiekli] 203 00:11:10,850 --> 00:11:11,860 >> DAVID Malan: Tiešām? 204 00:11:11,860 --> 00:11:13,230 Galda lampas ikvienam? 205 00:11:13,230 --> 00:11:14,310 Labi. 206 00:11:14,310 --> 00:11:20,990 Tātad, sākot ar ļoti vienkāršāko principiem, mēs esam tagad ir ne tikai skaitīt 207 00:11:20,990 --> 00:11:24,750 līdz no 0 visu ceļu līdz pat 7, mēs esam uzskatīts, ka tikai metot vairāk 208 00:11:24,750 --> 00:11:28,080 biti vai vairāk gaismas un vairāk tranzistori šo problēmu, mēs varam 209 00:11:28,080 --> 00:11:32,680 pārstāvēt lielāka un lielāka numurus, un ergo, lielāks un lielāks diapazonu 210 00:11:32,680 --> 00:11:33,780 alfabētu, piemēram, angļu valodā. 211 00:11:33,780 --> 00:11:37,770 Un tikai pieņemsim uz ticību šodienas ka tāpat mēs varētu sākt 212 00:11:37,770 --> 00:11:42,220 pārstāvēt grafikas un video, un jebkuru skaits citos masu informācijas līdzekļos, ar kuru mēs esam 213 00:11:42,220 --> 00:11:43,610 pazīstami jau šodien. 214 00:11:43,610 --> 00:11:49,240 >> Tātad, tas ir CS50, un šajā klasē kopā no jums ir, atkal, ļoti daudzi 215 00:11:49,240 --> 00:11:53,050 klasesbiedru, kurš ir tik maz, pieredzi, kā jūs. 216 00:11:53,050 --> 00:11:57,730 Un es to pieminu tikai tāpēc, ka diezgan bieži, tostarp nesen kā vienu no 217 00:11:57,730 --> 00:12:01,860 pirmkursnieks konsultējot notikumiem un Pagājušajā pavasarī ir otrā kursa students konsultē 218 00:12:01,860 --> 00:12:06,420 notikums, mēs bieži dzirdam studenti atsakās kad nāk klajā ar CS galda, labi, 219 00:12:06,420 --> 00:12:10,070 Esmu bijis domāt par ņemot to intro klases, bet es neesmu īsti 220 00:12:10,070 --> 00:12:11,120 datoru persona. 221 00:12:11,120 --> 00:12:13,220 Vai arī, bet visi, protams, zina vairāk par mani. 222 00:12:13,220 --> 00:12:17,340 Un man tas lielākajā fontu iespējams, nodot šo ziņu, ka 223 00:12:17,340 --> 00:12:18,730 tas faktiski nav gadījumā. 224 00:12:18,730 --> 00:12:21,100 >> Un, ja jūs domājām, būtu Es, patiesībā, būt šeit? 225 00:12:21,100 --> 00:12:25,950 Saprotam, ka ne tikai šis kurss ir nosaukums Ievads datoru 226 00:12:25,950 --> 00:12:31,740 Zinātne, tā ir Ievads datoru Zinātne I. Tātad ir patiešām 227 00:12:31,740 --> 00:12:33,170 otrais šāda ievešana. 228 00:12:33,170 --> 00:12:35,390 Tātad jūs neesat, patiesībā, nepareizā vietā. 229 00:12:35,390 --> 00:12:39,000 Un starp mērķiem man ir šodien, ir remdēt jebkādas šāda veida bažas jums 230 00:12:39,000 --> 00:12:42,430 varētu būt, bet arī gleznot priekšstatu par to, kas ir veikalā 231 00:12:42,430 --> 00:12:45,720 skolēniem mazāk un ērtāk gan šajā kursā. 232 00:12:45,720 --> 00:12:49,320 >> Bet pirmais, vārds par vienu no izdales jums ir šodien, starp kurām 233 00:12:49,320 --> 00:12:50,780 Ir vairāki FAQ. 234 00:12:50,780 --> 00:12:54,290 Tas ir bijis redzējums par mūsu kādu laiku Tagad, lai ieviestu jaunu klasifikāciju 235 00:12:54,290 --> 00:12:57,010 iespēja šajā laikā - proti, SAT / UNSAT. 236 00:12:57,010 --> 00:13:01,930 Filozofiski man, tas ir daudz daudz, daudz svarīgāk, ka 237 00:13:01,930 --> 00:13:05,050 studentiem šajā klasē sadarboties ar materiālu, var apstrīdēt 238 00:13:05,050 --> 00:13:09,800 materiāla, un jāuztraucas daudz, daudz mazāk par mehānika Faktisko partitūras 239 00:13:09,800 --> 00:13:12,590 un vēstuļu pakāpes pie semestra beigām, bet patiesi apskāviens 240 00:13:12,590 --> 00:13:13,970 kursa un tā materiāls. 241 00:13:13,970 --> 00:13:18,140 Un tiešām tas jūtas, plašākā nozīmē, par to, kas ir interesanti tiem, kas 242 00:13:18,140 --> 00:13:21,390 jūtas apdraudēta un atalgoti, bet bez bailēm no neveiksmes. 243 00:13:21,390 --> 00:13:25,030 >> Un tiešām, tas arī ir atkārtojas tēma šo un citiem ievada 244 00:13:25,030 --> 00:13:28,680 kursus citās jomās, kas jums ir tas trīsas, kad runa ir par 245 00:13:28,680 --> 00:13:31,040 liekot savas pirkstiem svešs ūdeņos. 246 00:13:31,040 --> 00:13:34,880 Es pats, atpakaļ 1995, bija pirmkursnieks. 247 00:13:34,880 --> 00:13:37,990 Es biju ļoti vērsta uz to Gov koncentratoru šeit. 248 00:13:37,990 --> 00:13:41,060 Un tomēr es gribētu vienmēr uzauguši ar mazliet gada ir interese datorzinātnēs. 249 00:13:41,060 --> 00:13:42,180 Man vienmēr bija ziņkārīgs. 250 00:13:42,180 --> 00:13:47,610 >> Bet toreiz, pat, man bija šī bailes no pat pastiprināšanu kāju CS50, tik daudz 251 00:13:47,610 --> 00:13:49,420 tāpēc, ka man nav pat iepirkties to pirmkursnieks gadu. 252 00:13:49,420 --> 00:13:53,460 Un vienīgais iemesls, kāpēc es likt kāju durvju sophomore gadu bija tāpēc, ka es 253 00:13:53,460 --> 00:13:55,340 bija atļauts ņemt to ieskaitīto / neieskaitīt. 254 00:13:55,340 --> 00:13:58,920 Bet pat ieskaitīts / neieskaitīts prasīts, ka man līdz nervu, lai amatā 255 00:13:58,920 --> 00:14:01,970 ar profesoru Kernehan laikā, celt šo lielo papīra lapu, un lūgt 256 00:14:01,970 --> 00:14:04,470 viņam par viņa parakstu un viņa atļauju, lai izpētītu 257 00:14:04,470 --> 00:14:05,700 šie svešs ūdeņos. 258 00:14:05,700 --> 00:14:09,030 >> Un tas nav palīdzējis pēdējos gados ka tad, kad to izdarīt CS50, kad mēs 259 00:14:09,030 --> 00:14:12,500 kādreiz der / neder, tāpat būtu desmitiem vai simtiem saviem klasesbiedriem 260 00:14:12,500 --> 00:14:15,970 ir jānāk klajā, nedod Dievs, pie priekšpuse Sanders ar šo formu, kas 261 00:14:15,970 --> 00:14:19,520 dažos prātos atspoguļo nespēju, Es uzdrošinos teikt, lai veiktu 262 00:14:19,520 --> 00:14:20,800 ir jūsu vienaudžiem "līmenī. 263 00:14:20,800 --> 00:14:23,410 Kas ir smieklīgi, bet es domāju, ka tur ir, ka mentalitāte. 264 00:14:23,410 --> 00:14:27,210 Un tur nekad nav bijis šajā kultūrā gada SAT / UNSAT, vai ieskaitīto / neieskaitīt vairāk 265 00:14:27,210 --> 00:14:30,610 parasti, šajā laikā, vai tiešām šajā pilsētiņā. 266 00:14:30,610 --> 00:14:32,310 >> Tāpēc šogad mēs mainījuši. 267 00:14:32,310 --> 00:14:35,630 Es būtu sajūsmā puse Šī klase vai vairāk beigusies 268 00:14:35,630 --> 00:14:38,700 galā, ņemot CS50 SAT / UNSAT. 269 00:14:38,700 --> 00:14:42,130 Šajā gada laikā, tas būtu brīnišķīgi ja gandrīz visi ir. 270 00:14:42,130 --> 00:14:44,410 Pēc tam varbūt mēs darbu uz vēstuli pakāpes Hārvardas 271 00:14:44,410 --> 00:14:45,480 Koledžas kopumā. 272 00:14:45,480 --> 00:14:48,900 Bet tagad mēs darīsim to, kas ir mūsu pašu sfēra, un es gribētu sirsnīgi 273 00:14:48,900 --> 00:14:53,400 aicinām jūs iepazīties ar šo FAQ, un uzdot jautājumus, kā redzat fit, lai 274 00:14:53,400 --> 00:14:58,000 cerams tu, atšķirībā no manis, nebūs gluži ir, ka pašu bailes faktors, kad 275 00:14:58,000 --> 00:15:01,040 pētot to, kas ir iespējams, svešs vietu. 276 00:15:01,040 --> 00:15:02,786 >> Tātad, kas ir CS50? 277 00:15:02,786 --> 00:15:06,150 Tas ir ievads intelektuālā uzņēmumi datorā 278 00:15:06,150 --> 00:15:07,700 zinātnes un programmēšanas art. 279 00:15:07,700 --> 00:15:08,770 Bet ko tas īsti nozīmē? 280 00:15:08,770 --> 00:15:12,510 >> Nu, līdz šim, mēs runājām ļoti īsi par pārstāv informāciju. 281 00:15:12,510 --> 00:15:15,070 Bet pieņemsim, ka mēs tiešām vēlamies kaut ko darīt ar to. 282 00:15:15,070 --> 00:15:17,890 Mums ir nepieciešams ieviest jēdzienu , ko mēs saucam par algoritmu. 283 00:15:17,890 --> 00:15:21,540 Algoritms ir procedūra, process, instrukcijas to 284 00:15:21,540 --> 00:15:22,780 darīt kaut ko. 285 00:15:22,780 --> 00:15:25,620 >> Un algoritms, var būt kaut kas super vienkārši. 286 00:15:25,620 --> 00:15:28,660 Piemēram, piemēram, ar kurām dažām no jums varētu būt pazīstams tas ir 287 00:15:28,660 --> 00:15:29,350 lieta šeit. 288 00:15:29,350 --> 00:15:32,510 Tātad šī grāmata, šeit ir arvien vairāk gada, bet tad, kad sensenos laikos, tas 289 00:15:32,510 --> 00:15:34,720 ietverts visai daudz vārdu un tālruņa numuru. 290 00:15:34,720 --> 00:15:37,710 Un tiešām, ja es gribēju, lai atrastu kāds šo tālruni grāmatā - 291 00:15:37,710 --> 00:15:39,800 teiksim, kāds nosaukts Mike Smith - 292 00:15:39,800 --> 00:15:43,810 Es varētu atrast Mike Smith jebkuru numuru no samērā vienkāršas veidos. 293 00:15:43,810 --> 00:15:47,700 Es varētu sākt sākumā, un pāriet uz 1 lapā, tur nav. 294 00:15:47,700 --> 00:15:49,240 Lapa 2, tur nav. 295 00:15:49,240 --> 00:15:49,960 Page 3. 296 00:15:49,960 --> 00:15:53,430 Vai tas ir algoritms, ir tas, ka process, pareizi? 297 00:15:53,430 --> 00:15:54,620 >> Tātad tas ir pareizi, vai ne? 298 00:15:54,620 --> 00:15:58,070 Es esmu veida idiots, lai dara to ka veidā, bet galu galā es gribu 299 00:15:58,070 --> 00:16:02,670 atrast uzvārds S, un cerams, ka Mike ir minētajā daļā, un es kļūs 300 00:16:02,670 --> 00:16:04,100 darīts ar manu algoritmu. 301 00:16:04,100 --> 00:16:05,440 Bet, protams, tas nav saprātīgi. 302 00:16:05,440 --> 00:16:08,020 Lielākā daļa visi saprātīgie cilvēku šajā telpa nebūtu darījuši. 303 00:16:08,020 --> 00:16:10,180 Ko jūs esat darījuši? 304 00:16:10,180 --> 00:16:11,480 >> Jūs esat aizgājuši taisni uz centru, pa labi? 305 00:16:11,480 --> 00:16:12,000 Aptuveni uz vidu. 306 00:16:12,000 --> 00:16:16,310 Un tu saproti, ak, tie ir Ms Tātad Mike Smith, uzvārds ir Smith, 307 00:16:16,310 --> 00:16:19,050 nav, skaidri, tad kreiso pusi no grāmatas. 308 00:16:19,050 --> 00:16:21,040 Viņš ir pret S ir tiesībās. 309 00:16:21,040 --> 00:16:24,090 Un šajā brīdī, lai gan lielākā daļa no mums nav darīt patiesībā, mēs varam 310 00:16:24,090 --> 00:16:27,125 burtiski saplēst šo problēmu pusi. 311 00:16:27,125 --> 00:16:27,640 >> [Uzmundrinoša un aplausi] 312 00:16:27,640 --> 00:16:28,950 >> DAVID Malan: Paldies. 313 00:16:28,950 --> 00:16:30,150 >> [Uzmundrinoša un aplausi] 314 00:16:30,150 --> 00:16:34,660 >> DAVID Malan: Jūs varat burtiski saplēst šo problēma pusi, atstājot mani ar, 315 00:16:34,660 --> 00:16:36,120 burtiski, problēma pusi tik liels. 316 00:16:36,120 --> 00:16:39,750 Tātad, ja šis tālrunis grāmata bija - un tas droši vien bija - apmēram 1000 lappušu, tagad 317 00:16:39,750 --> 00:16:40,840 tas ir tikai 500. 318 00:16:40,840 --> 00:16:44,710 Ja es to izdarītu vēlreiz, un es saprotu, ak, damn, es devos pārāk tālu, es esmu Ts 319 00:16:44,710 --> 00:16:46,480 sadaļā, es varu līdzīgi - 320 00:16:46,480 --> 00:16:48,030 pārnestā vai burtiski - 321 00:16:48,030 --> 00:16:50,260 rip telefona grāmatu - patiesībā tas bija daudz vieglāk, ka laika. 322 00:16:50,260 --> 00:16:53,610 Es varu burtiski noārdīt tālruņa grāmatu uz pusēm, atstājot mani tagad ar 323 00:16:53,610 --> 00:16:55,186 ne 1000, ne 500 - 324 00:16:55,186 --> 00:16:56,680 250 lappuses. 325 00:16:56,680 --> 00:17:00,210 Un es var iet 125, un no ka puse, un puse no ka, un ka puse, 326 00:17:00,210 --> 00:17:04,760 līdz beidzot es būšu palicis tikai vienu lapu. 327 00:17:04,760 --> 00:17:06,430 >> [Smiekli] 328 00:17:06,430 --> 00:17:07,589 >> DAVID Malan: Tas I daļa ciest neveiksmi. 329 00:17:07,589 --> 00:17:10,400 Viens no vienas lapas, uz kuriem Mike cerams ir. 330 00:17:10,400 --> 00:17:14,630 Tagad šie dažādie algoritmi var būt veida novērtētas vai arī 331 00:17:14,630 --> 00:17:15,270 dažādos veidos. 332 00:17:15,270 --> 00:17:17,300 Pirmais bija ļoti lineārs, vai ne? 333 00:17:17,300 --> 00:17:18,500 Pagrieziet lapu, meklēt Mike. 334 00:17:18,500 --> 00:17:19,630 Pagrieziet lapu, meklēt Mike. 335 00:17:19,630 --> 00:17:20,560 Tas ir ļoti lineāra. 336 00:17:20,560 --> 00:17:23,339 Ja tur ir vēl viena lapa tālrunī grāmatu, tas ir iespējams, gatavojas ņemt mani 337 00:17:23,339 --> 00:17:27,380 vēl viens otrs, viena vienība no laika, Tomēr mēs esam skaitļošanas laiku. 338 00:17:27,380 --> 00:17:32,470 >> Tāpēc es varētu izdarīt, piemēram, tas šo rindu šeit, saskaņā ar kuru par lielumu 339 00:17:32,470 --> 00:17:34,700 Problēma palielinās no kreisās puses uz labo - 340 00:17:34,700 --> 00:17:37,480 tālruņa grāmatu kļūst mazākas, lai lielāks - 341 00:17:37,480 --> 00:17:41,080 un laiks ir gatavojas palielināt par vertikālās ass, lielāka 342 00:17:41,080 --> 00:17:42,030 tālruņa grāmata ir. 343 00:17:42,030 --> 00:17:46,180 Tātad n ir tikai vispārējs mainīgais, datoru zinātnieki izmanto, lai pārstāvētu 344 00:17:46,180 --> 00:17:48,210 dažas vērtības, kādu numuru. 345 00:17:48,210 --> 00:17:50,740 Tātad n gatavojas palielināt lineāri. 346 00:17:50,740 --> 00:17:53,040 Divtik tālruņa grāmatu, tas ir notiek, lai mani divreiz tik daudz 347 00:17:53,040 --> 00:17:54,780 laiks, visticamāk, lai atrastu Mike. 348 00:17:54,780 --> 00:17:56,390 >> Tagad es varētu būt bijis gudrs par to, labi? 349 00:17:56,390 --> 00:17:57,800 Es biju kļūst garlaicīgi ātri. 350 00:17:57,800 --> 00:17:58,910 Varēja darīt to, ko pāriem. 351 00:17:58,910 --> 00:18:01,870 Tātad divas lappuses, tad četri, tad seši, tad astoņi. 352 00:18:01,870 --> 00:18:05,220 Un es varētu sākt peld ar to ir nedaudz ātrāk, kaut arī nelielu risku 353 00:18:05,220 --> 00:18:09,210 pārsniegšana Mike, bet līkne nav būs viss, kas atšķiras. 354 00:18:09,210 --> 00:18:12,550 Tas joprojām būs taisni līnija, bet nedaudz ātrāk. 355 00:18:12,550 --> 00:18:13,710 >> Bet ko man darīt? 356 00:18:13,710 --> 00:18:15,845 Es tiešām kaut ko fundamentāli labāk. 357 00:18:15,845 --> 00:18:21,990 Es sasnieguši to, ko mēs saucam logaritmiska laiks, log no n, saskaņā ar kuru šis zaļš 358 00:18:21,990 --> 00:18:27,730 līnija ir daudz, daudz, daudz mazāk taisni mala uz to. 359 00:18:27,730 --> 00:18:33,050 Un drīzāk, tas liecina, jo tas sava veida tuvojas bezgalībai kādreiz tik pakāpeniski, 360 00:18:33,050 --> 00:18:36,700 ka es patiešām varētu pieņemt 1000-page tālruņa grāmatu, divkāršot savu izmēru 361 00:18:36,700 --> 00:18:39,610 nākamgad - tāpēc pieņemsim, ka daudz vairāk cilvēku pārcelties uz pilsētu. 362 00:18:39,610 --> 00:18:43,250 >> Tāpēc tagad es esam ieguvuši 2000 lapas, bet kā daudz vairāk soļus ir tas, ka gudrākas 363 00:18:43,250 --> 00:18:45,200 algoritms gatavojas pieņemt? 364 00:18:45,200 --> 00:18:46,060 Tikai viens. 365 00:18:46,060 --> 00:18:48,060 Es domāju, tas ir spēcīgs lieta. 366 00:18:48,060 --> 00:18:51,400 Ja mēs ejam uz 4000 lapām nākamajā gadā, kas notiek, lai mani 367 00:18:51,400 --> 00:18:53,020 tikai divi soļi. 368 00:18:53,020 --> 00:18:56,500 Tātad jūs varat mest lielāka un lielāka problēmas pie manis, nevis atšķirībā no interneta ir 369 00:18:56,500 --> 00:18:59,560 throwing lielākas un lielākas problēmas katru dienu plkst Googles un Facebooks par 370 00:18:59,560 --> 00:19:01,590 pasauli, un tas nav tik liels galā. 371 00:19:01,590 --> 00:19:05,840 Tāpēc, ka man vairāk domāja un rūpes par mans algoritms, ar kuru, lai atrisinātu 372 00:19:05,840 --> 00:19:07,020 problēmas efektīvi. 373 00:19:07,020 --> 00:19:09,260 >> Un tiešām, tas būs viens no ar mērķi šo kursu. 374 00:19:09,260 --> 00:19:11,230 Jūs, pa ceļam, uzzinātu, kā programma. 375 00:19:11,230 --> 00:19:13,360 Jūs uzzināsiet, kā programma, kas neierobežotu skaitu valodu. 376 00:19:13,360 --> 00:19:16,670 Bet beigās, dienā, kurss ir par risināšanas problēmas un iegūt 377 00:19:16,670 --> 00:19:20,490 labāk atrisināt problēmas - un, kā gadījumos, piemēram, tas, risinot problēmas 378 00:19:20,490 --> 00:19:22,030 efektīvāk. 379 00:19:22,030 --> 00:19:23,990 >> Tagad līdz šim, mēs esam darījuši diezgan intuitīvi. 380 00:19:23,990 --> 00:19:27,420 Pieņemsim, ieviest kaut ko patiesu sugas sauc pseudocode. 381 00:19:27,420 --> 00:19:29,150 Tāpēc mēs galu galā iegūt, šajā laikā, lai 382 00:19:29,150 --> 00:19:30,570 dažādas programmēšanas valodas. 383 00:19:30,570 --> 00:19:34,280 Bet šodien mēs darīsim to angļu-patīk sintakse, ja jūs vienkārši veida pateikt 384 00:19:34,280 --> 00:19:37,330 ko tu domā, bet tu esi kādreiz tik kodolīga un jums nav jāuztraucas par 385 00:19:37,330 --> 00:19:38,960 gramatikas un pabeigt teikumus. 386 00:19:38,960 --> 00:19:41,600 Jūs vienkārši izteikt sevi, kā lakoniski, cik vien iespējams. 387 00:19:41,600 --> 00:19:45,400 >> Tātad pseudocode ir angļu-patīk sintakse, kas pārstāv 388 00:19:45,400 --> 00:19:46,750 programmēšanas valodu. 389 00:19:46,750 --> 00:19:51,170 Un pret to panāktu, ļaujiet man ierosināt tagad mums modelēt šo procesu, mēs tikai 390 00:19:51,170 --> 00:19:54,990 aprakstīts skaitīšanas kaut nedaudz savādāk, šoreiz ņemot 391 00:19:54,990 --> 00:19:59,040 apskatīt šo piecu minūšu ražots video ar mūsu draugiem pie TED ka 392 00:19:59,040 --> 00:20:03,170 definēts, kas pseudocode ir, nosaka, ko algoritmiskās domāšana ir, un pat 393 00:20:03,170 --> 00:20:07,030 lai gan piemērs jūs gatavojaties redzēt ir, kas pats par sevi, super vienkārši, tas ir 394 00:20:07,030 --> 00:20:09,820 gatavojas sākt, lai dotu mums garīgo modelis, vārdnīca, ar ko 395 00:20:09,820 --> 00:20:14,588 darīt daudz, daudz sarežģītāka algoritmi diezgan ātri. 396 00:20:14,588 --> 00:20:15,576 >> [BEGIN Video atskaņošana] 397 00:20:15,576 --> 00:20:29,920 >> [Mūzikas atskaņošanas] 398 00:20:29,920 --> 00:20:31,100 >> Teicējs: Kas ir algoritms? 399 00:20:31,100 --> 00:20:34,730 Datorzinātnēs, algoritms ir instrukciju kopums, lai atrisinātu dažas 400 00:20:34,730 --> 00:20:36,620 problēma soli pa solim. 401 00:20:36,620 --> 00:20:39,650 Raksturīgi, algoritmi tiek izpildīti ar datoru, bet mēs, cilvēki ir 402 00:20:39,650 --> 00:20:41,230 algoritmus, kā arī. 403 00:20:41,230 --> 00:20:43,290 Piemēram, kā jūs iet par skaitīšana 404 00:20:43,290 --> 00:20:44,750 Cilvēku telpā? 405 00:20:44,750 --> 00:20:47,980 Nu, ja jūs esat līdzīgi man, jūs, iespējams, punkts pie katras personas, viens pie 406 00:20:47,980 --> 00:20:50,120 laiku, un saskaitīt no 0. 407 00:20:50,120 --> 00:20:52,970 1, 2, 3, 4, un tā tālāk. 408 00:20:52,970 --> 00:20:54,140 >> Nu, tas ir algoritms. 409 00:20:54,140 --> 00:20:57,600 Faktiski, pieņemsim mēģināt izteikt to nedaudz vairāk formāli pseudocode - 410 00:20:57,600 --> 00:21:00,700 Angļu-piemēram, sintakse, kas līdzinās programmēšanas valodu. 411 00:21:00,700 --> 00:21:02,580 Ļaujiet N vienāda ar 0. 412 00:21:02,580 --> 00:21:06,970 Katrai personai telpā, kas N vienāds ar N plus 1. 413 00:21:06,970 --> 00:21:08,400 >> Kā interpretēt šo pseudocode? 414 00:21:08,400 --> 00:21:12,840 Nu, līnija viens deklarē, tā sakot, mainīgo sauc N un initializes 415 00:21:12,840 --> 00:21:14,250 tā vērtība līdz 0. 416 00:21:14,250 --> 00:21:17,550 Tas tikai nozīmē, ka sākumā mūsu algoritmu, lieta ar kuru 417 00:21:17,550 --> 00:21:19,650 Mēs esam skaitot vērtība ir 0. 418 00:21:19,650 --> 00:21:22,620 Galu galā, pirms mēs sākam skaitīšanas, mēs neesam skaitīti kaut ko vēl. 419 00:21:22,620 --> 00:21:25,340 Piezvanot uz šo mainīgo N ir tikai konvencija. 420 00:21:25,340 --> 00:21:26,890 Es varētu būt sauc to visvairāk neko. 421 00:21:26,890 --> 00:21:30,560 >> Tagad line divas demarks sākuma, cilpa, secība soļus, kas 422 00:21:30,560 --> 00:21:32,310 atkārtot dažas vairākas reizes. 423 00:21:32,310 --> 00:21:35,910 Tātad mūsu piemērā, soli mēs esam ņemot rēķinās cilvēkus telpā. 424 00:21:35,910 --> 00:21:38,730 Zem līnijas divi ir līnija trim, kas apraksta, kā tieši 425 00:21:38,730 --> 00:21:40,160 mēs iet par skaitīšanas. 426 00:21:40,160 --> 00:21:43,440 Atkāpes nozīmē, ka tā ir line trīs, kas atkārtojas. 427 00:21:43,440 --> 00:21:47,380 >> Tātad, kas pseudocode saka, ir ka pēc tam, sākot no 0, par katru 428 00:21:47,380 --> 00:21:50,690 cilvēks telpā, mēs palielināt N gada 1. 429 00:21:50,690 --> 00:21:53,050 Tagad tas ir algoritms pareizi? 430 00:21:53,050 --> 00:21:54,580 Nu, pieņemsim sprādziena par to mazliet. 431 00:21:54,580 --> 00:21:57,270 Vai tas strādā, ja ir divi cilvēki telpā? 432 00:21:57,270 --> 00:21:58,170 Let 's redzēt. 433 00:21:58,170 --> 00:22:00,260 >> Vienā rindā, mēs sāktu N līdz 0. 434 00:22:00,260 --> 00:22:03,660 Attiecībā uz katru no šiem diviem cilvēkiem, mēs pēc tam pieauguma N gada 1. 435 00:22:03,660 --> 00:22:07,310 Tā uz pirmo brauciena pa cilpa, mēs atjaunināt N no 0 līdz 1. 436 00:22:07,310 --> 00:22:11,070 Uz otro braucienu caur tajā pašā cilpa, mēs atjaunināt N no 1 līdz 2. 437 00:22:11,070 --> 00:22:15,780 Un tā, ko šis algoritms beigām, n ir 2, kas patiešām atbilst skaitu 438 00:22:15,780 --> 00:22:16,700 cilvēki telpā. 439 00:22:16,700 --> 00:22:17,760 >> Līdz šim tik labi. 440 00:22:17,760 --> 00:22:19,610 Kā par stūra gadījumā, lai gan? 441 00:22:19,610 --> 00:22:22,590 Pieņemsim, ka ir 0 cilvēki telpā - bez manis, 442 00:22:22,590 --> 00:22:24,170 kurš dara skaitīšanu. 443 00:22:24,170 --> 00:22:27,150 Vienā rindā, mēs sāktu N līdz 0. 444 00:22:27,150 --> 00:22:30,280 Šoreiz, lai gan, līnija trīs nav izpildīt vispār, jo nav 445 00:22:30,280 --> 00:22:31,370 personu telpā. 446 00:22:31,370 --> 00:22:35,260 Un tā N paliek 0, kas atbilst cilvēku skaits telpā. 447 00:22:35,260 --> 00:22:36,420 Diezgan vienkārši, vai ne? 448 00:22:36,420 --> 00:22:39,630 >> Bet skaitīšanas cilvēki, pa vienai ir diezgan neefektīva, arī, vai ne? 449 00:22:39,630 --> 00:22:40,920 Protams, mēs varam darīt labāk. 450 00:22:40,920 --> 00:22:43,120 Kāpēc neskaitās divus cilvēkus vienlaicīgi? 451 00:22:43,120 --> 00:22:49,300 Tā vietā, skaitot 1, 2, 3, 4, 5, 6, 7, 8, un tā tālāk, kāpēc neskaitās, 2, 452 00:22:49,300 --> 00:22:51,460 4, 6, 8, un tā tālāk? 453 00:22:51,460 --> 00:22:53,700 Tā pat izklausās ātrāk, un tas, protams, ir. 454 00:22:53,700 --> 00:22:56,240 >> Pieņemsim paust šo optimizācijas in pseudocode. 455 00:22:56,240 --> 00:22:57,800 Ļaujiet N vienāda ar 0. 456 00:22:57,800 --> 00:23:02,450 Katram pārim cilvēku telpā, noteikti N ir vienāds ar N, plus 2. 457 00:23:02,450 --> 00:23:04,120 Diezgan vienkārši mainīt, vai ne? 458 00:23:04,120 --> 00:23:06,750 Nevis skaits cilvēku viens laikā, tā vietā mēs skaits 459 00:23:06,750 --> 00:23:08,300 laikā divi tās. 460 00:23:08,300 --> 00:23:10,980 Šis algoritms ir līdz divas reizes tik strauji, kā pēdējo. 461 00:23:10,980 --> 00:23:12,180 >> Bet tas ir pareizi? 462 00:23:12,180 --> 00:23:12,920 Let 's redzēt. 463 00:23:12,920 --> 00:23:15,330 Vai tas strādā, ja ir divi cilvēki telpā? 464 00:23:15,330 --> 00:23:17,550 Vienā rindā, mēs sāktu N līdz 0. 465 00:23:17,550 --> 00:23:20,920 , Ka viens pāris cilvēku, mēs pēc tam pieauguma N ar divi. 466 00:23:20,920 --> 00:23:24,860 Un tā, ko šis algoritms beigām, N 2, kas patiešām atbilst skaitu 467 00:23:24,860 --> 00:23:25,650 cilvēki telpā. 468 00:23:25,650 --> 00:23:28,250 >> Domāt, ka blakus ir 0 cilvēki telpā. 469 00:23:28,250 --> 00:23:30,840 Vienā rindā, mēs sāktu N līdz 0. 470 00:23:30,840 --> 00:23:34,330 Tāpat kā iepriekš, trīs līnijas neizpilda vispār, jo tajā nav pāri 471 00:23:34,330 --> 00:23:35,380 cilvēku telpā. 472 00:23:35,380 --> 00:23:38,350 Un tā N paliek 0, kas patiešām atbilst skaitu 473 00:23:38,350 --> 00:23:39,570 cilvēki telpā. 474 00:23:39,570 --> 00:23:42,280 >> Bet ko tad, ja ir trīs cilvēki telpā? 475 00:23:42,280 --> 00:23:44,130 Kā tas algoritms maksa? 476 00:23:44,130 --> 00:23:44,990 Let 's redzēt. 477 00:23:44,990 --> 00:23:47,460 Vienā rindā, mēs sāktu N līdz 0. 478 00:23:47,460 --> 00:23:50,870 Par pāris no tiem cilvēkiem, mēs pēc tam pieauguma N ar 2. 479 00:23:50,870 --> 00:23:51,800 Bet tad ko? 480 00:23:51,800 --> 00:23:54,960 Nav vēl pilns pāris cilvēku telpā, tā līnija divi nav 481 00:23:54,960 --> 00:23:56,180 vairs nepiemēro. 482 00:23:56,180 --> 00:24:00,530 Un tā, ko šis algoritms beigām, N ir vēl 2, kas nav pareizs. 483 00:24:00,530 --> 00:24:03,810 >> Patiešām, šis algoritms ir teikts, ka buggy, jo tā ir kļūda. 484 00:24:03,810 --> 00:24:05,820 Lets izlīdzināt ar kādu jaunu pseudocode. 485 00:24:05,820 --> 00:24:09,670 Let n vienāds 0 par katru pāri cilvēku telpā. 486 00:24:09,670 --> 00:24:12,550 Uzstādīt N ir vienāds ar N, plus 2. 487 00:24:12,550 --> 00:24:17,140 Ja viens cilvēks paliek nepāra, noteikts N vienāds ar N plus 1. 488 00:24:17,140 --> 00:24:20,140 Lai atrisinātu šo konkrēto problēmu, mēs esam ieviests, četros rindā, 489 00:24:20,140 --> 00:24:24,520 nosacījums, citādi zināma kā filiāle kas izpilda tikai tad, ja tur ir viens 490 00:24:24,520 --> 00:24:26,640 Persona, ka mēs nevarējām pārī ar citu. 491 00:24:26,640 --> 00:24:30,440 Un tāpēc tagad, vai tur ir viens vai trīs vai nepāra skaitu cilvēku 492 00:24:30,440 --> 00:24:33,290 telpa, šis algoritms tagad saskaitiet tos. 493 00:24:33,290 --> 00:24:34,560 >> Vai mēs varam darīt vēl labāk? 494 00:24:34,560 --> 00:24:38,820 Nu, mēs varētu rēķināties ar 3s vai 4s vai pat 5S un 10s, bet tālāk, tas ir 495 00:24:38,820 --> 00:24:41,360 gatavojas iegūt mazliet grūti punktā. 496 00:24:41,360 --> 00:24:44,660 Beigās, dienā, vai izpildīts ar datoru vai cilvēkiem, 497 00:24:44,660 --> 00:24:46,750 algoritmi ir tikai komplekts Instrukciju ar 498 00:24:46,750 --> 00:24:48,290 kas, lai atrisinātu problēmas. 499 00:24:48,290 --> 00:24:49,792 Tie bija tikai trīs. 500 00:24:49,792 --> 00:24:52,404 Kādas problēmas varētu atrisināt ar algoritmu? 501 00:24:52,404 --> 00:24:52,901 >> [END VIDEO PLAYBACK] 502 00:24:52,901 --> 00:24:55,883 >> DAVID Malan: Tas ir vienīgais laiks Es parādīsies karikatūra formā. 503 00:24:55,883 --> 00:25:01,050 Bet kur tas stāsts atstāj off, Tagad, ir tas, kā mēs varam darīt labāk? 504 00:25:01,050 --> 00:25:04,680 Trijiem un četrrāpus, mēs apgalvojam, mēs varam rēķināties cilvēki daudz ātrāk, bet mēs varam 505 00:25:04,680 --> 00:25:06,290 do būtiski labāks par šo? 506 00:25:06,290 --> 00:25:07,540 Un es derēt, mēs varam. 507 00:25:07,540 --> 00:25:11,980 >> Ja mēs ieviest mazliet mūsu pašu pseudocode šeit, es esmu gatavojas ierosināt 508 00:25:11,980 --> 00:25:14,550 ka mēs varam sasniegt līniju, kā šis. 509 00:25:14,550 --> 00:25:17,280 Mēs nebrauksim, lai saskaitītu cilvēkus viens, divi, trīs, četras. 510 00:25:17,280 --> 00:25:19,470 Mēs nebrauksim iet divi, četri, seši, astoņi. 511 00:25:19,470 --> 00:25:23,390 Mēs darīsim būtiski labāk , pārdomājot šo problēmu, un šajā 512 00:25:23,390 --> 00:25:27,080 gadījumā piesaistot pretējā nepietiekami resursu. 513 00:25:27,080 --> 00:25:31,460 >> Tikai brīdi, es ceru, ka jūs piedot un humora mums, stāvus 514 00:25:31,460 --> 00:25:34,470 Vieta, kurā brīdī mēs gatavojamies lūdz katru no jums uzņemties arī Jūsu 515 00:25:34,470 --> 00:25:36,400 prāti numurs 1. 516 00:25:36,400 --> 00:25:39,560 Jūs esat tad dodas uz arvien neveikli, kā laiks iet, atrast 517 00:25:39,560 --> 00:25:42,740 kāds cits, kas stāv, apvienot jūsu numuri kopā 518 00:25:42,740 --> 00:25:43,720 pievienojot tos. 519 00:25:43,720 --> 00:25:47,490 Viens no jums tiek gatavojas rase sēdēt lejup pirmais, un otrs cilvēks 520 00:25:47,490 --> 00:25:48,880 gatavojas atkārtot. 521 00:25:48,880 --> 00:25:53,090 >> Tātad, citiem vārdiem sakot, ar sētu visi Jūs ar numuru 1, un pēc tam 522 00:25:53,090 --> 00:25:57,800 apvienojot šos 1s par 2s un tiem 2S uz 4s, ar visiem aizvien 523 00:25:57,800 --> 00:26:02,740 sēž uz leju, mēs būtu, beigās tas algoritms, ir tikai viens aizdevums 524 00:26:02,740 --> 00:26:07,570 dvēsele, kas nav sēdēt pietiekami ātri, bet kas ir visu auditorijas skaits 525 00:26:07,570 --> 00:26:09,180 viņa vai viņas prātā. 526 00:26:09,180 --> 00:26:13,730 >> Tātad, ja jūs vēlaties, iesim uz priekšu un - soli vienu - piecelties vietā. 527 00:26:13,730 --> 00:26:15,600 Un izpildīt. 528 00:26:15,600 --> 00:26:36,580 >> [Pūļa kurnēšanas] 529 00:26:36,580 --> 00:26:38,820 >> DAVID Malan: Vai jūs zināt, kur Lauren ir? 530 00:26:38,820 --> 00:26:40,179 729? 531 00:26:40,179 --> 00:27:23,350 >> [Pūļa kurnēšanas] 532 00:27:23,350 --> 00:27:24,340 >> DAVID Malan: Viss labi? 533 00:27:24,340 --> 00:27:39,110 >> [Pūļa kurnēšanas] 534 00:27:39,110 --> 00:27:41,365 >> DAVID Malan: Nu labi, mums vajadzētu kas tuvojas beigām. 535 00:27:41,365 --> 00:27:44,340 536 00:27:44,340 --> 00:27:47,670 Mēs redzam vienu puisi stāvot šeit vēl. 537 00:27:47,670 --> 00:27:48,770 Kas vēl nepieciešams pārī? 538 00:27:48,770 --> 00:27:50,020 Ja jūs guys vēlaties pārī off. 539 00:27:50,020 --> 00:27:53,260 540 00:27:53,260 --> 00:27:56,520 Kāds up top. 541 00:27:56,520 --> 00:27:58,150 Kāpēc man aizdot rokas šeit. 542 00:27:58,150 --> 00:28:01,370 Par ļoti maz cilvēku, kuri joprojām stāvam, ko skaitļi jūs 543 00:28:01,370 --> 00:28:02,790 ir jūsu prātā? 544 00:28:02,790 --> 00:28:04,020 >> STUDENTU: 78. 545 00:28:04,020 --> 00:28:06,010 >> DAVID Malan: 78 plus - 546 00:28:06,010 --> 00:28:07,840 kurš stāv uz leju šeit? 547 00:28:07,840 --> 00:28:08,370 >> STUDENTU: 39. 548 00:28:08,370 --> 00:28:09,590 >> DAVID Malan: Plus 39. 549 00:28:09,590 --> 00:28:12,310 Plus, kas vēl joprojām stāv? 550 00:28:12,310 --> 00:28:13,650 81? 551 00:28:13,650 --> 00:28:15,960 OK, kurš gan cits? 552 00:28:15,960 --> 00:28:17,200 Vēl 81? 553 00:28:17,200 --> 00:28:17,860 Wow. 554 00:28:17,860 --> 00:28:19,210 Un tad to, kas ir aizmugurē? 555 00:28:19,210 --> 00:28:20,360 >> STUDENTU: 49. 556 00:28:20,360 --> 00:28:21,812 >> DAVID Malan: 49, plus? 557 00:28:21,812 --> 00:28:22,950 >> STUDENTU: 98. 558 00:28:22,950 --> 00:28:24,980 >> DAVID Malan: 98 plus? 559 00:28:24,980 --> 00:28:28,190 Vai tas ir kāds cits? 560 00:28:28,190 --> 00:28:29,155 12? 561 00:28:29,155 --> 00:28:30,460 Labs darbs. 562 00:28:30,460 --> 00:28:33,610 >> [Smiekli] 563 00:28:33,610 --> 00:28:34,690 >> DAVID Malan: Ak, 112 - 564 00:28:34,690 --> 00:28:35,410 oh. 565 00:28:35,410 --> 00:28:36,220 Labs darbs! 566 00:28:36,220 --> 00:28:38,660 >> [Smiekli] 567 00:28:38,660 --> 00:28:42,570 >> [Aplausi] 568 00:28:42,570 --> 00:28:43,820 >> DAVID Malan: Kāds cits vēl stāv? 569 00:28:43,820 --> 00:28:46,710 570 00:28:46,710 --> 00:28:47,260 Žēl? 571 00:28:47,260 --> 00:28:48,110 >> STUDENTU: 99. 572 00:28:48,110 --> 00:28:49,810 >> DAVID Malan: 99. 573 00:28:49,810 --> 00:28:52,620 Kāds cits vēl stāv? 574 00:28:52,620 --> 00:28:57,290 Un kopējais studentu skaits šeit ir faktiski, saskaņā ar - 575 00:28:57,290 --> 00:28:59,400 Vai jums ir vairākas? 576 00:28:59,400 --> 00:29:03,170 Ak, faktiskais skaits cilvēku telpa, atkarībā no konta, kas 577 00:29:03,170 --> 00:29:07,660 ka mācību puiši darīja uz ikviena veidā, bija 729. 578 00:29:07,660 --> 00:29:11,070 Tātad no pilna istaba ar Harvard studentiem kas saskaita paši, 579 00:29:11,070 --> 00:29:14,126 Atbilde ir 637. 580 00:29:14,126 --> 00:29:15,480 >> [Smiekli] 581 00:29:15,480 --> 00:29:16,350 >> DAVID Malan: Tik tuvu. 582 00:29:16,350 --> 00:29:17,360 Bet tomēr. 583 00:29:17,360 --> 00:29:22,110 Labi, tā tas ir mācību Mirklī, labi? 584 00:29:22,110 --> 00:29:24,120 Tas tagad ir tas, ko mēs aprakstīt kā kļūdu. 585 00:29:24,120 --> 00:29:28,120 Kaut kur pa ceļam, mums bija dažas aritmētika nepareizi, vai kāds apsēdās, 586 00:29:28,120 --> 00:29:29,930 vai pa kreisi, vai arī kaut kas nogāja greizi. 587 00:29:29,930 --> 00:29:30,930 Bet tas ir jauki. 588 00:29:30,930 --> 00:29:33,390 Jo pat vēl, mēs ieguva diezgan tuvu. 589 00:29:33,390 --> 00:29:37,480 Un es gribētu apgalvot, ka mēs saņēmām nepareizi atbildēt daudz ātrāk, nekā es būtu 590 00:29:37,480 --> 00:29:39,770 izmantojot manu vairāk lineāro pieeju. 591 00:29:39,770 --> 00:29:42,630 >> Tātad, pieņemsim, mēs neesam faktiski iegūtu, ka labot, bet domāju, ka tagad par to, kas 592 00:29:42,630 --> 00:29:46,870 notika katru reizi, salīdzinot ar manu pašu naivi norādot algoritms. 593 00:29:46,870 --> 00:29:48,420 Viens, divi, trīs. 594 00:29:48,420 --> 00:29:53,010 Ja tiešām ir 729 vai 637 cilvēku šeit, kas būtu jāņem mani 595 00:29:53,010 --> 00:29:57,720 burtiski 637 vai 729 pointings no pirkstu un 596 00:29:57,720 --> 00:29:59,490 palielināšanai manu kopējo skaitu. 597 00:29:59,490 --> 00:30:01,910 Un es varētu darīt mazliet labāk, iet divi, četri, seši, astoņi, un 598 00:30:01,910 --> 00:30:05,660 divkāršot ātrumu, varbūt pat trīskāršu vai četrkāršs, atkarībā no tā, cik labi es varu 599 00:30:05,660 --> 00:30:07,110 darīt, ka skaitīšana manā galvā. 600 00:30:07,110 --> 00:30:10,720 >> Bet šī pieeja, ka jūs guys bija bija būtiski atšķiras. 601 00:30:10,720 --> 00:30:12,770 Jo sākumā, jūs visi piecēlās. 602 00:30:12,770 --> 00:30:14,620 Tātad visi 729. 603 00:30:14,620 --> 00:30:17,370 Un tad burtiski pusi no jums apsēdās. 604 00:30:17,370 --> 00:30:19,720 Un pēc tam, cits puse no jums apsēdās. 605 00:30:19,720 --> 00:30:22,650 Un pēc tam, cits puse no jums apsēdās. 606 00:30:22,650 --> 00:30:27,470 >> Un kopējais skaits reižu, ka jūs puiši varētu būt apsēdās ir aptuveni 607 00:30:27,470 --> 00:30:31,740 astoņi vai deviņi vai desmit kopējie reizes, atkarībā no tā, kas ir mūsu kopējais skaits ir. 608 00:30:31,740 --> 00:30:33,300 Un mēs varam sava veida darīt tas citā veidā. 609 00:30:33,300 --> 00:30:37,740 Ja mums bija 1024 cilvēki telpā, kopskaits reizes jūs varētu 610 00:30:37,740 --> 00:30:41,870 uz pusi samazināt 1024 cilvēkiem ir 10. 611 00:30:41,870 --> 00:30:43,370 >> Tagad domāju par to pretējā virzienā. 612 00:30:43,370 --> 00:30:49,170 Pieņemsim, smieklīgi, ka mums bija, teiksim četrus miljardus cilvēku šajā telpā, 613 00:30:49,170 --> 00:30:50,860 vai nedaudz lielāka telpa. 614 00:30:50,860 --> 00:30:54,550 Cik reizes mēs esam izgājuši izmantojot šo algoritmu, piemēram, ka puse 615 00:30:54,550 --> 00:30:58,110 šīs klases apsēžas? 616 00:30:58,110 --> 00:31:03,050 Tas ir tikai gatavojas veikt 32 šāda operācijas, pat klases lielums 617 00:31:03,050 --> 00:31:03,770 četrus miljardus. 618 00:31:03,770 --> 00:31:04,055 Kāpēc? 619 00:31:04,055 --> 00:31:06,980 Tāpēc, ka četrus miljardus iet uz divām miljardus, iet uz vienu miljonu, iet uz 620 00:31:06,980 --> 00:31:09,925 500 miljoni, iet līdz 250 miljoni, dot, dot, dot. 621 00:31:09,925 --> 00:31:14,940 Es varu darīt tikai šī sadalīšana kādu 32 laiks, kurā brīdī, visi, izņemot 622 00:31:14,940 --> 00:31:17,820 viena persona būtu stāv. 623 00:31:17,820 --> 00:31:21,590 >> Un tas arī ir sava veida spēcīgu Ideja, ka arvien vairāk mēs cenšamies 624 00:31:21,590 --> 00:31:24,690 sviras šajā laikā, un kas programmēšana un datorzinātnes vairāk 625 00:31:24,690 --> 00:31:29,400 Parasti, šīs baktērijas, kuru idejas ar ko mēs varam atrisināt problēmas daudz, 626 00:31:29,400 --> 00:31:31,130 daudz spēcīgāk. 627 00:31:31,130 --> 00:31:34,610 Tā mēs sākām diezgan vienkārša ar to pseudocode un telpā puisis, bet 628 00:31:34,610 --> 00:31:38,205 Tagad ar visu istabu pilns ar cilvēkiem mēs esam izdarījuši būtiski labāk. 629 00:31:38,205 --> 00:31:41,460 >> Nu, pieņemsim tagad pāreju no pseudocode uz kādu faktisko kodu. 630 00:31:41,460 --> 00:31:44,200 Šī valoda jūs gatavojaties redzēt notiekam saukt JavaScript, un 631 00:31:44,200 --> 00:31:46,190 mēs atgriezties šajā virzienā semestra beigās. 632 00:31:46,190 --> 00:31:49,960 Tas ir programmēšanas valoda, kas jums izmantot, lai tīmekļa vietnes un citus šāda 633 00:31:49,960 --> 00:31:51,360 programmatūras šajās dienās. 634 00:31:51,360 --> 00:31:54,890 Un mēs esam lietojuši, pateicoties draugam No mūsu Stenfordas, lai šifrēt 635 00:31:54,890 --> 00:31:56,630 dažas slēptās informācijas šeit. 636 00:31:56,630 --> 00:31:59,500 Tā ir māksla steganography, tā teikt, kur jūs varat paslēpt 637 00:31:59,500 --> 00:32:03,990 informācija, ko citādi šķiet ir troksnis vai pilnīgi atšķirīgu 638 00:32:03,990 --> 00:32:05,220 attēlu vispār. 639 00:32:05,220 --> 00:32:10,120 Bet iekļaut šajā konkrētajā attēlu ir patiešām noslēpums ziņu veidu. 640 00:32:10,120 --> 00:32:12,950 >> Tātad, ļaujiet man iet uz priekšu un uzvilkt tas pats attēls šeit, šis 641 00:32:12,950 --> 00:32:14,270 laiks interneta pārlūku. 642 00:32:14,270 --> 00:32:17,710 Un es esmu gatavojas vilnis savu roku pie dažām vai ziņas par šodienu, jo īpaši 643 00:32:17,710 --> 00:32:21,780 tiem no jums, kas tas izskatās ne tikai JavaScript bet grieķu, kā 644 00:32:21,780 --> 00:32:23,930 pilnīgi svešs valoda. 645 00:32:23,930 --> 00:32:26,190 Bet tas ir piemērs programmēšanas valodu. 646 00:32:26,190 --> 00:32:30,660 >> Un tagad, ņem uz ticību, ka šī pirmā līnija kods - 647 00:32:30,660 --> 00:32:32,470 un ar kodu, es tikai domāju tekstu. 648 00:32:32,470 --> 00:32:35,660 Teksts, ka es varētu būt burtiski drukāti Microsoft Word, ja man bija 649 00:32:35,660 --> 00:32:37,630 pareizo programmatūru, lai pēc tam kaut ko darīt ar to. 650 00:32:37,630 --> 00:32:42,120 Programmēšana pirmkodu, programmēšana kods, ir tiešām tikai tekstu, un tas 651 00:32:42,120 --> 00:32:45,420 izskatās citādi, pamatojoties uz to, kas valodā jūs izmantojat, nevis pretēji angļu un 652 00:32:45,420 --> 00:32:49,200 Spāņu un krievu visi izskatās dažādi rakstot tos jūsu klaviatūras. 653 00:32:49,200 --> 00:32:53,520 >> Tātad, šī pirmā rindā, lai tagad jāuzņemas ticība, vienkārši atver grafiku no 654 00:32:53,520 --> 00:32:56,160 internets, ka skaļš grafika mēs tikko redzējām. 655 00:32:56,160 --> 00:32:59,900 Šis nākamais līnija šeit ir piemērs cilpa, un mēs tiešām redzēju, ka pats 656 00:32:59,900 --> 00:33:01,130 žargonu, kas TED video. 657 00:33:01,130 --> 00:33:03,750 Cilpa ir kaut kas notiek atkal un atkal, un pat ja tas 658 00:33:03,750 --> 00:33:08,440 absolūti izskatās noslēpumains, ar atslēgvārdu, un dažas iekavas, un 659 00:33:08,440 --> 00:33:09,510 daži semikoliem. 660 00:33:09,510 --> 00:33:13,070 Mēs būsim atpakaļ, ka pirms ilgi, bet cilpa tur būtībā ir 661 00:33:13,070 --> 00:33:17,310 stāsta programmu, atkārtot pār visiem Šo skaļš punkti, no kreisās uz 662 00:33:17,310 --> 00:33:18,980 labi, no augšas uz leju. 663 00:33:18,980 --> 00:33:21,260 >> Jo beigās, dienā, attēla kā šis - un jūs faktiski var 664 00:33:21,260 --> 00:33:22,860 veida redzēt to šajā projektoru - 665 00:33:22,860 --> 00:33:25,280 ir tiešām tikai režģis punktiem. 666 00:33:25,280 --> 00:33:29,730 Tātad, mēs varam identificēt katru no šiem punktiem ar koordinātu, x, y, un ar šo 667 00:33:29,730 --> 00:33:33,890 Programma, tagad mēs varam sākt kaut ko darīt, šiem punktiem. 668 00:33:33,890 --> 00:33:37,540 >> Tātad, ko es esmu gatavojas iet uz priekšu šeit un Vai ir es esmu gatavojas veikt dažas izmaiņas. 669 00:33:37,540 --> 00:33:41,000 Vispirms es esmu gatavojas iet uz priekšu un atbrīvoties no visa, kas zaļgans un zilgani 670 00:33:41,000 --> 00:33:43,520 troksni, un es esmu gatavojas iet uz priekšu un tips šādu 671 00:33:43,520 --> 00:33:45,710 protams mistisks sintaksi. 672 00:33:45,710 --> 00:33:48,020 im par attēlu. 673 00:33:48,020 --> 00:33:53,380 noteikts zila atrašanās x, komats, atrašanās vieta y, 0. 674 00:33:53,380 --> 00:33:55,610 Citiem vārdiem sakot, es gribu, lai tikai izslēdziet visas zila 675 00:33:55,610 --> 00:33:56,920 punktiņi šajā bildē. 676 00:33:56,920 --> 00:33:59,800 >> Es iešu uz priekšu tūlīt un nospiediet Šī Run / Save pogu, un jūs 677 00:33:59,800 --> 00:34:02,850 paziņojums par labajā pusē, rezultātā attēls. 678 00:34:02,850 --> 00:34:06,120 Tagad tā super zaļa, bet tas nav pārsteidzoši, jo es burtiski pagriezās 679 00:34:06,120 --> 00:34:11,070 off, veicot A 1 A 0, visi no zilā šajā bildē. 680 00:34:11,070 --> 00:34:12,540 >> Nu, tagad pieņemsim to darīt mazliet vairāk. 681 00:34:12,540 --> 00:34:16,989 im par attēlu, dot setGreen, x, y. 682 00:34:16,989 --> 00:34:20,659 Un tas tikai nozīmē, atkārtot no kreisās , lai pa labi un pēc tam no augšas uz leju. 683 00:34:20,659 --> 00:34:23,520 Turn, kas off ar vērtību no 0, kā arī. 684 00:34:23,520 --> 00:34:24,750 Saglabāt. 685 00:34:24,750 --> 00:34:28,100 Un uz projektoru, jūs nevarat patiešām īsti redzēt kaut ko vispār. 686 00:34:28,100 --> 00:34:31,380 >> Par manu klēpjdators ekrāna, ja es peer tikai nedaudz pareizais ceļš, es redzu mazliet 687 00:34:31,380 --> 00:34:33,300 attēlu, jo viņi joprojām daži sarkanā tur. 688 00:34:33,300 --> 00:34:35,540 Ja jūs esat kādreiz dzirdējuši akronīms RGB - 689 00:34:35,540 --> 00:34:36,830 sarkana, zaļa, zila - 690 00:34:36,830 --> 00:34:39,110 tas attiecas uz šo sastāvu no attēlu, izmantojot 691 00:34:39,110 --> 00:34:40,230 tikai šie trīs krāsas. 692 00:34:40,230 --> 00:34:43,159 Un tieši tagad, mēs esam izmesti visi zaļš, viss zils, bet 693 00:34:43,159 --> 00:34:44,500 tur nav daudz sarkano. 694 00:34:44,500 --> 00:34:45,920 >> Tātad, ļaujiet man crank up sarkanā krāsā. 695 00:34:45,920 --> 00:34:47,070 Kā es varu darīt? 696 00:34:47,070 --> 00:34:49,300 Nu, pirmkārt, es esmu gatavojas lūgt Šī programma jautājums. 697 00:34:49,300 --> 00:34:52,030 Es iešu uz priekšu un sauksim to mainīgs, tāpat kā algebra. 698 00:34:52,030 --> 00:34:54,060 Jums var būt x vai y vai z. 699 00:34:54,060 --> 00:34:57,230 Es esmu gatavojas deklarēt mainīgo un teikt, nodot šo mainīgo, 700 00:34:57,230 --> 00:35:02,790 laiku, vērtība attēli getRed vērtību x, y. 701 00:35:02,790 --> 00:35:05,870 >> Un atkal, mēs atgriezīsimies pie visiem Šī detalizācijas nākotnē. 702 00:35:05,870 --> 00:35:10,630 Bet tagad, tikai pieņemt ticību, ka šī līnija ir jautā programmu, kas 703 00:35:10,630 --> 00:35:12,740 ir sarkans vērtība pie x, y? 704 00:35:12,740 --> 00:35:14,450 Tajā konkrētajā dot? 705 00:35:14,450 --> 00:35:15,710 >> Tad es esmu gatavojas darīt kaut ko, lai to. 706 00:35:15,710 --> 00:35:21,100 Tad es esmu gatavojas darīt attēla dot komplekts sarkans pie x, y, y, bet šoreiz es esmu gatavojas 707 00:35:21,100 --> 00:35:24,760 palielināt to darot sarkanās reizes, teiksim, 10. 708 00:35:24,760 --> 00:35:26,870 Tā palielināt to ar koeficientu 10. 709 00:35:26,870 --> 00:35:29,880 Ļaujiet man tālināt tagad klikšķis varētu Run / Save. 710 00:35:29,880 --> 00:35:36,430 Un voila, ka tur bija visa laiks, lai gan mūsu cilvēka acīm 711 00:35:36,430 --> 00:35:37,900 īsti nespēju redzēt. 712 00:35:37,900 --> 00:35:41,470 >> Tātad vēlreiz, tagad tas ir reāls kods, piemērs valodā, ka mēs nāksim 713 00:35:41,470 --> 00:35:42,770 atpakaļ uz pirms ilgi. 714 00:35:42,770 --> 00:35:46,670 Bet saprast, jo tiem no jums, bez šādas pieredzes, tas ir diezgan 715 00:35:46,670 --> 00:35:50,280 drīz, ka mēs paši būs rakstot kodu, piemēram, ka tur. 716 00:35:50,280 --> 00:35:54,520 Faktiski, instrumentu, ar kuru jūs visi nedaudz pazīstami, varbūt, ir CS50 ir 717 00:35:54,520 --> 00:35:57,330 pašu kursu-iepirkšanās rīks, kas bija faktiski rebooted šovasar daži 718 00:35:57,330 --> 00:36:01,070 no CS50 pašu bijušajiem studentiem, tagad savukārt TFS. 719 00:36:01,070 --> 00:36:04,740 >> Tātad tas notiek, ir būvētas mājas lapā valodā sauc par PHP. 720 00:36:04,740 --> 00:36:08,510 Tas izmanto datu bāzi, ko sauc par MySQL, lietas , ar kuru mēs iegūtu mūsu rokās 721 00:36:08,510 --> 00:36:10,190 netīrs vēlāk semestrī. 722 00:36:10,190 --> 00:36:14,140 Bet ticiet vai ne, pat kaut ko piemēram, tas galu galā samazina līdz 723 00:36:14,140 --> 00:36:19,480 visvienkāršākais cilpas un nosacījumus, un zari, tāpat kā mēs redzējām tikai 724 00:36:19,480 --> 00:36:21,530 pirms brīža uz TED video. 725 00:36:21,530 --> 00:36:25,180 >> Ko es domāju, ka man tagad darīt, ir dalīties nav tikai kaut ko mēs darbinieki ir veikuši 726 00:36:25,180 --> 00:36:28,010 par Campus, bet gan kaut kas bijušais students - trīs 727 00:36:28,010 --> 00:36:29,080 studentiem, patiesībā - 728 00:36:29,080 --> 00:36:33,950 veikts pagājušajā gadā, Sierra, Daniel, un Sam, pēdējais no kuriem nebija iepriekšējas 729 00:36:33,950 --> 00:36:36,370 programing pieredze kad viņš bija CS50. 730 00:36:36,370 --> 00:36:39,950 Un to gala projektu, viņi izstādīti, pie CS50 Fair, 731 00:36:39,950 --> 00:36:43,720 pieteikums sauc wrdly, kas ir tīmekļa programma, kuru viņi 732 00:36:43,720 --> 00:36:47,670 šis video, ka es domāju, ka man dalīties ar sniedz jums sajūtu tieši to, kas ir 733 00:36:47,670 --> 00:36:49,280 iespējams, termins beigām. 734 00:36:49,280 --> 00:37:57,170 >> [Mūzikas atskaņošanas] 735 00:37:57,170 --> 00:38:00,570 >> DAVID Malan: Tas ir no nedēļa Zero līdz nedēļai 12 pagājušajā gadā. 736 00:38:00,570 --> 00:38:05,470 >> [Aplausi] 737 00:38:05,470 --> 00:38:09,520 >> DAVID Malan: Kā teaser, too, tiešām apetītes rosināšanai, ir to, kas ir 738 00:38:09,520 --> 00:38:14,580 iespējams, jums var būt redzējis jau, vai drīz var redzēt, market.cs50.net, ar 739 00:38:14,580 --> 00:38:17,710 jauns instruments, ka kurss komanda ir strādājusi par, šoreiz 740 00:38:17,710 --> 00:38:21,530 sadarbībā ar Harvard Student Aģentūrām, piemēram, ka sākot ar šo gadu 741 00:38:21,530 --> 00:38:24,980 un turpinot cerams, uz to nāk vasarā jums ir standarts 742 00:38:24,980 --> 00:38:27,890 iespēja Campus pirkt un pārdot lietas, kas interesē tevi. 743 00:38:27,890 --> 00:38:32,220 Un ar partnerību ar HSA, jūs arī varētu nomest objektus off 744 00:38:32,220 --> 00:38:35,950 vienā no HSA fizisko veikalu pēc dažām punkts turpmāk, lai 745 00:38:35,950 --> 00:38:39,150 proxy lietas, jo, kā jūs absolvents un ne vienmēr vēlas, lai 746 00:38:39,150 --> 00:38:44,110 izmest lietas, bet patiesībā to samaksāt nosūtīt uz ļaudīm, kas varētu sekot jums 747 00:38:44,110 --> 00:38:45,270 Šeit par Campus. 748 00:38:45,270 --> 00:38:46,740 Tātad vairāk par to, lai nāk. 749 00:38:46,740 --> 00:38:49,830 >> Bet nedaudz vairāk konkrētāk, instruments kas ir nāk no CS50 ir nesen 750 00:38:49,830 --> 00:38:52,760 gadu, ar ko daži no jums varētu būt pazīstami un citi no jums varētu būt 751 00:38:52,760 --> 00:38:57,940 googling tagad, CS50.net/2x, jūs atrast saiti uz Chrome paplašinājumu 752 00:38:57,940 --> 00:39:01,250 kas ir uzskatāmu par to, kā jūs varat izmantot JavaScript, tajā pašā valodu mums 753 00:39:01,250 --> 00:39:06,660 izmanto ar Eifeļa torni pirms brīža, īstenot 2x atskaņošanas ātrumu 754 00:39:06,660 --> 00:39:09,000 visiem Harvard iSites video. 755 00:39:09,000 --> 00:39:11,880 Tas ir kaut kas ir būvēts uz CS50 pašu video atskaņotājs. 756 00:39:11,880 --> 00:39:14,870 Bet tas arī, ja jūs sākat rakt uz pirmkodu, ko mēs 757 00:39:14,870 --> 00:39:18,840 laimīgi padarīt pieejamu, jūs redzēsiet, kā Jūs pat varat atrisināt problēmas, piemēram, ka, 758 00:39:18,840 --> 00:39:23,180 paātrinot logrīki mājas lapas ar kas jūs jau labi pazīstami. 759 00:39:23,180 --> 00:39:26,630 >> Tātad vārds tagad kursu un cerības un kādi ir priekšā. 760 00:39:26,630 --> 00:39:29,445 Vispār, mēs patiešām savākt šeit pirmdienās un trešdienās - gan 761 00:39:29,445 --> 00:39:31,490 šo piektdien, mēs apkopot, jo gada Shopping nedēļas - 762 00:39:31,490 --> 00:39:34,640 1:00-14:00, lai gan dažreiz līdz 02:30. 763 00:39:34,640 --> 00:39:38,700 Ņemot vērā, ka jūs, iespējams, tādēļ vēlas, vai ir veikt dažas klases at 2:00 764 00:39:38,700 --> 00:39:42,480 tālāk, vai pat agrāk, saprotu, kurss ir atbalstoša, ko sauc 765 00:39:42,480 --> 00:39:45,900 vienlaicīga uzņemšana, kurā mēs atbalstīt lūgumrakstu Ad padomei un 766 00:39:45,900 --> 00:39:49,400 Jūsu iedzīvotājs dekānu jūsu vārdā, ja jums ir konflikts kaut kur šajā 767 00:39:49,400 --> 00:39:50,790 1:00-02:30 diapazonā. 768 00:39:50,790 --> 00:39:54,110 Dodies uz šo URL internetā par papildu informāciju. 769 00:39:54,110 --> 00:39:57,750 >> Bet attiecībā uz atbalsta struktūras kas raksturo CS50, studentiem 770 00:39:57,750 --> 00:40:01,750 vairāk un mazāk apmierināti līdzīgi, mēs piedāvā atšķirīgas dziesmas no sadaļām. 771 00:40:01,750 --> 00:40:04,730 Un tas ir pāris nedēļas off, bet Pirms gara, jums tiks lūgts, lai 772 00:40:04,730 --> 00:40:05,770 jūsu komforta līmeni. 773 00:40:05,770 --> 00:40:08,590 Vai Jūs starp tiem mazāk apmierināti, ērtāku, vai 774 00:40:08,590 --> 00:40:10,520 kaut kur pa vidu? 775 00:40:10,520 --> 00:40:13,150 >> Un mums būs trīs atšķirīgas dziesmas, kas rūpējas, lai 776 00:40:13,150 --> 00:40:14,470 tieši tie auditorijai. 777 00:40:14,470 --> 00:40:17,900 Tātad nevienā brīdī tajā laikā jums būtu pat justies kā jūs konkurēt 778 00:40:17,900 --> 00:40:21,390 pret jebkuru studentu ar vairāk vai mazāk fons, nekā jūs. 779 00:40:21,390 --> 00:40:24,160 Patiešām, kurss ir domāts, lai būtu daudz vairāk sadarbības un daudz 780 00:40:24,160 --> 00:40:25,650 atvērtāki nekā. 781 00:40:25,650 --> 00:40:29,030 >> Runājot par problēmu kopu, jūs atrast, arī, ka papildus 782 00:40:29,030 --> 00:40:32,130 standarta izdevums katras nedēļas problēmu komplekts, tur bieži vien "hakeris 783 00:40:32,130 --> 00:40:37,010 izdevums ", kas ir domāts, lai būtu mērķtiecīgi pie 5% līdz 10%, vai arī tā no 784 00:40:37,010 --> 00:40:40,270 demogrāfiskā kurš ir patiešām viens no tiem ērtāku un vēlētos vairāk 785 00:40:40,270 --> 00:40:43,960 izaicinājums, nekā standarta izdevums par šo PSET sagaida. 786 00:40:43,960 --> 00:40:46,390 Sīkāka informācija par tiem, kādus atrast mācību. 787 00:40:46,390 --> 00:40:49,430 >> Bet arī tur var atrast informāciju uz kursiem vēlu dienas. 788 00:40:49,430 --> 00:40:51,570 Parasti problēma komplekti pienākas ceturtdienās. 789 00:40:51,570 --> 00:40:55,550 Tomēr jūs varat paplašināt daudzus no jūsu termiņi šis kritums no ceturtdienas līdz 790 00:40:55,550 --> 00:41:00,010 Piektdienās, vienkārši izpildot mūs pusceļā, tā teikt, atbildot uz dažiem iesildīšanās 791 00:41:00,010 --> 00:41:03,370 jautājumi daži no nedēļas problēmu komplekti, kas būs automātiski 792 00:41:03,370 --> 00:41:05,710 pēc tam sniedz jums papildus 24 stundas. 793 00:41:05,710 --> 00:41:09,120 Mēs arī piliens jūsu zemākais punktu, kā vienu no mācību programmas. 794 00:41:09,120 --> 00:41:12,170 >> Lai dotu jums sajūtu, ko problēma komplekti ir - tāpēc, ka tas ir patiešām 795 00:41:12,170 --> 00:41:15,120 Kurss ir problēma nosaka, ka galu galā noteikt gandrīz katrs 796 00:41:15,120 --> 00:41:18,760 studenta pieredzi, vairāk nekā lekcijas, vairāk nekā nodaļās, vairāk 797 00:41:18,760 --> 00:41:21,230 tā kā lielākā daļa citu aspekts gaitā. 798 00:41:21,230 --> 00:41:25,140 Pērn, piemēram, mēs sākās, kā mēs sāksim šogad, ar nulles. 799 00:41:25,140 --> 00:41:29,150 Īpaši šo piektdien, mēs izmantosim, lai tikai vienas dienas laikā, grafiskā 800 00:41:29,150 --> 00:41:32,260 programmēšanas valoda, ar kuru mēs sākt plānošanu, velkot un 801 00:41:32,260 --> 00:41:37,580 pilināmā puzzle gabalus, ka tikai montēt fiziski, ja tas ir jēga 802 00:41:37,580 --> 00:41:38,990 to darīt loģiski. 803 00:41:38,990 --> 00:41:43,460 >> Nākamnedēļ, mēs ātri pāreju uz C, diezgan vecs, bet ļoti mazs, un 804 00:41:43,460 --> 00:41:48,510 vienkāršā valodā, kas ļaus mums patiešām iet 0-60 gaitā 805 00:41:48,510 --> 00:41:52,290 par dažām nedēļām, un pēc tam parlay šie paši prasmes un zināšanas 806 00:41:52,290 --> 00:41:56,160 pamata programmēšanas konstrukcijas uz augstāka līmeņa valodas, piemēram, PHP, 807 00:41:56,160 --> 00:41:58,240 JavaScript, un vēl citi joprojām. 808 00:41:58,240 --> 00:42:02,560 >> Pagājušajā gadā, trešais PSET laikā bija tas, ka par kriptogrāfiju, 809 00:42:02,560 --> 00:42:06,380 domēna īpašo pieteikumu, kurā mums apstrīdēt studentiem, lai īstenotu kādu 810 00:42:06,380 --> 00:42:11,140 skaits cipariem, programmas, ar kuru motokross vai atšifrēt informāciju, 811 00:42:11,140 --> 00:42:11,880 šifrēt to. 812 00:42:11,880 --> 00:42:16,300 Par hakeru izdevumā, gluži pretēji, mēs deva hakeris studentiem failu 813 00:42:16,300 --> 00:42:19,900 no standarta Unix datoram, kas satur lietotājvārdi un paroles, 814 00:42:19,900 --> 00:42:22,740 no kuriem pēdējie šifrēta, un mēs apstrīdēt tos hacker 815 00:42:22,740 --> 00:42:26,850 studentiem, lai atšifrētu, cik labi vien varēja, šīs paroles, joprojām, ka 816 00:42:26,850 --> 00:42:27,770 pats domēns. 817 00:42:27,770 --> 00:42:30,580 >> Motokross, spēle ar kurām dažām no jums, iespējams, ir iepazinušies. 818 00:42:30,580 --> 00:42:34,410 Kriminālistikas gabals, kur mēs lūdzam studentus lai atgūtu datus, kas bija 819 00:42:34,410 --> 00:42:38,530 citādi ir svītrots no mana digitālā Kameras kompaktu flash karti, ar 820 00:42:38,530 --> 00:42:42,740 faktiski rakstot programmatūru, lai noskaidrotu, kur bija nulles un tiem, kas 821 00:42:42,740 --> 00:42:46,850 ka digitālā kamera, kas iepriekš veido JPEG grafiku? 822 00:42:46,850 --> 00:42:49,710 >> Izaicinājums veidu pagājušajā gadā iesaistot rakstot ātrākais 823 00:42:49,710 --> 00:42:53,160 pareizrakstības pārbaudītājs iespējas, konkurējot pret draugiem un klasesbiedriem, ja 824 00:42:53,160 --> 00:42:53,860 viņi gribētu. 825 00:42:53,860 --> 00:42:56,330 Īstenošanas pukoties 'n Puff, saspiešanas programmu. 826 00:42:56,330 --> 00:43:01,930 Un tad beidzot pusgadu ar CS50 Finanses, tīmekļa pieteikumu ar 827 00:43:01,930 --> 00:43:06,570 kas jums izveidot Etrade līdzīgu mājas lapā pirkt un pārdot krājumus, tāpēc, lai 828 00:43:06,570 --> 00:43:09,860 runā, ko faktiski velkot gandrīz reālā laika citātus Yahoo! 829 00:43:09,860 --> 00:43:10,450 Finanses. 830 00:43:10,450 --> 00:43:13,590 >> Ko mēs to nedarīju pagājušajā gadā bija viena problēma komplekts, kas paliek 831 00:43:13,590 --> 00:43:14,810 tomēr mīļākie. 832 00:43:14,810 --> 00:43:18,400 Ja jūs nekad neesmu devusies uz shuttle.cs50.net, jūs redzēsiet lietotāju 833 00:43:18,400 --> 00:43:19,670 interfeiss mazliet kā šis. 834 00:43:19,670 --> 00:43:23,530 Bet pirms diviem gadiem, klases īstenota, izmantojot Google Maps un 835 00:43:23,530 --> 00:43:28,570 Google Earth plug-in, un mazliet par gudriem ar braukšanas apkārt Campus, 836 00:43:28,570 --> 00:43:33,290 tā, ka no šīs spēles mērķis bija, kā jūs varat redzēt dažus no sejas, 837 00:43:33,290 --> 00:43:37,530 ir braukt ap Campus meklē personāls, mācību puiši un CAS, un 838 00:43:37,530 --> 00:43:40,080 ja jūs, liekot tos uz savu autobusu. 839 00:43:40,080 --> 00:43:44,035 Neviens no viņiem faktiski, šķiet, ir šeit, tāpēc mēs ejam, lai ievadītu apkrāptu kodu. 840 00:43:44,035 --> 00:43:47,150 >> [Smiekli] 841 00:43:47,150 --> 00:43:48,430 >> DAVID Malan: Tur mēs ejam. 842 00:43:48,430 --> 00:43:49,240 Labi. 843 00:43:49,240 --> 00:43:51,750 Un šeit nu ir darbinieki savītas visā universitātes pilsētiņā. 844 00:43:51,750 --> 00:43:54,530 Un, kā jūs varat redzēt, uz labās rokas pusē no ekrāna, autobuss 845 00:43:54,530 --> 00:43:55,510 ir tukšas vietas. 846 00:43:55,510 --> 00:43:59,000 Un mērķis bija uzrakstīt kods, ar kuru to simulētu 847 00:43:59,000 --> 00:44:01,790 braukšanas un pacelt un pilināmā nost no pasažieriem. 848 00:44:01,790 --> 00:44:04,960 Ka viens arī, izmantojot valodu sauc JavaScript. 849 00:44:04,960 --> 00:44:10,030 Tāpēc jāsaprot, ka programmas, piemēram, ka būs būt mūsu pašu trajektoriju šis 850 00:44:10,030 --> 00:44:10,910 gadā, kā arī. 851 00:44:10,910 --> 00:44:13,640 >> Runājot, tagad, papildu atbalsts, mums ir biroja stundas. 852 00:44:13,640 --> 00:44:16,520 Kā jūs varētu būt redzējis savā mājā ēdamzāle vai Annenberg, 853 00:44:16,520 --> 00:44:19,280 mēs būsim mājā dining zāles četras naktis nedēļā - 854 00:44:19,280 --> 00:44:24,450 Leverett, Pfoho, Eliots un Annenberg Šogad, 20:00-23:00. 855 00:44:24,450 --> 00:44:26,830 Un ko mēs domājam, ka mēs gribētu darīt šajā gadā ir kaut nedaudz atšķiras. 856 00:44:26,830 --> 00:44:29,650 >> Ja esat dzirdējuši rumblings pagājušajā gadā, ka tas bija mazliet pārāk saspringta, šis 857 00:44:29,650 --> 00:44:32,800 gada darba laika, kā mēs aprakstīt nākamnedēļ, būs vairāk organisko, 858 00:44:32,800 --> 00:44:36,900 kurā ierodoties, jūs būsiet nosūta uz vienu konkrētu tabulu 859 00:44:36,900 --> 00:44:39,860 ja vairāki darbinieki gaida, un mēs darīsim lietas daudz vairāk 860 00:44:39,860 --> 00:44:40,440 organiski. 861 00:44:40,440 --> 00:44:43,740 Ne vairāk rinda, ne vairāk iPad, bet drīzāk ir vairāk intīmo 862 00:44:43,740 --> 00:44:47,300 sarunas ap tabulu vienkārši astoņi vai tik studenti, lai mēs 863 00:44:47,300 --> 00:44:50,880 aptuveno noskaņu, kas citādi varētu būt daudz mazāks klase. 864 00:44:50,880 --> 00:44:54,120 >> Mēs piedāvājam, kā arī, šīs lietas mēs sauc walkthroughs, video filmēja 865 00:44:54,120 --> 00:44:57,330 iepriekš ar vienu no kursa ir mācību puiši, Zamyla, kurā viņa 866 00:44:57,330 --> 00:45:00,690 pastaigas Jūs, izmantojot nedēļas problēmu komplekti, kas piedāvā padomus un trikus, lai 867 00:45:00,690 --> 00:45:02,640 problēmas, kas gulēja uz priekšu. 868 00:45:02,640 --> 00:45:06,230 Un otrādi, pēc tam, kad problemātisko kopas ir dēļ, šogad, mēs arī atbrīvot 869 00:45:06,230 --> 00:45:09,100 maz klipi zvaniet Pēc nāves izmeklējumu ka faktiski staigāt jums caur 870 00:45:09,100 --> 00:45:13,630 pārstāvis risinājumi, gan labs un slikti, caur kuru jūs varat secināt, cik 871 00:45:13,630 --> 00:45:17,550 Jums varētu būt vai būtu īsteno savu risinājumu. 872 00:45:17,550 --> 00:45:20,500 >> Un ko mēs piedāvājam pirmoreiz šajā gadā, kā arī, it īpaši 873 00:45:20,500 --> 00:45:23,420 tiem studentiem, kuri paņēmuši gada kurss ir citi 874 00:45:23,420 --> 00:45:28,580 resursi, bet tomēr cīnās pārāk daudz, protams, 875 00:45:28,580 --> 00:45:33,030 pati pārī tiem studentiem, kā resursi atļauj, ar pasniedzējiem tā, ka 876 00:45:33,030 --> 00:45:35,840 Jums ir daudz vairāk intīmo iespēja nekā mājas ēdamzāles 877 00:45:35,840 --> 00:45:38,700 ļauj vienu-uz-vienu palīdzību. 878 00:45:38,700 --> 00:45:42,780 >> Tagad galīgais ieskatu dažas no gala spēles aktuāli. 879 00:45:42,780 --> 00:45:44,580 Jums varētu būt pazīstami ar CS50 Hackathon. 880 00:45:44,580 --> 00:45:48,120 Nu, nāk šā gada decembrī, no 8:00 AM līdz 7:00, sākumā 881 00:45:48,120 --> 00:45:51,410 Reading periods, būs iespēja savākt ar klasesbiedriem - 882 00:45:51,410 --> 00:45:53,130 tas varētu būt ap 21:00 - 883 00:45:53,130 --> 00:45:56,550 kura laikā jūs nirt savu galīgo projekta īstenošana kopā 884 00:45:56,550 --> 00:45:59,910 klasesbiedriem, draugiem, un pārtiku. 885 00:45:59,910 --> 00:46:03,680 Tas varētu būt ap 01:00, kad pirmā partija pārtikas ieradušies. 886 00:46:03,680 --> 00:46:08,470 Un tas ir aptuveni 4:00, ka īpaši šogad pie CS50 Hackathon. 887 00:46:08,470 --> 00:46:12,000 >> Bet taisnība kulminācija protams, ir domāts, lai CS50 gadatirgus, Campus mēroga 888 00:46:12,000 --> 00:46:15,790 izstāde savu gala projektu, ar kuru ģimenes un draugi ir visi 889 00:46:15,790 --> 00:46:18,730 uzaicināja, jo mūsu darba devējiem un mūsu draugi no nozares. 890 00:46:18,730 --> 00:46:22,170 Tas, piemēram, ir pazibēt no 2000-plus cilvēki, kas esam apmeklēja 891 00:46:22,170 --> 00:46:23,160 pēdējo gadu laikā. 892 00:46:23,160 --> 00:46:27,180 Izpausmes, piemēram, tas nav nekas neparasts, un tāpat dara savu 893 00:46:27,180 --> 00:46:29,660 klasesbiedru iepriecināt lietas Jūs esat paveikt. 894 00:46:29,660 --> 00:46:33,170 >> Un patiesībā, pret to panāktu, mums ir start-of-termiņa notikums, kā labi. 895 00:46:33,170 --> 00:46:37,400 Ja lietas, piemēram, šo vēršos pie jums, vai jūs vismaz ziņkārīgs par to, ko 896 00:46:37,400 --> 00:46:41,590 tas, zinu, ka jauna tradīcija Kurss tiek saukta CS50 Puzzle diena. 897 00:46:41,590 --> 00:46:45,710 Un tas tika ieviests pāris gadus atpakaļ, lai tiešām signalizēt Campus 898 00:46:45,710 --> 00:46:48,930 ka datorzinātnes nav par programmu, un tas noteikti nav 899 00:46:48,930 --> 00:46:51,960 par visaptverošu tikai tiem studentiem kam ir iepriekšēja pieredze. 900 00:46:51,960 --> 00:46:54,200 Tas ir patiešām par problēmu risināšanas kopumā. 901 00:46:54,200 --> 00:46:57,360 >> Un tā Puzzle diena, pēdējos gadus, ir kļuvis par jauku 902 00:46:57,360 --> 00:47:00,500 partnerattiecības ar mūsu draugiem Facebook, kad tur būs pasakains 903 00:47:00,500 --> 00:47:04,830 balvas un pāri upei pica i-lab šo nāk sestdiena. 904 00:47:04,830 --> 00:47:09,180 Dodies uz šo URL ar divām vai trīs draugi, ja jūs vēlaties piedalīties 905 00:47:09,180 --> 00:47:10,830 šajā jaunajā tradīciju. 906 00:47:10,830 --> 00:47:14,180 >> Tāpēc es gribētu lūgt, lai jūs saglabātu vienu lieta prātā, un mēs esam ieguvuši tikai 907 00:47:14,180 --> 00:47:17,070 divu minūšu clip uz kuriem slēgt šodien. 908 00:47:17,070 --> 00:47:19,640 73% ir skaitlis atcerēties. 909 00:47:19,640 --> 00:47:23,900 Kūka, arī jūs gaidīs ārpus šīs transept kā mēs atliek tikai nedaudz 910 00:47:23,900 --> 00:47:26,710 pāris no momentiem, kas ir tradīcija gada gaitā, kā arī. 911 00:47:26,710 --> 00:47:29,860 Bet tas ir galvenais citāts Protams, ir programma, kas jāpatur prātā. 912 00:47:29,860 --> 00:47:32,820 Kas galu galā ir svarīgi šajā kursā ir ne tik daudz, ja jūs galu galā 913 00:47:32,820 --> 00:47:36,580 attiecībā pret saviem klasesbiedriem, bet, ja Jūs, 12 nedēļa, galu galā, salīdzinot ar 914 00:47:36,580 --> 00:47:37,960 sevi 0 nedēļā. 915 00:47:37,960 --> 00:47:43,670 >> Bet ieskatu, ka mēs atstāsim jums ar šodien tas ir pēdējais šeit 916 00:47:43,670 --> 00:47:47,580 mūsu pašu Danielu, kurš bija wrdly video tikai pirms brīža. 917 00:47:47,580 --> 00:47:50,000 Es atstāt jūs ar šo ieskatu par to, kas ir priekšā. 918 00:47:50,000 --> 00:47:53,360 Un, tā kā mēs to darām, ja mēs varētu būt CS50 darbinieki no priekšpuses telpā 919 00:47:53,360 --> 00:47:57,280 nākt uz augšu uz skatuves gleznot visu vairāk par vizuālo attēlu, kā līdz 920 00:47:57,280 --> 00:47:59,100 ko jūs gaida šogad - 921 00:47:59,100 --> 00:48:00,350 kļūst neērti. 922 00:48:00,350 --> 00:48:02,200 923 00:48:02,200 --> 00:48:05,188 Mēs noslēgt ar šo šeit uz ekrāna. 924 00:48:05,188 --> 00:48:18,634 >> [Mūzikas atskaņošanas] 925 00:48:18,634 --> 00:48:21,124 >> DAVID Malan: Tas ir CS50. 926 00:48:21,124 --> 00:50:00,226 >> [MUSIC - MATT & KIM, "tas ir alright"] 927 00:50:00,226 --> 00:50:03,245 >> SPEAKER 1: Es mīlu CS50 vairāk nekā kaķiem. 928 00:50:03,245 --> 00:50:06,030 >> SPEAKER 2: Whoaaaa! 929 00:50:06,030 --> 00:50:06,990 >> [Smiekli] 930 00:50:06,990 --> 00:50:08,140 >> DAVID Malan: Tas tad ir CS50. 931 00:50:08,140 --> 00:50:10,050 Mēs redzēsim jūs piektdien. 932 00:50:10,050 --> 00:50:13,370 >> [Aplausus un uzmundrinoša] 933 00:50:13,370 --> 00:50:17,540 >> Teicējs: Nākamajā CS50, uz skatuves demo nav iet kā plānots. 934 00:50:17,540 --> 00:50:19,080 >> DAVID Malan: mēs vēlamies, lai atrastu Mike Smith šajā tālruņu katalogā. 935 00:50:19,080 --> 00:50:20,380 Nu, kādas ir jūsu instinkti? 936 00:50:20,380 --> 00:50:23,750 Es varētu pieslēgties aptuveni uz vidu tālruņa grāmatu, skatiens uz leju, redzam, ka 937 00:50:23,750 --> 00:50:26,830 Es esmu pie M, un tagad es zinu, ka Mike Smith ir ne pa kreisi. 938 00:50:26,830 --> 00:50:27,840 Viņam ir jābūt pa labi. 939 00:50:27,840 --> 00:50:30,515 Un tā šajā brīdī, mēs var burtiski saplēst - 940 00:50:30,515 --> 00:50:33,300 šajā brīdī, mēs varam burtiski saplēst - 941 00:50:33,300 --> 00:50:36,490 Šajā brīdī, mēs varam tēlaini saplēst telefona grāmatu pusi. 942 00:50:36,490 --> 00:50:38,954 >> [UKELELE strinkšķina]