1 00:00:01,491 --> 00:01:38,659 [Powered by Google Translate] [Musik spelar] 2 00:05:18,350 --> 00:05:20,630 David J. MALAN: Detta är CS50. 3 00:05:20,630 --> 00:05:23,610 Så jag var där du är nu några år sedan. 4 00:05:23,610 --> 00:05:27,850 Och när jag var en nybörjare på den tiden var jag inte riktigt på 5 00:05:27,850 --> 00:05:30,350 denna väg att göra datavetenskap, att göra teknik. 6 00:05:30,350 --> 00:05:33,650 Faktum kom jag på denna plats som en statlig koncentrator. 7 00:05:33,650 --> 00:05:35,430 Jag hade varit i gymnasiet, en kille som 8 00:05:35,430 --> 00:05:36,770 gillade saker som historien. 9 00:05:36,770 --> 00:05:39,350 Jag gillade grundlag, typ av engelska och matematik. 10 00:05:39,350 --> 00:05:41,300 Det är som sådan väl avrundad, men inte 11 00:05:41,300 --> 00:05:43,290 nödvändigtvis vet saker som jag inte hade varit 12 00:05:43,290 --> 00:05:44,380 undervisade på gymnasiet. 13 00:05:44,380 --> 00:05:47,060 Och så första år hade jag denna bävan innebär även 14 00:05:47,060 --> 00:05:49,730 även om jag gillade datorer, spelade dataspel och 15 00:05:49,730 --> 00:05:52,080 gillar jag verkligen aldrig tänkt på mig själv som en 16 00:05:52,080 --> 00:05:54,830 dator person, en datavetare. 17 00:05:54,830 --> 00:05:56,705 Och ärligt talat, jag trodde mina vänner i gymnasiet som 18 00:05:56,705 --> 00:06:01,840 tog datavetenskap var lite av en nördar. 19 00:06:01,840 --> 00:06:04,910 Och ändå, när jag kom hit på campus, var det 20 00:06:04,910 --> 00:06:06,240 denna kurs, CS50. 21 00:06:06,240 --> 00:06:09,640 >> Och på den tiden hade det detta rykte av att verkligen vara 22 00:06:09,640 --> 00:06:10,480 något att se upp. 23 00:06:10,480 --> 00:06:11,560 Det var en bra kurs. 24 00:06:11,560 --> 00:06:13,425 Det var en rolig kurs. 25 00:06:13,425 --> 00:06:16,850 Men du var tvungen att faktiskt få det fot i dörren. 26 00:06:16,850 --> 00:06:19,950 Och även jag inte över detta tröskelvärde första år. 27 00:06:19,950 --> 00:06:23,330 Och jag gick på mitt sätt att vara en regering koncentrator, gå 28 00:06:23,330 --> 00:06:25,190 genom så många av förutsättningarna som jag kunde, 29 00:06:25,190 --> 00:06:28,010 gränsöverskridande räkna saker för gen ed eller kärna och liknande. 30 00:06:28,010 --> 00:06:30,290 Och sedan andra år, av någon anledning fick jag upp 31 00:06:30,290 --> 00:06:33,450 modet att steg fot i Science Center B, där CS50 var. 32 00:06:33,450 --> 00:06:36,150 En mycket berömd datavetare vid namn Brian 33 00:06:36,150 --> 00:06:38,530 Kernighan lärde här det året. 34 00:06:38,530 --> 00:06:42,490 Och även då var jag bara villig att faktiskt fylla 35 00:06:42,490 --> 00:06:45,600 min studie kort genom att ta denna klass godkänd / underkänd. 36 00:06:45,600 --> 00:06:47,590 Jag såg mig omkring och jag tänkte att alla i ens 37 00:06:47,590 --> 00:06:49,550 måste veta mycket mer om datavetenskap, om 38 00:06:49,550 --> 00:06:50,750 programmering, om datorer. 39 00:06:50,750 --> 00:06:52,370 Alla måste man vara programmering, i detta rum, 40 00:06:52,370 --> 00:06:53,510 eftersom de var 12. 41 00:06:53,510 --> 00:06:55,330 Men faktiskt var det inte fallet. 42 00:06:55,330 --> 00:06:58,660 Och så den allra sista dagen, den femte måndag av terminen, 43 00:06:58,660 --> 00:07:01,410 tog jag denna språng och förändring från godkänd / inte en 44 00:07:01,410 --> 00:07:04,120 brev klass och hamnade ändra min koncentration som 45 00:07:04,120 --> 00:07:05,330 Samma dag datavetenskap. 46 00:07:05,330 --> 00:07:07,870 >> Nu, det är inte vårt mål i den här klassen, för att slå er alla 47 00:07:07,870 --> 00:07:10,500 till datavetenskap koncentratorer, men verkligen 48 00:07:10,500 --> 00:07:13,420 föreslår att det finns en möjlighet på detta område och 49 00:07:13,420 --> 00:07:16,500 inom andra områden som du kan vara ganska obekanta 50 00:07:16,500 --> 00:07:18,750 med tanke på att gymnasieskolor vanligtvis följer en ganska 51 00:07:18,750 --> 00:07:23,140 standard kursplaner väg, men att våga i, i CS50, i 52 00:07:23,140 --> 00:07:24,030 nya vatten. 53 00:07:24,030 --> 00:07:27,040 Och om du sitter här idag tänker du inte 54 00:07:27,040 --> 00:07:31,130 faktiskt tillhör, så gör de flesta människor till höger och 55 00:07:31,130 --> 00:07:31,980 till vänster. 56 00:07:31,980 --> 00:07:36,640 Faktum förra året hade 76% av eleverna i denna klass inte 57 00:07:36,640 --> 00:07:37,840 tidigare erfarenhet. 58 00:07:37,840 --> 00:07:40,550 Så i motsats till vad man kan tro, de flesta människor 59 00:07:40,550 --> 00:07:43,630 sitta här idag inte i själva verket har någon tidigare 60 00:07:43,630 --> 00:07:44,970 erfarenhet. 61 00:07:44,970 --> 00:07:49,890 18% har tagit en CS klass och 6% har tagit två eller fler. 62 00:07:49,890 --> 00:07:52,440 Samtidigt ber vi våra studenter varje år för att beskriva 63 00:07:52,440 --> 00:07:54,440 själva i termer av komfort nivå. 64 00:07:54,440 --> 00:07:56,870 Och det finns ingen definition av detta. 65 00:07:56,870 --> 00:07:58,730 Du bara sorts veta det om du inte är väldigt 66 00:07:58,730 --> 00:08:00,340 bekväm i CS50. 67 00:08:00,340 --> 00:08:04,270 Och förra året hade vi 55% i denna gröna paj skiva här 68 00:08:04,270 --> 00:08:06,720 självbeskrivande som mindre bekväm, elever som 69 00:08:06,720 --> 00:08:09,390 ärligt hade ingen aning om varför de skulle även handlat kursen på 70 00:08:09,390 --> 00:08:10,340 den första dagen. 71 00:08:10,340 --> 00:08:14,010 Men samma 55% kvar hos oss tills tiden slut, liksom 72 00:08:14,010 --> 00:08:17,770 35% som var någonstans mellan de mer bekväm 73 00:08:17,770 --> 00:08:19,960 och de mindre bekväm. 74 00:08:19,960 --> 00:08:21,350 >> Så, vad är datavetenskap? 75 00:08:21,350 --> 00:08:23,680 Väl i gymnasiet, och verkligen mer allmänt ut 76 00:08:23,680 --> 00:08:25,670 Det dessa dagar, det finns denna uppfattning eller denna 77 00:08:25,670 --> 00:08:28,260 missuppfattning att datavetenskap är programmering. 78 00:08:28,260 --> 00:08:30,700 Och det är absolut en del av datavetenskap. 79 00:08:30,700 --> 00:08:33,100 Men programmering, oavsett språk, är egentligen bara en 80 00:08:33,100 --> 00:08:35,760 verktyg som datavetare använder för att lösa problem, antingen 81 00:08:35,760 --> 00:08:38,710 på området för datavetenskap eller allt dessa 82 00:08:38,710 --> 00:08:41,710 dagar i fysik, naturvetenskap, i 83 00:08:41,710 --> 00:08:45,180 medicin i humaniora, för att analysera stora datamängder. 84 00:08:45,180 --> 00:08:47,660 Överallt nu finns det datorer och data, finns det en 85 00:08:47,660 --> 00:08:52,250 möjlighet att tillämpa lärdomarna i en klass som CS50. 86 00:08:52,250 --> 00:08:55,050 >> Så låt oss lösa ett problem som en dator vetenskapsman kan gå 87 00:08:55,050 --> 00:08:58,760 om att lösa och försöka sätta lite jargong, sätta några 88 00:08:58,760 --> 00:09:01,750 begreppsram kan runt vad annars skulle vara en del 89 00:09:01,750 --> 00:09:03,250 ganska abstrakt idé. 90 00:09:03,250 --> 00:09:05,170 Så detta är en telefon. 91 00:09:05,170 --> 00:09:07,100 Du ser inte dessa saker alltför ofta, även om högskolan 92 00:09:07,100 --> 00:09:09,690 fortfarande verkar ha dessa i husen och sovsalar. 93 00:09:09,690 --> 00:09:11,940 Men tillbaka i dag när du ville använda en telefon som 94 00:09:11,940 --> 00:09:13,880 detta fanns det ingen elektronisk adressbok 95 00:09:13,880 --> 00:09:14,620 i din mobiltelefon. 96 00:09:14,620 --> 00:09:16,130 Snarare drog du upp något 97 00:09:16,130 --> 00:09:17,330 känd som en telefonbok. 98 00:09:17,330 --> 00:09:20,970 Och dessa telefonböcker hade omkring 1.000 sidor, typiskt. 99 00:09:20,970 --> 00:09:23,800 De sorterade från A till Ö. Och du bara var tvungen att hitta 100 00:09:23,800 --> 00:09:26,390 rätt för att hitta den person du söker för att 101 00:09:26,390 --> 00:09:28,890 hitta deras namn och deras telefonnummer. 102 00:09:28,890 --> 00:09:30,060 Nu hur ska du gå om att se upp 103 00:09:30,060 --> 00:09:31,000 någon i den här boken? 104 00:09:31,000 --> 00:09:33,670 >> Antag mitt mål är att ge min vän, Mike Smith, ett samtal. 105 00:09:33,670 --> 00:09:35,680 Nå, hur gör jag för att hitta Mike Smith? 106 00:09:35,680 --> 00:09:38,840 Tja, ett mycket rimligt tillvägagångssätt, om naiv och 107 00:09:38,840 --> 00:09:42,080 ineffektiva, skulle börja här och börja vända på 108 00:09:42,080 --> 00:09:46,630 sida 4 till sida 5 till sida 6, och typ av linjärt, längs 109 00:09:46,630 --> 00:09:48,490 en rak linje, gå igenom den här telefonboken. 110 00:09:48,490 --> 00:09:50,920 Och även om det kommer att bli otroligt tråkig, om Mike 111 00:09:50,920 --> 00:09:53,550 Smith är i den här boken, jag så småningom ska nå honom 112 00:09:53,550 --> 00:09:56,660 när jag äntligen vända till S i denna bok. 113 00:09:56,660 --> 00:09:58,670 Nu naturligtvis behöver du inte vara en datavetare som 114 00:09:58,670 --> 00:10:00,840 vet att detta är ett dumt sätt att lösa detta problem. 115 00:10:00,840 --> 00:10:02,350 Vad skulle en typisk människa göra? 116 00:10:06,310 --> 00:10:07,550 Bra gjort. 117 00:10:07,550 --> 00:10:09,230 Så du skulle vända till mitten, till höger. 118 00:10:09,230 --> 00:10:12,050 Så du skulle vända ungefär till mitten, se här, och jag verkar 119 00:10:12,050 --> 00:10:14,520 att hitta mig själv i M avsnittet. 120 00:10:14,520 --> 00:10:17,710 OK, så M är helt klart inte vad jag letar efter. 121 00:10:17,710 --> 00:10:20,070 Och Mike till höger, så att säga, i detta avsnitt. 122 00:10:20,070 --> 00:10:22,930 Och som en del av er har sett förut, kan vi bokstavligen nu 123 00:10:22,930 --> 00:10:26,670 fortsätta att riva detta problem i halv. 124 00:10:26,670 --> 00:10:31,720 >> [Applåder] 125 00:10:31,720 --> 00:10:32,930 Du borde verkligen inte vara så imponerad. 126 00:10:32,930 --> 00:10:34,820 Riva ner sömmen är faktiskt inte så svårt. 127 00:10:34,820 --> 00:10:36,040 De verkliga människor gör på det här sättet. 128 00:10:36,040 --> 00:10:39,510 Men ner sömmen har vi nu två problem, vilka 129 00:10:39,510 --> 00:10:40,360 vilket är hälften så stor. 130 00:10:40,360 --> 00:10:43,430 Och vi kan bokstavligen kasta att hälften av problemet borta. 131 00:10:43,430 --> 00:10:46,450 Nu är vi kvar inte med 1.000 sidor, men, säg, 500. 132 00:10:46,450 --> 00:10:47,450 Så nu vad gör jag? 133 00:10:47,450 --> 00:10:50,080 Tja, en typisk människa gå ungefär i mitten igen. 134 00:10:50,080 --> 00:10:52,000 Och jag befinner mig ett R sektionen. 135 00:10:52,000 --> 00:10:52,950 Så inte riktigt där. 136 00:10:52,950 --> 00:10:55,890 Så återigen, jag kan riva detta problem i halv. 137 00:10:55,890 --> 00:10:56,395 [Applåder] 138 00:10:56,395 --> 00:10:57,645 Tack. 139 00:10:59,870 --> 00:11:03,260 Så nu har jag bara några 250 sidor. 140 00:11:03,260 --> 00:11:05,580 Och jag kan göra det igen och igen och igen och gå från 141 00:11:05,580 --> 00:11:09,200 125 ner till ungefär 60 till 30 till 15 och så vidare. 142 00:11:09,200 --> 00:11:13,880 Och slutligen, jag får reducerats till en av S sidor på 143 00:11:13,880 --> 00:11:17,370 som, om han är i telefonboken, bör Mike Smith vara. 144 00:11:17,370 --> 00:11:19,980 >> Nu är det en uppenbart ganska rimliga algoritm, 145 00:11:19,980 --> 00:11:22,200 och det är en en-gång-användning algoritm i detta fall. 146 00:11:22,200 --> 00:11:24,790 Men vad kan vi sortera på ta ifrån det? 147 00:11:24,790 --> 00:11:27,640 Tja, det första tillvägagångssättet, korrigera om naiv men det 148 00:11:27,640 --> 00:11:30,130 var, kan beskrivas med denna raka linje. 149 00:11:30,130 --> 00:11:32,920 Så om på x-axeln här säger vi att detta är storleken på 150 00:11:32,920 --> 00:11:36,240 problem, så som x-axeln går till höger, den 151 00:11:36,240 --> 00:11:37,400 Problemet blir större. 152 00:11:37,400 --> 00:11:38,940 Vad innebär det att vara större i 153 00:11:38,940 --> 00:11:40,140 sammanhang detta problem? 154 00:11:40,140 --> 00:11:41,750 Fler sidor i telefonboken. 155 00:11:41,750 --> 00:11:43,750 Det finns mer något vi kan kvantifiera. 156 00:11:43,750 --> 00:11:45,530 På y-axeln, tid att lösa. 157 00:11:45,530 --> 00:11:49,650 Så som axeln går upp, tar det förmodligen mer tid. 158 00:11:49,650 --> 00:11:52,640 Så att första metoden att söka linjärt från sidan 1 159 00:11:52,640 --> 00:11:57,050 till dot dot dot sid 1.000 är en linjär procedur, en linjär 160 00:11:57,050 --> 00:11:59,020 algoritm eller process. 161 00:11:59,020 --> 00:12:00,990 Och vi kan beskriva det med denna rät linje. 162 00:12:00,990 --> 00:12:04,050 Om jag lägger en ytterligare sida i telefonboken, det kommer att, i 163 00:12:04,050 --> 00:12:06,630 värsta fall ta mig en ytterligare sida flip 164 00:12:06,630 --> 00:12:07,810 att hitta Mike Smith. 165 00:12:07,810 --> 00:12:11,700 Om jag lägger 100 sidor, vänder 100 mer eller tidsenheter. 166 00:12:11,700 --> 00:12:13,210 >> Nu kan jag vara lite smart med detta. 167 00:12:13,210 --> 00:12:15,410 Jag behöver inte riktigt stänga en sida i taget. 168 00:12:15,410 --> 00:12:18,060 Jag kan göra saker som 2 vid en tidpunkt eller 4 vid en tidpunkt. 169 00:12:18,060 --> 00:12:20,220 Men även det är inte allt som i grunden bättre. 170 00:12:20,220 --> 00:12:23,030 Även om det är 2 vid en tidpunkt, ja, flyttar den typen av detta 171 00:12:23,030 --> 00:12:27,410 linje ner lite, och det betyder att det tar mindre tid ges 172 00:12:27,410 --> 00:12:28,730 samma antal sidor. 173 00:12:28,730 --> 00:12:30,430 Men det är inte i grunden bättre. 174 00:12:30,430 --> 00:12:33,080 Men vad gjorde vi bara, och vad gjorde ni alla gör 175 00:12:33,080 --> 00:12:34,160 instinktivt? 176 00:12:34,160 --> 00:12:37,350 Du uppnådde faktiskt lite ungefär så här, 177 00:12:37,350 --> 00:12:42,020 logaritmisk tid, varvid problemet kan växa och växa och 178 00:12:42,020 --> 00:12:45,210 växa men kostnaden för att lösa detta problem, den tid 179 00:12:45,210 --> 00:12:47,330 krävs för att lösa det problemet, inte 180 00:12:47,330 --> 00:12:49,270 växer nästan lika snabbt. 181 00:12:49,270 --> 00:12:52,880 Detta skulle vara en logaritmisk kurva, log n, där n är 182 00:12:52,880 --> 00:12:55,480 bara storleken på problemet, antalet sidor i detta 183 00:12:55,480 --> 00:12:56,180 telefonbok. 184 00:12:56,180 --> 00:12:57,650 Och vad innebär det i reala termer? 185 00:12:57,650 --> 00:13:00,500 Tja, om vi har liknande 500 personer i det här rummet just nu, 186 00:13:00,500 --> 00:13:02,330 eller snarare om vi har - 187 00:13:02,330 --> 00:13:05,520 blandning metafor, gjorde inte det exemplet ännu i år - 188 00:13:05,520 --> 00:13:08,900 så om vi har 500 sidor i telefonboken och vi fördubbla det till 189 00:13:08,900 --> 00:13:12,660 1.000, i detta mer intelligent modell flipping 190 00:13:12,660 --> 00:13:15,370 till mitten, hur många fler sidor tårar det ta att gå 191 00:13:15,370 --> 00:13:17,390 från 500 sidor till 1.000? 192 00:13:17,390 --> 00:13:19,510 Tja, bara en extra sida tår. 193 00:13:19,510 --> 00:13:22,440 Om du lämnade mig en 2.000 sida telefonbok, no big deal. 194 00:13:22,440 --> 00:13:25,070 Jag river bara det en extra gång. 195 00:13:25,070 --> 00:13:28,860 >> Så kort, kan storleken på problemet växer mycket snabbare 196 00:13:28,860 --> 00:13:30,650 än kostnaden att faktiskt lösa det. 197 00:13:30,650 --> 00:13:32,890 Nu är detta bara en sådan algoritm. 198 00:13:32,890 --> 00:13:35,480 Det finns andra som vi kan lösa på samma sätt. 199 00:13:35,480 --> 00:13:36,630 Och så varför inte vi göra det? 200 00:13:36,630 --> 00:13:39,650 Om du vill humor mig, om än tafatt här i Sanders, gå 201 00:13:39,650 --> 00:13:42,950 framåt, alla, om du kunde och stå upp på plats. 202 00:13:46,420 --> 00:13:49,040 Som du ser på skärmen här, detta är en algoritm, en 203 00:13:49,040 --> 00:13:52,110 processen, ett datorprogram om du vill, som skall utföras av 204 00:13:52,110 --> 00:13:53,850 människor som har bara 3 steg. 205 00:13:53,850 --> 00:13:55,010 Vi är redan på steg 1. 206 00:13:55,010 --> 00:13:55,840 Du har stått upp. 207 00:13:55,840 --> 00:13:58,120 Och nu tror på dig själv nummer 1. 208 00:13:58,120 --> 00:13:59,310 Det är ditt nuvarande nummer. 209 00:13:59,310 --> 00:14:00,990 Alla här är nummer 1. 210 00:14:00,990 --> 00:14:04,360 Steg 2, ihop av med någon stående, lägga till nummer 211 00:14:04,360 --> 00:14:07,155 tillsammans, och sedan anta summan som ditt nya nummer. 212 00:14:15,760 --> 00:14:18,730 En av er ska sitta ner och upprepa sedan. 213 00:14:29,260 --> 00:14:33,715 >> Högtalare 1: 205. 214 00:14:33,715 --> 00:14:34,210 David J. MALAN: Vad är det? 215 00:14:34,210 --> 00:14:35,200 Högtalare 1: 205. 216 00:14:35,200 --> 00:14:36,450 David J. MALAN: OK. 217 00:14:43,120 --> 00:14:44,605 Högtalare 2: Han har de andra. 218 00:14:58,120 --> 00:14:58,780 David J. MALAN: 205? 219 00:14:58,780 --> 00:14:59,666 SPEAKER 3: Ja. 220 00:14:59,666 --> 00:15:00,092 David J. MALAN: OK. 221 00:15:00,092 --> 00:15:00,518 3. 222 00:15:00,518 --> 00:15:02,040 TALARE 4: 400. 223 00:15:02,040 --> 00:15:02,350 TALARE 5: 5. 224 00:15:02,350 --> 00:15:04,640 700. 225 00:15:04,640 --> 00:15:05,890 David J. MALAN: Okej. 226 00:15:09,110 --> 00:15:11,965 Vid det här laget bör färre och färre människor stå. 227 00:15:14,690 --> 00:15:17,860 Det är här det blir mer besvärligt. 228 00:15:17,860 --> 00:15:18,660 Någon här. 229 00:15:18,660 --> 00:15:19,910 Här. 230 00:15:28,490 --> 00:15:31,170 Det värsta är att du också behöver mycket muntligt göra 231 00:15:31,170 --> 00:15:33,830 aritmetik framför hundratals Harvard 232 00:15:33,830 --> 00:15:35,080 undergrads. 233 00:15:40,790 --> 00:15:41,820 OK. 234 00:15:41,820 --> 00:15:43,140 Lite av en bugg här. 235 00:15:43,140 --> 00:15:43,490 Okej. 236 00:15:43,490 --> 00:15:44,490 Vad är ditt nummer? 237 00:15:44,490 --> 00:15:45,390 SPEAKER 6: Nio. 238 00:15:45,390 --> 00:15:45,815 David J. MALAN: Vad är det? 239 00:15:45,815 --> 00:15:46,330 SPEAKER 6: Nio. 240 00:15:46,330 --> 00:15:47,040 David J. MALAN: Nio. 241 00:15:47,040 --> 00:15:49,740 Okej. 242 00:15:49,740 --> 00:15:52,388 Vad är ditt nummer? 243 00:15:52,388 --> 00:15:53,780 SPEAKER 7: 179. 244 00:15:53,780 --> 00:15:55,570 David J. MALAN: 179? 245 00:15:55,570 --> 00:15:56,330 Okej. 246 00:15:56,330 --> 00:15:56,470 Bra. 247 00:15:56,470 --> 00:15:57,280 Så 188. 248 00:15:57,280 --> 00:15:58,430 Så ni kan sitta ner. 249 00:15:58,430 --> 00:15:59,090 Vad är ditt nummer? 250 00:15:59,090 --> 00:16:00,090 SPEAKER 8: 118. 251 00:16:00,090 --> 00:16:02,260 David J. MALAN: 118. 252 00:16:02,260 --> 00:16:05,310 Några smarta undergrad börja göra matten. 253 00:16:05,310 --> 00:16:05,590 Okej. 254 00:16:05,590 --> 00:16:07,050 118, 188. 255 00:16:07,050 --> 00:16:10,022 Vad har vi? 256 00:16:10,022 --> 00:16:10,990 TALARE 9: 71. 257 00:16:10,990 --> 00:16:13,884 David J. MALAN: 71. 258 00:16:13,884 --> 00:16:14,310 SPEAKER 10: 79. 259 00:16:14,310 --> 00:16:15,510 David J. MALAN: 79. 260 00:16:15,510 --> 00:16:17,100 Okej. 261 00:16:17,100 --> 00:16:18,080 SPEAKER 11: 47. 262 00:16:18,080 --> 00:16:19,100 David J. MALAN: 47. 263 00:16:19,100 --> 00:16:21,100 Vilket, lärare, som ger oss hur många? 264 00:16:24,100 --> 00:16:27,690 705 är svaret. 265 00:16:27,690 --> 00:16:29,905 Och det är i själva verket exakt korrekt. 266 00:16:35,060 --> 00:16:36,970 Nej, vi var faktiskt lite off där. 267 00:16:36,970 --> 00:16:40,435 >> Men hur ska detta ha fungerat? 268 00:16:40,435 --> 00:16:41,940 Vad ska just hänt? 269 00:16:41,940 --> 00:16:45,560 Så på varje iteration av denna algoritm, började vi med 270 00:16:45,560 --> 00:16:48,000 visst antal personer som står, och det var 271 00:16:48,000 --> 00:16:49,350 totala antalet N vid första. 272 00:16:49,350 --> 00:16:51,750 Då hälften av er satte sig och vi gick till n över 2. 273 00:16:51,750 --> 00:16:52,830 Då hälften av er satte sig ner. 274 00:16:52,830 --> 00:16:56,310 Vi gick till n över 4, n över 8, n över 16, och så vidare, 275 00:16:56,310 --> 00:16:59,080 tills, även om det slags upplöstes där på 276 00:16:59,080 --> 00:17:02,000 slut, i teorin, hade alla ihop sig i balkong och 277 00:17:02,000 --> 00:17:05,780 mezzanine och orkester här, skulle vi haft bara en ensam 278 00:17:05,780 --> 00:17:11,790 person som står med ett sammanlagt värde, i detta fall, med 705. 279 00:17:11,790 --> 00:17:14,460 Nu, vad betyder det, men för den löpande tiden? 280 00:17:14,460 --> 00:17:16,829 Tja tänka på om jag som människa hade gjort det manuellt. 281 00:17:16,829 --> 00:17:19,819 Jag skulle ha börjat ganska naivt, men korrekt med 1, 282 00:17:19,819 --> 00:17:23,740 2, 3, 4, 5, 6, 7, 8, och så vidare. 283 00:17:23,740 --> 00:17:24,920 Tar ganska lång tid. 284 00:17:24,920 --> 00:17:25,980 Så jag kan göra bättre, eller hur? 285 00:17:25,980 --> 00:17:27,690 I grundskolan behöver du inte bara räknas i sådana. 286 00:17:27,690 --> 00:17:28,109 Du räknar två och två. 287 00:17:28,109 --> 00:17:30,050 Så 2, 4, 6, 8, 10, 12. 288 00:17:30,050 --> 00:17:31,630 Och det blir mycket snabbare. 289 00:17:31,630 --> 00:17:34,620 Men nu grunden, genom att utnyttja den kollektiva 290 00:17:34,620 --> 00:17:37,070 intelligens av alla i det här rummet, kan vi uppnå en 291 00:17:37,070 --> 00:17:40,660 bromsa mycket mer om detta, varvid nu numret på den 292 00:17:40,660 --> 00:17:42,450 människor i det här rummet skulle fördubblas. 293 00:17:42,450 --> 00:17:45,940 Ytterligare 700 personer går in i detta rum för 1.400 personer, 294 00:17:45,940 --> 00:17:49,680 men det skulle bara ta oss en ytterligare variant av denna 295 00:17:49,680 --> 00:17:50,880 algoritm för att lösa. 296 00:17:50,880 --> 00:17:53,170 >> Och så allt dessa dagar, när vi har dessa enorma 297 00:17:53,170 --> 00:17:55,860 dataset på Facebook och Google och liknande, det är 298 00:17:55,860 --> 00:17:58,710 lösa problem med lite insikt, denna bit av 299 00:17:58,710 --> 00:18:02,280 skicklighet, som är tillåter oss alltmer att göra mycket, mycket 300 00:18:02,280 --> 00:18:05,150 kraftfullare saker med datorer idag. 301 00:18:05,150 --> 00:18:07,340 Om du gillar dessa typer av saker, kanske du har sett på 302 00:18:07,340 --> 00:18:10,650 Facebook CS50 egen Pussel Day kommer upp denna lördag. 303 00:18:10,650 --> 00:18:12,580 Om du vill delta i något som 304 00:18:12,580 --> 00:18:17,010 Detta innebär att du, i 2 eller 3 eller 4 grupper om 4, vill 305 00:18:17,010 --> 00:18:20,820 lösa några pussel som denna, står du en chans 306 00:18:20,820 --> 00:18:23,510 att vinna några fantastiska priser, bland vilka är en Wii och en del 307 00:18:23,510 --> 00:18:25,900 presentkort eller någon annan Facebook-swag. 308 00:18:25,900 --> 00:18:28,660 Denna lördag, klockan 3:00 PM, gå till 309 00:18:28,660 --> 00:18:33,440 cs50.net/rsvp för sådana. 310 00:18:33,440 --> 00:18:35,940 Och denna bild är online om du vill leka. 311 00:18:35,940 --> 00:18:38,010 Problemen i år ska vara nya. 312 00:18:38,010 --> 00:18:40,210 >> Du kanske märker i klassrummet också allt mer 313 00:18:40,210 --> 00:18:41,210 kameror i år. 314 00:18:41,210 --> 00:18:45,180 Så inte bara kommer kursen att filmas på vanligt sätt, CS50 315 00:18:45,180 --> 00:18:47,760 kan också delta i en dokumentär om högre 316 00:18:47,760 --> 00:18:50,370 utbildning som tittar på den omvandlande erfarenhet 317 00:18:50,370 --> 00:18:53,000 att en student kan ha i dessa dagar i en grundutbildning 318 00:18:53,000 --> 00:18:53,870 studier. 319 00:18:53,870 --> 00:18:56,990 Så mot dessa, då kommer vi inte bara att filma för 320 00:18:56,990 --> 00:19:00,170 det kommer vi att filma även för allt vår 321 00:19:00,170 --> 00:19:03,670 online-publik, liksom ibland denna publik här. 322 00:19:03,670 --> 00:19:05,880 Så vi välkommen till klassen i år vår Harvard 323 00:19:05,880 --> 00:19:08,190 Extension School studenter, Graduate School of Design, 324 00:19:08,190 --> 00:19:10,470 Utbildning, näringslivet skola, Kennedy School, 325 00:19:10,470 --> 00:19:12,970 juridisk fakultet, samt ett antal studenter från 326 00:19:12,970 --> 00:19:16,140 Belmont, Lexington, Newton och Watertown högstadier. 327 00:19:16,140 --> 00:19:17,120 Välkommen till er alla. 328 00:19:17,120 --> 00:19:20,070 Dessutom i år, kanske du har hört, Harvard och MIT, 329 00:19:20,070 --> 00:19:22,500 och Berkeley nu har ingått ett samarbete 330 00:19:22,500 --> 00:19:26,020 partnerskap, ett initiativ som kallas EDX, vilket är en 331 00:19:26,020 --> 00:19:28,650 initiativ att öppna upp utbildningen till alla större 332 00:19:28,650 --> 00:19:31,210 människor på nätet och i grunden börja göra 333 00:19:31,210 --> 00:19:34,400 forskning på en mycket större skala för hur människor lär sig. 334 00:19:34,400 --> 00:19:36,920 Och så CS50 blir skolans första kursen 335 00:19:36,920 --> 00:19:38,790 delta i detta initiativ också. 336 00:19:38,790 --> 00:19:41,320 Vilket innebär att du kommer att ha tillgång till alla de fler verktyg, 337 00:19:41,320 --> 00:19:44,020 desto mer läroplanen innehåll, desto mer videon 338 00:19:44,020 --> 00:19:48,190 innehåll som en följd också, som i går morse, den 339 00:19:48,190 --> 00:19:52,210 53.019 personer som har registrerat att ta CS50 tillsammans 340 00:19:52,210 --> 00:19:55,290 med er i år på Internet. 341 00:19:55,290 --> 00:19:56,530 Så utan - 342 00:19:56,530 --> 00:20:03,800 [Applåder] 343 00:20:03,800 --> 00:20:05,680 Så vad detta innebär, bland annat, är att 344 00:20:05,680 --> 00:20:07,770 lärare och jag har tillbringat en hel del tid detta 345 00:20:07,770 --> 00:20:10,600 sommar förbereder hösten, både på campus och på så 346 00:20:10,600 --> 00:20:13,580 att vi kan börja bygga upp en samling intressanta, om 347 00:20:13,580 --> 00:20:16,130 övertygande, att engagera pedagogiskt innehåll som 348 00:20:16,130 --> 00:20:22,490 fokuserar särskilt på mer intima fordon av 349 00:20:22,490 --> 00:20:23,960 ganska komplext material. 350 00:20:23,960 --> 00:20:26,210 >> Så utöver kursens föreläsningar och sektioner och 351 00:20:26,210 --> 00:20:28,300 Saker som kallas genomgångar som vi ska återkomma på bara en 352 00:20:28,300 --> 00:20:31,620 bit, vi har även dessa shorts i år som tillåter 353 00:20:31,620 --> 00:20:33,570 du att samarbeta med kursen från en annan vinkel 354 00:20:33,570 --> 00:20:34,520 helt och hållet. 355 00:20:34,520 --> 00:20:36,540 Så låt oss använda detta som en möjlighet att ta en snabb 356 00:20:36,540 --> 00:20:38,905 titt på en som diskuterar detta begreppet binärer. 357 00:20:38,905 --> 00:20:42,220 >> Så i datavetenskap, det finns saker som kallas algoritmer - 358 00:20:42,220 --> 00:20:44,610 två som vi tog bara en titt på - dessa förfaranden för 359 00:20:44,610 --> 00:20:45,690 lösa problem. 360 00:20:45,690 --> 00:20:46,770 Men i slutet av dagen, måste du 361 00:20:46,770 --> 00:20:48,730 representera information på något sätt. 362 00:20:48,730 --> 00:20:51,640 Och du måste representera den på ett sätt som en dator kan 363 00:20:51,640 --> 00:20:52,400 förstå. 364 00:20:52,400 --> 00:20:54,940 Och även om du inte riktigt förstår datorer och 365 00:20:54,940 --> 00:20:58,150 du är i att 76% just nu, har du förmodligen någon vag 366 00:20:58,150 --> 00:21:01,860 meningen att datorerna på något sätt handlar med 0 och 1, det binära 367 00:21:01,860 --> 00:21:03,160 systemet, så att säga. 368 00:21:03,160 --> 00:21:04,480 Nu varför är det så? 369 00:21:04,480 --> 00:21:07,060 Tja, det visar sig när datorer först kom till, om 370 00:21:07,060 --> 00:21:09,400 du behövs för att representera information, kan du göra det 371 00:21:09,400 --> 00:21:10,600 med el. 372 00:21:10,600 --> 00:21:13,460 Och även om detta är lite av en grov förenkling, en mycket 373 00:21:13,460 --> 00:21:16,190 enkelt sätt att registrera information är antingen 374 00:21:16,190 --> 00:21:18,000 slår att el på - 375 00:21:18,000 --> 00:21:20,460 en 1 i binär, så att säga - eller vrida 376 00:21:20,460 --> 00:21:22,100 att elektricitet av. 377 00:21:22,100 --> 00:21:24,080 >> Så om Barry, om du inte skulle ha något emot, kunde vi dämpa belysningen 378 00:21:24,080 --> 00:21:26,000 helt för ett ögonblick? 379 00:21:26,000 --> 00:21:29,730 Detta är här ett mycket meningslöst binär 0. 380 00:21:29,730 --> 00:21:33,830 Om vi ​​vänder ljuset tillbaka upp, nu Sanders Theatre är 381 00:21:33,830 --> 00:21:35,860 representerar binära värdet 1. 382 00:21:35,860 --> 00:21:38,710 Tyvärr, med bara en bit, med bara en uppsättning av 383 00:21:38,710 --> 00:21:41,070 ljus, kan vi endast representerar två siffror i 384 00:21:41,070 --> 00:21:42,690 värld, 0 och 1. 385 00:21:42,690 --> 00:21:44,470 Och det skulle vara trevligt om datorer kunde räkna en 386 00:21:44,470 --> 00:21:45,340 lite högre än det. 387 00:21:45,340 --> 00:21:46,370 Men de verkligen kan. 388 00:21:46,370 --> 00:21:49,230 Så låt mig dra upp på skärmen här vår vän Nate Hardison 389 00:21:49,230 --> 00:21:52,000 som kommer att ge oss en snabb titt under loppet av bara några 390 00:21:52,000 --> 00:21:54,680 minuter vid denna föreställning om binära. 391 00:21:54,680 --> 00:22:01,870 >> [VIDEOAVSPELNING] 392 00:22:01,870 --> 00:22:03,450 NATE Hardison: Tillbaka när du lärt dig att läsa och skriva 393 00:22:03,450 --> 00:22:08,450 nummer, lärde dig om siffrorna 0 till 9. 394 00:22:08,450 --> 00:22:10,840 Att skriva heltal större än 9, lärde du dig att alla 395 00:22:10,840 --> 00:22:13,830 du var tvungen att göra var att använda en kombination av dessa siffror, 396 00:22:13,830 --> 00:22:21,000 som i 52 och 437. 397 00:22:21,000 --> 00:22:23,220 Så har detta sätt att skriva siffror en 398 00:22:23,220 --> 00:22:25,620 namn, decimalform. 399 00:22:25,620 --> 00:22:26,690 Varför decimal? 400 00:22:26,690 --> 00:22:30,340 Tja, betyder den latinska roten av en decimal, decem, 10. 401 00:22:30,340 --> 00:22:33,190 Och när du har 10 siffror i notskrift systemet, 10 402 00:22:33,190 --> 00:22:35,290 blir ett ganska speciellt nummer. 403 00:22:35,290 --> 00:22:38,950 Låt oss titta på hur många 437 skrivna i decimalform till 404 00:22:38,950 --> 00:22:40,340 förstå varför. 405 00:22:40,340 --> 00:22:50,200 >> Vi kan först bryta upp 437 i 400 plus 30 plus 7. 406 00:22:50,200 --> 00:22:56,050 Vi kan ta isär ännu mer så att vi har 4 gånger 100 407 00:22:56,050 --> 00:23:02,990 plus 3 ggr 10 plus 7 gånger 1. 408 00:23:02,990 --> 00:23:05,970 Kom ihåg att lära sig om dem plats, tiotals plats, 409 00:23:05,970 --> 00:23:08,050 hundratals plats, och så vidare? 410 00:23:08,050 --> 00:23:10,990 Det är precis där som kommer från. 411 00:23:10,990 --> 00:23:14,150 Och slutligen, kan vi se att vi har en massa befogenheter 10 412 00:23:14,150 --> 00:23:15,770 inbäddade i här. 413 00:23:15,770 --> 00:23:25,330 Vi har 4 gånger 10 till 2 plus 3 ggr 10 till 1 plus 414 00:23:25,330 --> 00:23:29,580 7 gånger 10 till 0. 415 00:23:29,580 --> 00:23:31,330 Så nu ser du varför 10 är en speciell 416 00:23:31,330 --> 00:23:33,240 Antalet decimalform. 417 00:23:33,240 --> 00:23:35,240 I själva verket har vi ett namn för det. 418 00:23:35,240 --> 00:23:38,170 Det kallas basen eftersom det är basen i exponenten 419 00:23:38,170 --> 00:23:39,960 i vår aritmetik här. 420 00:23:39,960 --> 00:23:43,190 >> Decimalform är inte det enda sättet att representera tal. 421 00:23:43,190 --> 00:23:48,020 Faktum är att även om vi bli av siffrorna 2 till 9, kan vi 422 00:23:48,020 --> 00:23:49,610 fortfarande representerar alla nummer som 423 00:23:49,610 --> 00:23:51,620 Vi kunde med decimal. 424 00:23:51,620 --> 00:23:56,220 Så nu har vi två siffror, 0 och 1, 2 är vår speciella 425 00:23:56,220 --> 00:23:59,070 nummer, basen för vår notation systemet. 426 00:23:59,070 --> 00:24:02,340 Namnet på denna notation systemet kallas binär eftersom 427 00:24:02,340 --> 00:24:04,890 prefixet "bi" betyder 2. 428 00:24:04,890 --> 00:24:08,130 Så istället nu att ha en de plats och tiotals plats och 429 00:24:08,130 --> 00:24:11,950 så vidare, har vi nu en de plats, en tvåor plats, en fyra 430 00:24:11,950 --> 00:24:15,420 plats, och så vidare, går upp genom befogenheter 2. 431 00:24:15,420 --> 00:24:17,320 Så låt oss se detta genom att göra några räkning. 432 00:24:17,320 --> 00:24:22,790 Så, 0 fortfarande 0 och 1 är fortfarande 1. 433 00:24:22,790 --> 00:24:25,700 Men nu när vi har en tvåor plats i stället för tiotals 434 00:24:25,700 --> 00:24:31,070 plats, motsvarar 10 siffran 2. 435 00:24:31,070 --> 00:24:36,240 För att få 3 lägger vi en till det och få 11. 436 00:24:36,240 --> 00:24:38,310 4, eftersom det finns nu en fyra plats, 437 00:24:38,310 --> 00:24:42,520 representeras av 100. 438 00:24:42,520 --> 00:24:47,280 Fem är 101. 439 00:24:47,280 --> 00:24:50,610 6 är 110. 440 00:24:50,610 --> 00:24:54,470 7 är 111. 441 00:24:54,470 --> 00:24:56,330 8, återigen, har sin egen plats. 442 00:24:56,330 --> 00:25:00,650 Så det är 1000. 443 00:25:00,650 --> 00:25:01,750 Och jag tror du fattar poängen. 444 00:25:01,750 --> 00:25:03,510 [END VIDEOAVSPELNING] 445 00:25:03,510 --> 00:25:06,900 >> David J. MALAN: Så, är detta att säga vad datorer gör och 446 00:25:06,900 --> 00:25:09,650 vilken Binärfilen är faktiskt inte så olikt från vad 447 00:25:09,650 --> 00:25:12,260 Vi har tagit för givet under några år, eller hur? 448 00:25:12,260 --> 00:25:14,330 Du räknar grundskolan lärde dig att räkna på exakt 449 00:25:14,330 --> 00:25:16,310 mode som Nate föreslog. 450 00:25:16,310 --> 00:25:18,250 Men du förmodligen inte riktigt tänkt på det sedan, 451 00:25:18,250 --> 00:25:19,990 det faktum att det är de plats, tiotals plats, och 452 00:25:19,990 --> 00:25:20,490 hundratals plats. 453 00:25:20,490 --> 00:25:21,185 Och det är ganska godtycklig. 454 00:25:21,185 --> 00:25:24,090 Och faktiskt, datorer helt enkelt använda denna annorlunda bas. 455 00:25:24,090 --> 00:25:27,430 Men i slutet av dagen, att faktiskt fysiskt representera 456 00:25:27,430 --> 00:25:30,100 denna föreställning om en 0 och 1, du uppenbarligen inte bara vrida 457 00:25:30,100 --> 00:25:31,630 lampor på och av nödvändighet. 458 00:25:31,630 --> 00:25:33,960 Du måste göra det på ett mycket mer finkornig skala. 459 00:25:33,960 --> 00:25:36,240 Och genom mer finkornig, kanske du kommer ihåg denna fåniga 460 00:25:36,240 --> 00:25:38,990 liten leksak från barndomen, Woolly Willy och dessa små 461 00:25:38,990 --> 00:25:40,360 magnetiska partiklar. 462 00:25:40,360 --> 00:25:43,830 >> Så magnetiska partiklar är något som du kan anpassa 463 00:25:43,830 --> 00:25:45,720 i ett par olika riktningar, kanske 464 00:25:45,720 --> 00:25:47,780 nord-syd eller syd-nord. 465 00:25:47,780 --> 00:25:50,340 Och så en massa fysiska inkarnationer av teknik 466 00:25:50,340 --> 00:25:53,410 dessa dagar som använder binära, som använder 0 och 1, helt enkelt 467 00:25:53,410 --> 00:25:58,190 har magnetism på insidan som anpassar saker, upp-ner eller 468 00:25:58,190 --> 00:26:01,970 ned-upp, med därigenom representerar en 0 eller en 1, 469 00:26:01,970 --> 00:26:02,750 respektive. 470 00:26:02,750 --> 00:26:05,360 Så ja, låt oss gå bort från det abstrakta här och 471 00:26:05,360 --> 00:26:07,580 titta på insidan av vad är en mer traditionell 472 00:26:07,580 --> 00:26:08,640 datorns hårddisk. 473 00:26:08,640 --> 00:26:10,980 Den här råkar vara lite större på skärmen i att det är 474 00:26:10,980 --> 00:26:12,420 från en stationär dator. 475 00:26:12,420 --> 00:26:15,670 Men bärbara datorer idag har fortfarande samma teknik, men är 476 00:26:15,670 --> 00:26:18,190 successivt ersätts av mer avancerade saker som 477 00:26:18,190 --> 00:26:20,490 har faktiskt inga rörliga delar. 478 00:26:20,490 --> 00:26:22,440 Insidan då en hårddisk. 479 00:26:22,440 --> 00:26:23,610 >> [VIDEOAVSPELNING] 480 00:26:23,610 --> 00:26:26,320 SPEAKER 12: Hårddisken är där din dator lagrar de flesta av 481 00:26:26,320 --> 00:26:27,870 dess permanenta uppgifter. 482 00:26:27,870 --> 00:26:31,600 För att göra det, reser data från RAM samt programvara 483 00:26:31,600 --> 00:26:35,290 signaler som talar om för hårddisken hur man lagrar dessa data. 484 00:26:35,290 --> 00:26:38,000 De hårda drivkretsar översätter dessa signaler till 485 00:26:38,000 --> 00:26:40,130 spänningsvariationer. 486 00:26:40,130 --> 00:26:43,700 Dessa i sin tur styr hårddiskens rörliga delar, några av 487 00:26:43,700 --> 00:26:46,750 de få rörliga delar kvar i den moderna datorn. 488 00:26:46,750 --> 00:26:49,460 Några av de signaler styr en motor som roterar 489 00:26:49,460 --> 00:26:51,300 metallbelagda skivorna. 490 00:26:51,300 --> 00:26:54,670 Dina uppgifter faktiskt lagras på dessa fat. 491 00:26:54,670 --> 00:26:57,810 Andra signaler flyttar läs-skriv huvudet att läsa eller 492 00:26:57,810 --> 00:26:59,900 skriva data på skivorna. 493 00:26:59,900 --> 00:27:03,520 Denna maskin är så exakt att ett mänskligt hårstrå kunde inte 494 00:27:03,520 --> 00:27:06,470 även passera mellan huvudena och spinning skivorna. 495 00:27:06,470 --> 00:27:08,780 Ändå fungerar alla på fantastiska hastigheter. 496 00:27:08,780 --> 00:27:09,520 [END VIDEOAVSPELNING] 497 00:27:09,520 --> 00:27:11,410 >> David J. MALAN: Så om vi zooma nu på vad som är faktiskt 498 00:27:11,410 --> 00:27:14,300 händer på toppen av dessa skivorna i termer av 499 00:27:14,300 --> 00:27:17,470 magnetism har vi denna andra av två utseende. 500 00:27:17,470 --> 00:27:17,755 >> [VIDEOAVSPELNING] 501 00:27:17,755 --> 00:27:20,820 SPEAKER 13: Låt oss titta på vad vi just såg i slow-motion. 502 00:27:20,820 --> 00:27:23,300 När en kort puls av elektricitet skickas till 503 00:27:23,300 --> 00:27:26,520 läs-skriv huvudet, vänder det på en liten elektromagnet för en 504 00:27:26,520 --> 00:27:28,110 bråkdelen av en sekund. 505 00:27:28,110 --> 00:27:31,320 Magneten skapar ett fält som ändrar polariteten hos 506 00:27:31,320 --> 00:27:34,280 en liten, liten del av metallpartiklar som täcker 507 00:27:34,280 --> 00:27:35,790 varje tallrik yta. 508 00:27:35,790 --> 00:27:39,090 Ett mönster serie av dessa små laddade upp områden på disken 509 00:27:39,090 --> 00:27:41,650 representerar en enda bit av data i det binära talet 510 00:27:41,650 --> 00:27:43,680 som används av datorer. 511 00:27:43,680 --> 00:27:45,977 Nu, om strömmen sänds en väg genom läs-skriv 512 00:27:45,977 --> 00:27:49,030 huvud, är området polariserad i en riktning. 513 00:27:49,030 --> 00:27:51,110 Om strömmen är inställd i den motsatta riktningen, den 514 00:27:51,110 --> 00:27:53,070 polarisering är omvänd. 515 00:27:53,070 --> 00:27:55,540 Hur får man data från hårddisken? 516 00:27:55,540 --> 00:27:57,270 Bara vända processen. 517 00:27:57,270 --> 00:27:59,670 Så det är partiklarna på disken som får strömmen i 518 00:27:59,670 --> 00:28:01,190 läs-skriv huvudet rör sig. 519 00:28:01,190 --> 00:28:04,090 Sätt ihop miljontals dessa magnetiserade segment och du har 520 00:28:04,090 --> 00:28:05,300 fick en fil. 521 00:28:05,300 --> 00:28:08,600 Nu kan delar av en fil ska utspridda över 522 00:28:08,600 --> 00:28:11,140 en enhet har fat, ungefär som röran av 523 00:28:11,140 --> 00:28:13,140 papper på skrivbordet. 524 00:28:13,140 --> 00:28:16,680 Så en särskild extra fil håller reda på var allting finns. 525 00:28:16,680 --> 00:28:18,560 Önskar du inte att du hade något sådant? 526 00:28:18,560 --> 00:28:19,990 [END VIDEOAVSPELNING] 527 00:28:19,990 --> 00:28:21,200 >> David J. MALAN: Ja. 528 00:28:21,200 --> 00:28:25,420 Så har vi denna förmåga att representera information, siffror 529 00:28:25,420 --> 00:28:26,310 på en mycket låg nivå. 530 00:28:26,310 --> 00:28:29,920 Vi har ett fysiskt sätt att representera samma sak. 531 00:28:29,920 --> 00:28:32,710 Men vi kan inte riktigt göra så mycket av intresse men 532 00:28:32,710 --> 00:28:34,580 annat än möjligen lite aritmetik och matematik. 533 00:28:34,580 --> 00:28:37,660 Vi har ingen möjlighet att representera så långt saker som 534 00:28:37,660 --> 00:28:40,310 bokstäver så att vi människor kan kommunicera 535 00:28:40,310 --> 00:28:41,970 användning av dessa samma anordningar. 536 00:28:41,970 --> 00:28:45,710 Men tack och lov finns det kodningar, mönster av 0 och 537 00:28:45,710 --> 00:28:49,240 1s, som representerar högre nivå konstruktioner som a och b 538 00:28:49,240 --> 00:28:52,740 och c och hela meningar och stycken och liknande. 539 00:28:52,740 --> 00:28:56,070 Och så ASCII, vilket är en akronym som refererar till detta 540 00:28:56,070 --> 00:29:00,410 kodningssystem varvid ett antal representerar en viss bokstav. 541 00:29:00,410 --> 00:29:04,580 >> Till exempel är antalet som vi känner som decimalvärde 65 542 00:29:04,580 --> 00:29:06,980 känt som bokstav A till datorer. 543 00:29:06,980 --> 00:29:10,700 Det decimala värdet av 97 i datorer är känd som en 544 00:29:10,700 --> 00:29:11,980 gemena en. 545 00:29:11,980 --> 00:29:13,070 Och vad betyder det egentligen? 546 00:29:13,070 --> 00:29:15,520 Tja, även om Nate nyss bara räknas upp 547 00:29:15,520 --> 00:29:20,460 0 till 8, om vi skulle fortsätta räkna upp till 65 eller 548 00:29:20,460 --> 00:29:24,180 ytterligare till 97, mönstret av 0 och 1 att han skulle ha 549 00:29:24,180 --> 00:29:27,810 ritas på skärmen skulle vara precis vad en dator använder 550 00:29:27,810 --> 00:29:30,300 att representera bokstaven A i alla mössor eller 551 00:29:30,300 --> 00:29:32,470 bokstaven A i gemener. 552 00:29:32,470 --> 00:29:35,460 Och faktiskt, det finns en hel system till detta. 553 00:29:35,460 --> 00:29:38,170 Detta är en, vid första anblicken, överväldigande diagram av 554 00:29:38,170 --> 00:29:41,150 kodningar, men om du bara fokusera på den högra halvan här, 555 00:29:41,150 --> 00:29:45,820 Observera I denna mittspalten vi har denna föreställning om siffror 556 00:29:45,820 --> 00:29:46,860 följt av bokstäver. 557 00:29:46,860 --> 00:29:48,640 Och på toppen har vi 32. 558 00:29:48,640 --> 00:29:53,270 Och karaktären, röding, som 32, heltalet hänvisar 559 00:29:53,270 --> 00:29:55,220 är tydligen mellanslagstangenten karaktär. 560 00:29:55,220 --> 00:29:57,350 När du träffar tecknet mellanslag på din bärbara dator, 561 00:29:57,350 --> 00:30:00,110 bra, vad du verkligen skickar ett nummer, ett mönster 562 00:30:00,110 --> 00:30:02,620 av 0 och 1, ett flöde av el om du vill, 563 00:30:02,620 --> 00:30:05,630 representerar de 0s och 1s att datorn då 564 00:30:05,630 --> 00:30:08,190 tolkar som ett mellanslag på skärmen. 565 00:30:08,190 --> 00:30:10,070 Ett utropstecken är 33. 566 00:30:10,070 --> 00:30:11,210 Citattecken är 34. 567 00:30:11,210 --> 00:30:14,890 Och om vi rulla ner här under till höger, ser vi att 568 00:30:14,890 --> 00:30:18,840 65 är verkligen A och 97 är verkligen små bokstäver en. 569 00:30:18,840 --> 00:30:21,690 >> Och så nu när vi har den här kodningsschema kan vi börja 570 00:30:21,690 --> 00:30:22,920 att stava saker. 571 00:30:22,920 --> 00:30:27,180 Faktum datorer uttrycker typiskt sig i standard 572 00:30:27,180 --> 00:30:29,980 enheter, inte med en individuell bit, som återigen är inte alla 573 00:30:29,980 --> 00:30:33,630 att bra att bara representera 0 eller 1, lampor på eller av, men 574 00:30:33,630 --> 00:30:35,390 snarare använder sekvenser av bitar. 575 00:30:35,390 --> 00:30:37,610 Och den vanligaste måttenhet, som ni säkert vet 576 00:30:37,610 --> 00:30:39,370 och eller åtminstone sluta, är en byte. 577 00:30:39,370 --> 00:30:43,820 En byte är bara åtta bitar, åtta 0s eller 1s i rad. 578 00:30:43,820 --> 00:30:45,950 Så vi kan börja stava saker. 579 00:30:45,950 --> 00:30:48,990 Och så, om vi kunde, varför inte prova det här lite 580 00:30:48,990 --> 00:30:50,440 kollektivt här. 581 00:30:50,440 --> 00:30:53,630 Finns det åtta personer i det här rummet som skulle vara villiga att 582 00:30:53,630 --> 00:30:54,660 komma upp på scenen? 583 00:30:54,660 --> 00:30:57,790 Du måste vara bekväm visas på kameran, men du 584 00:30:57,790 --> 00:30:59,860 inte verkligen behöver veta, annars, vad är 585 00:30:59,860 --> 00:31:01,550 pågår ännu. 586 00:31:01,550 --> 00:31:05,080 Jag ser en person som frivilligt hit. 587 00:31:05,080 --> 00:31:16,220 Två, tre, fyra, fem, sex, sju, och vad sägs om åtta. 588 00:31:16,220 --> 00:31:16,800 Kom upp. 589 00:31:16,800 --> 00:31:20,390 >> Så du är på väg att representera en byte av människor. 590 00:31:20,390 --> 00:31:26,750 Låt mig har du vara 128 plats, du 64 plats, du 591 00:31:26,750 --> 00:31:28,050 den 32 plats. 592 00:31:28,050 --> 00:31:30,530 Men vi ska mycket snabbt måste vända denna. 593 00:31:30,530 --> 00:31:33,030 Så låt mig träffa er alla där borta. 594 00:31:33,030 --> 00:31:37,230 Och du ska vara i 128 plats hela vägen hit. 595 00:31:37,230 --> 00:31:39,500 Ungefär som hundratals plats och tusentals plats skulle 596 00:31:39,500 --> 00:31:42,050 vara längre till vänster, vill vi det största platshållare 597 00:31:42,050 --> 00:31:43,600 att vara här till vänster också. 598 00:31:43,600 --> 00:31:53,090 Vi har 64s: s 32, 16-talet, 8 s, 4 s, 2 s, och 1: or. 599 00:31:53,090 --> 00:31:53,900 Utmärkt. 600 00:31:53,900 --> 00:31:56,090 Så nu har vi - 601 00:31:56,090 --> 00:31:58,050 OK, du kan hjälpa mig. 602 00:31:58,050 --> 00:32:00,085 Så nu har vi - vad heter du? 603 00:32:00,085 --> 00:32:00,420 JOANNE: Joanne. 604 00:32:00,420 --> 00:32:00,830 David J. MALAN: Joanne. 605 00:32:00,830 --> 00:32:04,100 Så Joanne och jag ska nu råda dessa killar om hur vi 606 00:32:04,100 --> 00:32:05,860 kan gå stavning något. 607 00:32:05,860 --> 00:32:07,730 Så på ryggen på sina papper, de har en 608 00:32:07,730 --> 00:32:10,160 liten fusklapp som kommer att berätta om 609 00:32:10,160 --> 00:32:12,590 de representerar en 0 eller en 1. 610 00:32:12,590 --> 00:32:15,870 Och varför inte för enkelhetens skull, vi representerar 0 genom att bara 611 00:32:15,870 --> 00:32:17,440 stod där tafatt. 612 00:32:17,440 --> 00:32:18,220 Mycket bra. 613 00:32:18,220 --> 00:32:22,060 Eller en 1 genom att höja handen, vilket motsvarar en 1. 614 00:32:22,060 --> 00:32:25,430 Och låt oss se om vi inte kan skriva in en fyra tecken 615 00:32:25,430 --> 00:32:26,250 fras här. 616 00:32:26,250 --> 00:32:30,930 >> Så, sätt igång nu, volontärer och exekvera runt en av 617 00:32:30,930 --> 00:32:33,390 höja handen om du är en 1 eller hålla den 618 00:32:33,390 --> 00:32:36,820 ner om du är en 0. 619 00:32:36,820 --> 00:32:42,280 Så, nu när vi har dessa tre händerna, vilket nummer, 620 00:32:42,280 --> 00:32:45,670 alla andra, de är representerar egentligen? 621 00:32:45,670 --> 00:32:45,950 OK. 622 00:32:45,950 --> 00:32:46,290 67. 623 00:32:46,290 --> 00:32:46,910 Varför? 624 00:32:46,910 --> 00:32:47,830 Tja, snabb förnuft kontrollera. 625 00:32:47,830 --> 00:32:53,200 64 plats, eftersom det är en 1, är det som 1 gånger 64 plus 1 626 00:32:53,200 --> 00:32:56,565 ggr 2, så det är 66 plus 1 gånger 1. 627 00:32:56,565 --> 00:32:58,470 Det är plus 1, så 67. 628 00:32:58,470 --> 00:33:01,020 Så nu dessa killar är tillsammans representerar 67 629 00:33:01,020 --> 00:33:04,110 vilket motsvarar tydligen vad här i ASCII! 630 00:33:04,110 --> 00:33:04,380 OK. 631 00:33:04,380 --> 00:33:05,140 Så en c. 632 00:33:05,140 --> 00:33:05,510 Okej. 633 00:33:05,510 --> 00:33:07,400 Så låt oss nu gå vidare till runda två. 634 00:33:07,400 --> 00:33:08,940 Alla börjar med händerna nedåt. 635 00:33:08,940 --> 00:33:10,590 Och i omgång två - 636 00:33:10,590 --> 00:33:12,410 faktiskt finns det inte mycket av en roll här, antar jag, men 637 00:33:12,410 --> 00:33:13,130 vi låtsas. 638 00:33:13,130 --> 00:33:17,690 Så runda två, höja eller sänka dina händer. 639 00:33:17,690 --> 00:33:18,380 >> Okej. 640 00:33:18,380 --> 00:33:22,700 Publik, vad är det vi nu uttrycker är 83. 641 00:33:22,700 --> 00:33:23,910 Så du kan göra matematiken. 642 00:33:23,910 --> 00:33:27,000 Men för någon vars hand är upp, lägger du i det antal som 643 00:33:27,000 --> 00:33:27,670 de representerar. 644 00:33:27,670 --> 00:33:29,470 Så nu har vi 83. 645 00:33:29,470 --> 00:33:32,140 Låt oss utöka fusklapp lite, och vi har nu -? 646 00:33:32,140 --> 00:33:34,340 [OHÖRBAR] 647 00:33:34,340 --> 00:33:35,370 David J. MALAN: OK. 648 00:33:35,370 --> 00:33:36,740 Detta kan vara uppenbart vart vi ska här, men 649 00:33:36,740 --> 00:33:40,080 ändå runda tre. 650 00:33:40,080 --> 00:33:40,455 OK. 651 00:33:40,455 --> 00:33:41,730 Omgång tre är bra att gå ner dit. 652 00:33:41,730 --> 00:33:44,450 Så rund tre, vilket nummer är dessa killar nu 653 00:33:44,450 --> 00:33:45,700 representerar? 654 00:33:47,940 --> 00:33:48,200 OK. 655 00:33:48,200 --> 00:33:51,770 Jag hörde 53, som nu representerar? 656 00:33:51,770 --> 00:33:54,550 Intressant. 657 00:33:54,550 --> 00:33:58,630 Nu varför denna typ av räknare intuitivt resultat, eller hur? 658 00:33:58,630 --> 00:34:00,890 Om vi ​​vill representera 5 - vi alla vet förmodligen 659 00:34:00,890 --> 00:34:01,770 där detta kommer - 660 00:34:01,770 --> 00:34:05,230 varför inte jag höjer bara 4 plats och 1 plats? 661 00:34:05,230 --> 00:34:07,340 >> Tja, inser att det finns en skillnad i grunden, 662 00:34:07,340 --> 00:34:09,630 mellan hur en dator tolkar dessa bitar. 663 00:34:09,630 --> 00:34:13,030 Om du försöker att representera nummer 5, så absolut, 664 00:34:13,030 --> 00:34:16,199 Vi höjer bara 4 handen nummer och höja handen nummer 1. 665 00:34:16,199 --> 00:34:17,880 Men vi är inte företräder siffror här. 666 00:34:17,880 --> 00:34:20,710 Sammanhanget här på scenen är att vi representerar 667 00:34:20,710 --> 00:34:22,300 tecken, eller tecken. 668 00:34:22,300 --> 00:34:25,139 Och i detta sammanhang att datorn måste inse att, 669 00:34:25,139 --> 00:34:28,780 Åh, är detta mönster av bitar inte ett nummer ensam, det är 670 00:34:28,780 --> 00:34:31,620 faktiskt representerar en högre nivå begrepp, i detta fall en 671 00:34:31,620 --> 00:34:32,840 alfabetisk bokstav. 672 00:34:32,840 --> 00:34:36,600 Så att det nu är som representerar antalet 5 med 673 00:34:36,600 --> 00:34:40,550 värdet 53 är på grund i ASCII det vi 674 00:34:40,550 --> 00:34:44,280 estetiskt ser som nummer 5 själv behöver en 675 00:34:44,280 --> 00:34:45,290 mönster av bitar. 676 00:34:45,290 --> 00:34:46,080 Eftersom varför? 677 00:34:46,080 --> 00:34:48,780 Tja, beslutade världen bara för att använda den lägre nummer, 0, 678 00:34:48,780 --> 00:34:51,989 1, 2, 3, för vad ser ut att vara ganska kryptiska saker. 679 00:34:51,989 --> 00:34:54,070 Och faktiskt, det är de tecken som inte finns på en 680 00:34:54,070 --> 00:34:56,870 tangentbord, särskilda uttryck som du behöver i en dator för att 681 00:34:56,870 --> 00:34:58,800 göra intressanta saker, men människor aldrig 682 00:34:58,800 --> 00:34:59,880 faktiskt skriva dem. 683 00:34:59,880 --> 00:35:02,080 Så 53 representerar faktiskt 5. 684 00:35:02,080 --> 00:35:08,320 Nu, precis som en sista sanity check, vilket nummer bör de 685 00:35:08,320 --> 00:35:10,356 utgör i ett ögonblick? 686 00:35:10,356 --> 00:35:10,752 Publiken: 48. 687 00:35:10,752 --> 00:35:11,150 David J. MALAN: OK. 688 00:35:11,150 --> 00:35:11,920 Så 48. 689 00:35:11,920 --> 00:35:12,770 Och faktiskt, gå vidare. 690 00:35:12,770 --> 00:35:14,020 Omgång fyra. 691 00:35:16,510 --> 00:35:20,540 16 plus 32 är faktiskt 48. 692 00:35:20,540 --> 00:35:22,830 Och så en stor applåd, om vi kunde, för vår 693 00:35:22,830 --> 00:35:25,382 åtta volontärer här. 694 00:35:25,382 --> 00:35:25,870 Tack. 695 00:35:25,870 --> 00:35:27,822 Du kan hålla en. 696 00:35:27,822 --> 00:35:29,286 Om du - 697 00:35:29,286 --> 00:35:30,536 Mycket bra gjort. 698 00:35:33,140 --> 00:35:34,360 Någon riktning är bra. 699 00:35:34,360 --> 00:35:37,950 >> Så har vi nu ett sätt inte bara tänka på hur man 700 00:35:37,950 --> 00:35:40,810 representera data och faktiskt representerar det fysiskt, 701 00:35:40,810 --> 00:35:43,650 men också att göra högre nivå saker ovanpå den. 702 00:35:43,650 --> 00:35:45,640 Faktum är att denna kommer att bli ett tema i hela dator 703 00:35:45,640 --> 00:35:48,630 vetenskapen att bygga mer och mer intressant komplex 704 00:35:48,630 --> 00:35:52,170 saker på toppen av ganska enkla idéer, i detta 705 00:35:52,170 --> 00:35:54,040 fall bara 0 och 1. 706 00:35:54,040 --> 00:35:57,270 När det gäller varför detta är bra, bra även om det i ett 707 00:35:57,270 --> 00:35:59,760 kurs som denna kommer vi att fokusera på fundamenta och 708 00:35:59,760 --> 00:36:03,120 programmering och problemlösning, kan du gå ut på 709 00:36:03,120 --> 00:36:04,970 datavetenskap i valfritt antal riktningar. 710 00:36:04,970 --> 00:36:07,600 I detta fallet här, är detta ett diagram som du har på 711 00:36:07,600 --> 00:36:11,120 baksidan av din inofficiella guide till CS på Harvard, en av 712 00:36:11,120 --> 00:36:12,450 dagens två utskrifter. 713 00:36:12,450 --> 00:36:14,270 Detta föreslår många olika riktningar i vilka 714 00:36:14,270 --> 00:36:16,270 Du kan gå efter en kurs som denna. 715 00:36:16,270 --> 00:36:19,170 Lär dig mer om artificiell intelligens, om grafik, 716 00:36:19,170 --> 00:36:22,230 om maskininlärning, om språket självt. 717 00:36:22,230 --> 00:36:23,975 Inse också, att det finns ännu andra vägar. 718 00:36:23,975 --> 00:36:26,550 Det finns fler matematiska banor i datavetenskap. 719 00:36:26,550 --> 00:36:29,020 Om du inte ens kan ta något som CS50 här 720 00:36:29,020 --> 00:36:30,930 falla, det finns introduktionskurser i våras. 721 00:36:30,930 --> 00:36:33,420 Datavetenskap 1, till exempel, är ännu en 722 00:36:33,420 --> 00:36:35,920 på ramp till denna nya värld. 723 00:36:35,920 --> 00:36:38,230 >> Nu som en sidoreplik av intresse för att lösa problem 724 00:36:38,230 --> 00:36:41,380 relaterade till kurser, inse att CS50 anges någon gång 725 00:36:41,380 --> 00:36:44,405 sedan att försöka lösa något av dessa problem, problem känt 726 00:36:44,405 --> 00:36:47,500 som my.harvard, som många av er kanske använder faktiskt 727 00:36:47,500 --> 00:36:48,480 handla kurser. 728 00:36:48,480 --> 00:36:51,900 Men om inte, kolla in ett verktyg som detta, liksom andra 729 00:36:51,900 --> 00:36:54,130 ättlingar att några av våra tidigare studenter 730 00:36:54,130 --> 00:36:55,660 och personal har skapat. 731 00:36:55,660 --> 00:36:57,970 Men i Harvard Kurser, vilket är ett webbaserat verktyg - 732 00:36:57,970 --> 00:37:00,680 något som du kommer att kunna utforma och 733 00:37:00,680 --> 00:37:04,610 distribuera själv, liksom ytterligare andra saker också, genom 734 00:37:04,610 --> 00:37:05,920 slutet av terminen. 735 00:37:05,920 --> 00:37:08,890 Inse att detta bygger på en öppen datamängd, i detta fall 736 00:37:08,890 --> 00:37:11,350 en kurskatalog och tillåter eleverna i detta fall 737 00:37:11,350 --> 00:37:14,180 utforska en ganska komplex datamängd. 738 00:37:14,180 --> 00:37:16,710 >> Vi grävde upp igår kväll ett par statistik baserad på de få 739 00:37:16,710 --> 00:37:18,200 tusen folk som har använt detta under 740 00:37:18,200 --> 00:37:19,380 de senaste dagarna. 741 00:37:19,380 --> 00:37:22,630 Om du har varit nyfiken på hur många kurser dina vänner 742 00:37:22,630 --> 00:37:25,900 faktiskt tenderar att handla, ja, idag är det data tyder på att 743 00:37:25,900 --> 00:37:29,260 7,6 är det genomsnittliga antalet kurser om 744 00:37:29,260 --> 00:37:30,470 någons inköpslista. 745 00:37:30,470 --> 00:37:33,730 Och nu ska jag ge er också, statistiken av de mest 746 00:37:33,730 --> 00:37:36,500 antal kurser på någons inköpslista. 747 00:37:36,500 --> 00:37:38,220 Och vi alla förmodligen känner någon som denna. 748 00:37:41,700 --> 00:37:44,610 201 är årets rekord. 749 00:37:44,610 --> 00:37:47,220 Nu några av våra tidigare studenter och personal som faktiskt 750 00:37:47,220 --> 00:37:52,210 sätta ihop ett klipp att måla en bild för er om vad detta 751 00:37:52,210 --> 00:37:55,220 väg datavetenskap och CS50 sig. 752 00:37:55,220 --> 00:37:58,350 Låt mig gå vidare och dra upp, tack vare mr Hahvahd här, en 753 00:37:58,350 --> 00:38:02,390 video som produceras av några av era föregångare. 754 00:38:02,390 --> 00:38:04,680 Om vi ​​kunde hålla lyser för detta. 755 00:38:07,860 --> 00:39:08,101 [VIDEOAVSPELNING] 756 00:39:08,101 --> 00:39:11,987 [END VIDEOAVSPELNING] 757 00:39:11,987 --> 00:39:14,160 >> SPEAKER 14: (sång) Vi tar vår tid med några repor, 758 00:39:14,160 --> 00:39:17,410 för öglor, evenemang, kan vi matcha, sammanställa använda vår 759 00:39:17,410 --> 00:39:20,370 bash, kommer denna term inte ett hål. 760 00:39:20,370 --> 00:39:23,970 Hacking roligt, några gratis måltider, föreläsningar är helt enkelt overkligt, 761 00:39:23,970 --> 00:39:28,200 vår beskärda är en så stor sak, det finns så mycket att älska. 762 00:39:28,200 --> 00:39:29,784 Gå David Malan. 763 00:39:29,784 --> 00:39:31,810 Walkthroughs, jag ösa inte. 764 00:39:31,810 --> 00:39:33,794 Kontorstid, är ingen misslyckas. 765 00:39:33,794 --> 00:39:36,274 Där du tror att du kodning, älskling? 766 00:39:36,274 --> 00:39:40,242 Hej, jag träffade bara du och det är galet, 767 00:39:40,242 --> 00:39:42,226 men här är vårt förnuft. 768 00:39:42,226 --> 00:39:44,210 Ta CS50. 769 00:39:44,210 --> 00:39:48,674 Det är svårt att koden rätt utan dig, älskling. 770 00:39:48,674 --> 00:39:50,658 Men här är vårt förnuft. 771 00:39:50,658 --> 00:39:52,146 Ta CS50. 772 00:39:52,146 --> 00:39:56,610 Hej, jag träffade bara du och det är galet, 773 00:39:56,610 --> 00:39:58,098 men här är vårt förnuft. 774 00:39:58,098 --> 00:40:00,082 Ta CS50. 775 00:40:00,082 --> 00:40:06,530 Och varje stjärna företaget vill anställa mig, en annan anledning. 776 00:40:06,530 --> 00:40:08,018 Ta CS50. 777 00:40:08,018 --> 00:40:12,978 Innan du kom in i mitt liv, jag kodat så illa, kodat jag så 778 00:40:12,978 --> 00:40:15,954 dåligt, kodad jag så, så illa. 779 00:40:15,954 --> 00:40:19,922 Innan du kom in i mitt liv, kodade jag så illa 780 00:40:19,922 --> 00:40:22,402 och jag kan inte gå tillbaka. 781 00:40:22,402 --> 00:40:37,410 Ta CS50. 782 00:40:37,410 --> 00:40:40,490 >> David J. MALAN: Jag hade ingen aning om att det skulle hända. 783 00:40:40,490 --> 00:40:44,030 Så ligger en mer allvarlig titt på vad framtiden. 784 00:40:44,030 --> 00:40:45,980 Så när det gäller förväntningar i kursen, 785 00:40:45,980 --> 00:40:48,490 du verkligen förväntas delta eller titta på kursens 786 00:40:48,490 --> 00:40:51,600 föreläsningar, skicka ett problem set, ta två frågesporter, skicka 787 00:40:51,600 --> 00:40:52,590 ett examensarbete. 788 00:40:52,590 --> 00:40:56,250 När det gäller betyg, inser att min kommentar vid öppningen 789 00:40:56,250 --> 00:40:58,190 om godkänd / underkänd, något som vi verkligen tar till 790 00:40:58,190 --> 00:40:59,310 hjärta i CS50. 791 00:40:59,310 --> 00:41:02,970 Det finns inte alls tillräckligt för en kultur vid Harvard att försöka 792 00:41:02,970 --> 00:41:04,940 något och riskera misslyckande. 793 00:41:04,940 --> 00:41:07,010 Faktum hade vi antalet studenter, och jag själv, i 794 00:41:07,010 --> 00:41:09,910 var särskilt som oroade skada din GPA eller 795 00:41:09,910 --> 00:41:13,170 få ett B i ungefär CS50. 796 00:41:13,170 --> 00:41:16,250 Och möjlighet att ta en kurs som denna och andra 797 00:41:16,250 --> 00:41:19,080 gateway kurser på den inledande nivån, godkänd / underkänd 798 00:41:19,080 --> 00:41:22,190 är en mycket underutnyttjad möjlighet vid denna högskola, 799 00:41:22,190 --> 00:41:22,620 i allmänhet. 800 00:41:22,620 --> 00:41:25,420 Och så du vet även jag inskriven i kursen 801 00:41:25,420 --> 00:41:28,430 ursprungligen för godkänd / underkänd kredit ensam. 802 00:41:28,430 --> 00:41:30,710 Och även om jag gjorde brytare i slutet av dagen, det var 803 00:41:30,710 --> 00:41:33,280 de fem första veckorna, upp till den femte måndag den 804 00:41:33,280 --> 00:41:36,020 termin som är cutoff, som får mig att faktiskt 805 00:41:36,020 --> 00:41:39,270 sätta foten i dessa nya vatten och faktiskt prova något 806 00:41:39,270 --> 00:41:41,520 mycket främmande och mycket obehagligt 807 00:41:41,520 --> 00:41:43,400 för mig på den tiden. 808 00:41:43,400 --> 00:41:47,130 >> Så vad nu, vilken roll de olika vinklar via vilken 809 00:41:47,130 --> 00:41:50,630 Du kan vända denna kurs tjäna så föreläsningar, är det upp till 810 00:41:50,630 --> 00:41:53,330 om du samarbeta med oss ​​personligen på denna plats. 811 00:41:53,330 --> 00:41:57,590 I själva verket vet vi statistiskt att ungefär 40% av er kommer 812 00:41:57,590 --> 00:41:59,530 typ av kommer och går under loppet av terminen. 813 00:41:59,530 --> 00:42:03,000 Och 10% av dig, kommer vi aldrig se igen efter dag. 814 00:42:03,000 --> 00:42:05,400 Och det är väl bra, för att vara ärlig. 815 00:42:05,400 --> 00:42:07,810 En av de definierande egenskaperna hos CS50 är 816 00:42:07,810 --> 00:42:10,160 att det är dessa otaliga resurser, några av 817 00:42:10,160 --> 00:42:12,570 som vi kommer att skramla igenom på bara ett ögonblick, inklusive 818 00:42:12,570 --> 00:42:15,320 föreläsningar och sektioner och saker som kallas genomgångar och 819 00:42:15,320 --> 00:42:16,720 kontorstid och liknande. 820 00:42:16,720 --> 00:42:18,890 Och det är mer resurser än den typiska studenten 821 00:42:18,890 --> 00:42:21,580 måste eller kan fysiskt dra nytta av. 822 00:42:21,580 --> 00:42:23,650 Men det är på grund av de disparata inlärningsmetoder som 823 00:42:23,650 --> 00:42:25,370 någon elev kropp manifesterar. 824 00:42:25,370 --> 00:42:28,120 Och så i föreläsningar, den primära rollen, som jag ser det, är 825 00:42:28,120 --> 00:42:31,650 inte verbalt trycka ut ganska komplext material och 826 00:42:31,650 --> 00:42:34,670 nödvändigtvis levererar alla krångligheter av 827 00:42:34,670 --> 00:42:36,910 grunderna som vi kommer att utforska den här terminen, men 828 00:42:36,910 --> 00:42:39,530 snarare att göra saker som vi har gjort hittills redan, 829 00:42:39,530 --> 00:42:42,350 dessa exempel, där människor på scenen, försöka 830 00:42:42,350 --> 00:42:45,340 måla en mental bild, och även skapa, vågar jag säga, en del 831 00:42:45,340 --> 00:42:46,450 av dessa minnesvärda stunder. 832 00:42:46,450 --> 00:42:49,200 Så att även när du kämpar med vissa ämnen, har du 833 00:42:49,200 --> 00:42:51,770 dessa minnen som, åh, trots att det var ganska 834 00:42:51,770 --> 00:42:54,770 abstrakt, den matte fick jag förlorat med bär 1, som det 835 00:42:54,770 --> 00:42:57,510 verkligen, i slutet av dagen, är inte så olik 836 00:42:57,510 --> 00:42:58,920 något jag redan vet. 837 00:42:58,920 --> 00:43:01,590 Och så den roll som föreläsningar kommer att tjäna, antingen personligen 838 00:43:01,590 --> 00:43:05,120 här i Sanders eller online på video, är verkligen att ställa 839 00:43:05,120 --> 00:43:08,170 skede mentalt för dig varje vecka för de olika begreppen 840 00:43:08,170 --> 00:43:10,240 och problem som vi kommer att dyka in. 841 00:43:10,240 --> 00:43:13,790 >> När det gäller de höga begrepp, de flesta av dessa ord 842 00:43:13,790 --> 00:43:16,340 kan flöda över huvudet för tillfället, och det är bra. 843 00:43:16,340 --> 00:43:18,495 För de av er som kommer in i kursen bekvämare 844 00:43:18,495 --> 00:43:20,150 vet av några av dessa ämnen. 845 00:43:20,150 --> 00:43:23,150 Men typiskt för att 10% av den klass som de har 846 00:43:23,150 --> 00:43:25,810 mycket mer bakgrund, med AP datavetenskap, 847 00:43:25,810 --> 00:43:28,200 programmering eftersom de var 12, inser att det kommer att finnas 848 00:43:28,200 --> 00:43:31,230 möjligheter i sektioner och i problemet sätter att gå hela 849 00:43:31,230 --> 00:43:34,240 mer in på djupet i olika ämnen, fyller i vilken 850 00:43:34,240 --> 00:43:36,710 luckor du kan ha på din high school eller före 851 00:43:36,710 --> 00:43:37,460 bakgrund. 852 00:43:37,460 --> 00:43:39,930 När det gäller de språk, inser att det språk vi 853 00:43:39,930 --> 00:43:42,550 användning i CS50 är i stort sett irrelevant vid 854 00:43:42,550 --> 00:43:43,220 slutet av dagen. 855 00:43:43,220 --> 00:43:47,090 Vi råkar använda främst som kallas ett språk C. Mot 856 00:43:47,090 --> 00:43:49,010 slutet av terminen presenterar vi webb-centrerad 857 00:43:49,010 --> 00:43:51,110 språk som PHP och Javascript. 858 00:43:51,110 --> 00:43:54,280 Men vi och andra kan lära en kurs så här i de flesta någon 859 00:43:54,280 --> 00:43:55,610 moderna högnivåspråk. 860 00:43:55,610 --> 00:43:58,520 Python och Ruby och andra är ganska populär i dessa dagar. 861 00:43:58,520 --> 00:44:00,970 Eftersom inser i slutet av dagen, du lär inte 862 00:44:00,970 --> 00:44:04,180 i denna kurs C. Du inte lär PHP eller Javascript. 863 00:44:04,180 --> 00:44:07,140 Du lär sig att lösa problem, vare webbaserat, 864 00:44:07,140 --> 00:44:10,480 datorbaserade, eller data-orienterade sig, med 865 00:44:10,480 --> 00:44:12,700 Dessa helt enkelt som verktyg. 866 00:44:12,700 --> 00:44:14,730 >> Nu, när det gäller logistik, kommer du att använda 867 00:44:14,730 --> 00:44:16,670 något, till slut, som kallas CS50 Appliance. 868 00:44:16,670 --> 00:44:19,350 Spelar ingen roll om du har en Mac, en PC, en Linux-dator, 869 00:44:19,350 --> 00:44:20,010 eller liknande. 870 00:44:20,010 --> 00:44:22,510 Du har fritt tillgänglig programvara startar nästa vecka 871 00:44:22,510 --> 00:44:25,460 som att använda CS50 Appliance, en virtuell 872 00:44:25,460 --> 00:44:28,020 miljö som du kommer att använda på din egen dator så att du 873 00:44:28,020 --> 00:44:31,120 och alla dina klasskamrater har en enhetlig Linux 874 00:44:31,120 --> 00:44:31,890 i detta fall. 875 00:44:31,890 --> 00:44:34,390 Det är problemet uppsättningar, men där du verkligen får 876 00:44:34,390 --> 00:44:35,780 händerna smutsiga i kursen. 877 00:44:35,780 --> 00:44:37,630 Och i slutet av dagen, det är problemet uppsättningar, jag 878 00:44:37,630 --> 00:44:39,680 tror som verkligen definierar en students 879 00:44:39,680 --> 00:44:41,380 erfarenhet i denna kurs. 880 00:44:41,380 --> 00:44:43,460 Inse att många av de problem uppsättningarna kommer att släppas 881 00:44:43,460 --> 00:44:46,430 i två upplagor, en standard tillägg som vi förväntar oss och 882 00:44:46,430 --> 00:44:49,550 uppmuntra 90% av klassen att dyka in. 883 00:44:49,550 --> 00:44:51,620 Men vi släpper också några problem drag 884 00:44:51,620 --> 00:44:52,920 så kallade hackare tillsatser. 885 00:44:52,920 --> 00:44:54,900 Och du vet att det är hacker tillägg eftersom på varje sida 886 00:44:54,900 --> 00:44:57,840 med en vattenstämpel står hacker tillägg på det. 887 00:44:57,840 --> 00:45:00,000 Och det är för denna demografiska av er som har AP 888 00:45:00,000 --> 00:45:02,890 datavetenskap med 10 års programmering under bältet 889 00:45:02,890 --> 00:45:05,640 och funderar på att fylla dessa luckor och att ha mer formella, 890 00:45:05,640 --> 00:45:07,370 snarare än självlärd, utbildning, kanske. 891 00:45:07,370 --> 00:45:10,410 Inse att det finns en mycket stor demografisk i 892 00:45:10,410 --> 00:45:13,090 klass som har precis samma mål. 893 00:45:13,090 --> 00:45:14,320 Du har fem sena dagar. 894 00:45:14,320 --> 00:45:16,490 Problem apparater är i allmänhet beror på torsdagar, men du kan 895 00:45:16,490 --> 00:45:18,440 förlänga fem av dessa tidsfrister använda dessa 896 00:45:18,440 --> 00:45:19,700 Saker som kallas sent dagar. 897 00:45:19,700 --> 00:45:22,590 Och vi kommer också släppa din lägsta poängen i slutet av 898 00:45:22,590 --> 00:45:25,400 termin per uppgifterna i kursplanen. 899 00:45:25,400 --> 00:45:27,800 >> Men en annan kännetecken för CS50 över 900 00:45:27,800 --> 00:45:29,830 åren blivit kontorstid. 901 00:45:29,830 --> 00:45:32,720 Det är en möjlighet som du såg visuellt i bilder lite 902 00:45:32,720 --> 00:45:35,850 sedan där vi samlar - tidigare i hus matsal 903 00:45:35,850 --> 00:45:37,780 hallar dessförinnan i källaren på vetenskap 904 00:45:37,780 --> 00:45:40,310 Center och i år i Annenberg Hall - fyra nätter en 905 00:45:40,310 --> 00:45:43,330 vecka från 20:00 till 11:00, där du kan ha denna mycket 906 00:45:43,330 --> 00:45:46,320 mycket gemensam erfarenhet av att arbeta på, kämpar 907 00:45:46,320 --> 00:45:49,300 genom, vissa problem, men med en avsevärt stöd 908 00:45:49,300 --> 00:45:50,380 struktur på plats. 909 00:45:50,380 --> 00:45:53,180 Faktum är att hur detta kommer att fungera kommer du fram till Annenberg 910 00:45:53,180 --> 00:45:55,160 Om du har några frågor under veckan, kommer du få 911 00:45:55,160 --> 00:45:58,060 din bärbara dator kommer du sitta ner, ta lite mat, och du kommer att logga 912 00:45:58,060 --> 00:46:01,520 till CS50 Diskutera, en webbaserad verktyg som undervisningen 913 00:46:01,520 --> 00:46:04,480 personal har utvecklats som gör att du kan skicka frågor 914 00:46:04,480 --> 00:46:07,910 och se uppföljning i en typisk diskussionsforum 915 00:46:07,910 --> 00:46:10,550 mening, med hjälp av etiketter och liknande och komplettera automatiskt till 916 00:46:10,550 --> 00:46:11,680 söka uppgifter. 917 00:46:11,680 --> 00:46:14,850 Men du kommer också att kunna, under de tider kontoret 918 00:46:14,850 --> 00:46:16,980 timmar, har dina frågor eskalerat till 919 00:46:16,980 --> 00:46:18,360 faktiska människor. 920 00:46:18,360 --> 00:46:21,430 Faktum är målet i slutändan så att en, vi börjar bygga 921 00:46:21,430 --> 00:46:24,040 upp under loppet av terminen en korpus med förhoppningsvis 922 00:46:24,040 --> 00:46:26,970 verkligen användbar information, gemensamma svar på vanliga 923 00:46:26,970 --> 00:46:29,640 frågor, så att du själv kan lösa problem 924 00:46:29,640 --> 00:46:33,490 och få misslyckades så snabbt som möjligt, men samtidigt ha 925 00:46:33,490 --> 00:46:37,210 lärare, vanligtvis 20 till 30 av undervisning medmänniskor och 926 00:46:37,210 --> 00:46:39,660 kurs assistenter, för personal på en gång. 927 00:46:39,660 --> 00:46:42,420 >> Vi kommer att ha vad som kallas den CS50 Greeter i Annenberg. 928 00:46:42,420 --> 00:46:46,710 Och när vi bestämmer det, vet du vad, den här frågan, 929 00:46:46,710 --> 00:46:48,780 Vi kan inte riktigt svara på ett effektivt på nätet. 930 00:46:48,780 --> 00:46:49,800 Vi behöver se din dator. 931 00:46:49,800 --> 00:46:50,710 Vi vill prata med dig en-på-en. 932 00:46:50,710 --> 00:46:51,340 På en. 933 00:46:51,340 --> 00:46:53,400 Du är verkligen kämpar och du därför vill prata 934 00:46:53,400 --> 00:46:56,010 en-mot-en tillsammans någon, kommer du att skickas till 935 00:46:56,010 --> 00:46:58,730 CS50 Greeter, en undervisning karl innehav, bokstavligen, en 936 00:46:58,730 --> 00:47:01,770 iPad som har elevernas namn på en sida, lärare är 937 00:47:01,770 --> 00:47:02,790 namn på den andra. 938 00:47:02,790 --> 00:47:04,760 Vi kommer att klicka på ditt namn följt av namnet på en 939 00:47:04,760 --> 00:47:06,860 lärare, och din datorskärm startar 940 00:47:06,860 --> 00:47:11,170 blinkar säger vänligen gå se Alice eller gå se Bob på 941 00:47:11,170 --> 00:47:11,980 Personalen tabellen. 942 00:47:11,980 --> 00:47:14,450 Och så på detta sätt kommer vi att kunna sända saker som 943 00:47:14,450 --> 00:47:17,610 effektivt som möjligt, samt vägleda dig mot 944 00:47:17,610 --> 00:47:19,910 lösningar allt lättare. 945 00:47:19,910 --> 00:47:22,970 I avsnitten kommer dessa att finnas möjligheter till mer 946 00:47:22,970 --> 00:47:25,570 intima Hands-on möjligheter med en av de 947 00:47:25,570 --> 00:47:29,040 undervisning stipendiater och 12 till 16 eller så av dina klasskamrater i 948 00:47:29,040 --> 00:47:31,900 som varje vecka kommer vi få problem i problemet set 949 00:47:31,900 --> 00:47:33,800 som ber en rad begreppsliga frågor och en 950 00:47:33,800 --> 00:47:35,740 Antalet bit-storlek programmering frågor som du 951 00:47:35,740 --> 00:47:37,690 kunde räkna ut på egen hand, och du kan arbeta på din 952 00:47:37,690 --> 00:47:40,020 egna, men i samband med där vi arbetar med 953 00:47:40,020 --> 00:47:42,870 kollektivt del av dessa problem och gå där 954 00:47:42,870 --> 00:47:44,570 olika samtal tar oss. 955 00:47:44,570 --> 00:47:48,010 >> Dessutom kommer i avsnitt du har möjlighet att 956 00:47:48,010 --> 00:47:50,450 granska inlagor läxor som du har gjort, din 957 00:47:50,450 --> 00:47:53,620 klasskamrater, ibland anonymiseras, alltid via opt-in- 958 00:47:53,620 --> 00:47:55,810 om du vill dela det arbete som du har skickat. 959 00:47:55,810 --> 00:47:58,030 Så det kommer verkligen vara en två riktningar konversation, 960 00:47:58,030 --> 00:48:00,840 en möjlighet att granska ditt eget arbete på ett mycket mer 961 00:48:00,840 --> 00:48:04,080 dynamisk känsla, snarare än att bara titta på en PDF-fil eller en 962 00:48:04,080 --> 00:48:06,920 utskrift och tänka på det i några sekunder och inte 963 00:48:06,920 --> 00:48:08,920 nödvändigtvis absorbera feedback som undervisningen 964 00:48:08,920 --> 00:48:10,150 personal har lämnat. 965 00:48:10,150 --> 00:48:12,540 Och du kommer att använda ett verktyg som här kallas CS50 utrymmen. 966 00:48:12,540 --> 00:48:15,670 För de som känner, det är det språk som kallas C vid toppen 967 00:48:15,670 --> 00:48:17,500 vänster, och du får veta detta över tiden. 968 00:48:17,500 --> 00:48:19,640 Men detta är ett webbaserat verktyg som vi använder i 969 00:48:19,640 --> 00:48:22,310 avsnitt som gör att du och din 15 eller så klasskamrater 970 00:48:22,310 --> 00:48:24,100 att logga in med din undervisning kolleger på 971 00:48:24,100 --> 00:48:24,980 framsidan av rummet. 972 00:48:24,980 --> 00:48:26,750 Du kommer att kunna skriva kod i det här fönstret. 973 00:48:26,750 --> 00:48:28,720 Du kommer att kunna chatta elektroniskt, om du inte är 974 00:48:28,720 --> 00:48:30,930 faktiskt i avsnitt vid just denna tidpunkt. 975 00:48:30,930 --> 00:48:33,940 Och din undervisning karl, när det blir dags att diskutera 976 00:48:33,940 --> 00:48:38,645 Alice eller Bob lösning i klassen, undervisningen karl kan 977 00:48:38,645 --> 00:48:41,380 klicka på en knapp och voila, projekt på skärmen, 978 00:48:41,380 --> 00:48:44,250 vad det eleven har arbetat på i just den 979 00:48:44,250 --> 00:48:44,990 tidpunkt. 980 00:48:44,990 --> 00:48:47,130 Så för de av er som har vänner som har tagit CS50 i 981 00:48:47,130 --> 00:48:49,750 det förflutna, inser att avsnitt har varit betydligt 982 00:48:49,750 --> 00:48:52,600 startas i år att vara allt mer aktiva, desto mer 983 00:48:52,600 --> 00:48:55,960 dynamisk, och verkligen en två-vägs konversation mellan undervisning 984 00:48:55,960 --> 00:48:58,190 personal och studenter. 985 00:48:58,190 --> 00:48:59,020 >> Och genomgångar. 986 00:48:59,020 --> 00:49:01,560 Så för dessa problemområden apparater erbjuder vi också inte bara 987 00:49:01,560 --> 00:49:04,210 specifikation själv, som i allmänhet är en ganska detaljerad 988 00:49:04,210 --> 00:49:07,380 PDF utan också saker kallas genomgångar där en 989 00:49:07,380 --> 00:49:11,000 medlem av lärare kommer att leda en vecka session 990 00:49:11,000 --> 00:49:13,210 som går bokstavligen dig genom problemet set, vilket 991 00:49:13,210 --> 00:49:15,720 dig tips och råd och utgångspunkter och är avsedd 992 00:49:15,720 --> 00:49:17,250 att be mycket vanliga 993 00:49:17,250 --> 00:49:19,360 fråga, var jag börja? 994 00:49:19,360 --> 00:49:21,990 Tja, börjar du antingen genom att dyka in i spec på sin 995 00:49:21,990 --> 00:49:25,100 egen eller genom att delta i eller titta på dessa genomgångar. 996 00:49:25,100 --> 00:49:27,420 Den första genomgång i själva verket kommer att vara på fredag. 997 00:49:27,420 --> 00:49:29,520 De kommer att vara på fredagar, inte så mycket för att vi tror att det kommer att bli 998 00:49:29,520 --> 00:49:32,160 en populär tid men eftersom vi sedan kan filma dem mycket tidigt 999 00:49:32,160 --> 00:49:34,380 i veckan för att få dem online av helgen så att du 1000 00:49:34,380 --> 00:49:37,670 ha så många dagar som möjligt att faktiskt bedriva den 1001 00:49:37,670 --> 00:49:38,390 innehåll också. 1002 00:49:38,390 --> 00:49:40,900 Men mer om detta i föreläsning på fredag. 1003 00:49:40,900 --> 00:49:43,620 >> Nu i termer av stödkonstruktionen, mest 1004 00:49:43,620 --> 00:49:46,430 betydande statistik är kanske 108 undervisningen 1005 00:49:46,430 --> 00:49:47,950 stipendiater och assistenter kurs att 1006 00:49:47,950 --> 00:49:49,730 Kursen har. 1007 00:49:49,730 --> 00:49:52,030 Om några av er som inte har motstridiga klasser skulle vilja 1008 00:49:52,030 --> 00:49:55,070 att gå med mig här uppe på scenen, det är dessa killar som kommer 1009 00:49:55,070 --> 00:49:57,990 slutändan verkligen definiera din upplevelse i kursen. 1010 00:50:06,750 --> 00:50:09,290 Jag hade en hel del undervisning Fellow lära mig klasser i 1011 00:50:09,290 --> 00:50:11,650 dagen, och jag minns mycket få av dem som uppriktigt sagt. 1012 00:50:11,650 --> 00:50:15,590 Men hittills minns jag fortfarande bland de få, min CS50 TF 1013 00:50:15,590 --> 00:50:18,100 som hjälpte mig verkligen svara på frågor, som verkligen hjälpt 1014 00:50:18,100 --> 00:50:20,690 mig när jag kämpade, och verkligen var en partner i detta 1015 00:50:20,690 --> 00:50:23,630 erfarenhet av att lära sig ett helt nytt värld. 1016 00:50:23,630 --> 00:50:26,410 I lite, kommer alla dessa killar med dig utanför för 1017 00:50:26,410 --> 00:50:29,010 tårta, som är en tradition av CS50, i tvärskeppet av 1018 00:50:29,010 --> 00:50:30,030 Memorial Hall. 1019 00:50:30,030 --> 00:50:32,320 >> Men låt mig först presentera dig för Nate 1020 00:50:32,320 --> 00:50:35,820 Hardison, igen, Rob Bowden, och Tommy MacWilliam detta 1021 00:50:35,820 --> 00:50:37,460 Årets kurs huvuden. 1022 00:50:37,460 --> 00:50:39,250 Om ni skulle träffa mig här i mitten. 1023 00:50:45,250 --> 00:50:47,910 De har alla förberett några inspirerande kommentarer. 1024 00:50:51,540 --> 00:50:52,550 >> TOMMY MACWILLIAM: Jag har inte förbereda något 1025 00:50:52,550 --> 00:50:53,665 inspirerande. 1026 00:50:53,665 --> 00:50:55,020 Men mitt namn är Tommy. 1027 00:50:55,020 --> 00:50:56,140 Jag är en senior i Mather. 1028 00:50:56,140 --> 00:50:57,325 Jag studerar datavetenskap. 1029 00:50:57,325 --> 00:50:59,490 Jag är verkligen glad över att vara på häcken laget och gå 1030 00:50:59,490 --> 00:51:01,365 genom CS50 resan med dig. 1031 00:51:01,365 --> 00:51:04,010 Vad jag verkligen gillar med CS50 är hur det verkligen lär dig 1032 00:51:04,010 --> 00:51:06,040 att tänka problem på ett nytt sätt. 1033 00:51:06,040 --> 00:51:08,570 Detta är verkligen en färdighet som kommer att bli ovärderlig oavsett 1034 00:51:08,570 --> 00:51:09,950 vilket fält du går in. 1035 00:51:09,950 --> 00:51:12,660 Och inte bara det, men vi erbjuder mer gratis godis än någon 1036 00:51:12,660 --> 00:51:13,910 andra kurs på campus. 1037 00:51:20,088 --> 00:51:22,210 Ja, och så jag ser verkligen fram emot att se vad 1038 00:51:22,210 --> 00:51:23,560 alla bygger den här terminen. 1039 00:51:23,560 --> 00:51:25,730 Och om någon har några frågor nu eller hela 1040 00:51:25,730 --> 00:51:27,770 terminen, definitivt gärna nå ut till mig och 1041 00:51:27,770 --> 00:51:29,020 Jag skulle vara glad att hjälpa till. 1042 00:51:31,450 --> 00:51:31,780 >> ROB BOWDEN: Hej. 1043 00:51:31,780 --> 00:51:32,530 Jag är Rob Bowden. 1044 00:51:32,530 --> 00:51:33,780 Jag är en senior i Kirkland. 1045 00:51:37,900 --> 00:51:39,760 Ja, det stämmer. 1046 00:51:39,760 --> 00:51:41,930 Vi är alla verkligen glada för detta nästa termin. 1047 00:51:41,930 --> 00:51:43,230 Vi hoppas att ni är glada. 1048 00:51:47,710 --> 00:51:49,410 Jag hade inte förväntat det. 1049 00:51:49,410 --> 00:51:50,390 Ja. 1050 00:51:50,390 --> 00:51:52,200 Så vi lägger så mycket möda på att göra detta 1051 00:51:52,200 --> 00:51:53,370 termin riktigt bra. 1052 00:51:53,370 --> 00:51:55,960 Och så länge du är villig att sätta i arbetet, finns det 1053 00:51:55,960 --> 00:51:57,840 så mycket du kan få ut av den här kursen. 1054 00:51:57,840 --> 00:52:00,130 Ah, vi - 1055 00:52:00,130 --> 00:52:01,380 ja. 1056 00:52:04,640 --> 00:52:08,300 Du kan få en hel del roliga i denna kurs. 1057 00:52:08,300 --> 00:52:10,500 Vi skulle inte ha en personalstyrka på 108 om du inte kunde få mycket 1058 00:52:10,500 --> 00:52:11,370 roligt av det. 1059 00:52:11,370 --> 00:52:15,300 Så bara försöka vara med och du kommer inte ångra det. 1060 00:52:23,190 --> 00:52:23,890 >> NATE Hardison: Hej, grabbar. 1061 00:52:23,890 --> 00:52:24,800 Jag är Nate. 1062 00:52:24,800 --> 00:52:27,570 Jag är handledare för kursen. 1063 00:52:27,570 --> 00:52:29,060 Jag är verkligen glad över att vara här. 1064 00:52:29,060 --> 00:52:30,960 Detta är mitt första år här. 1065 00:52:30,960 --> 00:52:34,210 Jag hoppas att ni alla tar den här kursen och njuta av det så mycket som 1066 00:52:34,210 --> 00:52:35,820 Jag har haft det så länge. 1067 00:52:35,820 --> 00:52:38,570 Och om du någonsin vill lära dig att räkna till 9 eller 10 i 1068 00:52:38,570 --> 00:52:41,730 binärt, kom prata med mig. 1069 00:52:41,730 --> 00:52:43,760 >> David J. MALAN: Så med risk för att lämna dessa killar här på 1070 00:52:43,760 --> 00:52:46,980 iscensätta lite tafatt, låt oss virvla igenom några av 1071 00:52:46,980 --> 00:52:49,370 de saker som väntar innan vi avbryta för tårta. 1072 00:52:49,370 --> 00:52:50,580 Vad är det som ligger framför? 1073 00:52:50,580 --> 00:52:53,490 Tja, om vi tar en snabb titt tillbaka på förra året, i problemet 1074 00:52:53,490 --> 00:52:56,010 satt 0, dök era föregångare till en programperiod 1075 00:52:56,010 --> 00:52:58,700 språk som kallas Scratch, ett grafiskt programmeringsspråk 1076 00:52:58,700 --> 00:53:01,220 du kommer att använda under de första dagarna av kursen börjar denna 1077 00:53:01,220 --> 00:53:04,390 Fredag ​​att lära sig några begrepp obekant för en del av er. 1078 00:53:04,390 --> 00:53:06,750 Men inser att det kommer att bli en avancerad del av detta för 1079 00:53:06,750 --> 00:53:08,950 dig med tidigare bakgrund. 1080 00:53:08,950 --> 00:53:11,450 >> I förra årets problem som 2, dök eleverna i 1081 00:53:11,450 --> 00:53:14,780 värld av kryptografi, konsten att krypteringsutrustning eller förvränga 1082 00:53:14,780 --> 00:53:17,770 information, genomföra program som krypterade data. 1083 00:53:17,770 --> 00:53:21,490 Och i hacker dessutom förra året gjorde eleverna fortsätter 1084 00:53:21,490 --> 00:53:24,570 att knäcka eller avkoda lösenord i en typisk 1085 00:53:24,570 --> 00:53:28,090 datorns xe lösenordsfil genom att komma med algoritmer och 1086 00:53:28,090 --> 00:53:31,810 heuristik för brute force räkna ut vad någon är 1087 00:53:31,810 --> 00:53:33,640 lösenord på ett datorsystem var. 1088 00:53:33,640 --> 00:53:36,630 Förra året också i problem som 3 gjorde eleverna konsekven - i 1089 00:53:36,630 --> 00:53:37,680 Problemet som 4 - gjorde eleverna 1090 00:53:37,680 --> 00:53:39,280 genomföra omgång Sudoku. 1091 00:53:39,280 --> 00:53:42,250 Och i hacker dessutom att året gjorde eleverna inte 1092 00:53:42,250 --> 00:53:45,650 bara genomföra hur man spelar spelet, men faktiskt en lösare 1093 00:53:45,650 --> 00:53:47,800 varigenom datorn kan ge dig, människan, med 1094 00:53:47,800 --> 00:53:50,130 tips av snabbare än du lösa 1095 00:53:50,130 --> 00:53:51,420 detta särskilda problem. 1096 00:53:51,420 --> 00:53:54,130 >> I problembild 5, vi gjorde kriminalteknik, konsten att 1097 00:53:54,130 --> 00:53:57,020 återvinna information som fanns av misstag eller mycket 1098 00:53:57,020 --> 00:53:59,320 avsiktligt bort från en dator. 1099 00:53:59,320 --> 00:54:02,100 Förra året spatserade lärare och jag runt campus 1100 00:54:02,100 --> 00:54:04,990 fotografering av människor, platser och saker, och sedan 1101 00:54:04,990 --> 00:54:07,830 misstag formaterat mediakortet på vår kamera som 1102 00:54:07,830 --> 00:54:08,900 hade alla dessa bilder. 1103 00:54:08,900 --> 00:54:09,650 Men inga problem. 1104 00:54:09,650 --> 00:54:13,780 Vi gjorde en rättsmedicinsk bild av denna mediakortet, delade ut 1105 00:54:13,780 --> 00:54:16,320 till alla elever i klassen, och utmanade dem att skriva 1106 00:54:16,320 --> 00:54:20,110 program som återvunnits alla JPEG från kortet. 1107 00:54:20,110 --> 00:54:22,010 Och detta är faktiskt en av våra favorit problem uppsättningar. 1108 00:54:22,010 --> 00:54:24,680 >> Och jag grävde upp ett mail från en av dina föregångare, 1109 00:54:24,680 --> 00:54:27,270 som var jättekul att läsa någon gång sedan. 1110 00:54:27,270 --> 00:54:30,240 Han skrev - detta är från Matt - kära David, igår min 1111 00:54:30,240 --> 00:54:33,710 syster formaterat av misstag hennes kamerans SD-kort och förlorade 1112 00:54:33,710 --> 00:54:35,630 ett års värde av minnesvärda bilder. 1113 00:54:35,630 --> 00:54:38,710 Hon är tyvärr inte bäst på att säkerhetskopiera sina data. 1114 00:54:38,710 --> 00:54:41,230 Men denna situation påminde mig om pset 5, så jag tänkte att jag 1115 00:54:41,230 --> 00:54:44,260 skulle försöka att köra sin SD-kort via återhämta programmet 1116 00:54:44,260 --> 00:54:46,310 att jag skrev hela vägen tillbaka i oktober. 1117 00:54:46,310 --> 00:54:48,550 Så efter fyra timmars räkna ut hur man skapar en 1118 00:54:48,550 --> 00:54:51,210 rå bild från formaterade SD-kort - 1119 00:54:51,210 --> 00:54:53,370 Google visade sig vara ganska gagnlöst i detta avseende tills 1120 00:54:53,370 --> 00:54:55,480 ironiskt nog råkade jag komma över dina instruktioner på 1121 00:54:55,480 --> 00:54:58,070 Internet - 1122 00:54:58,070 --> 00:55:00,490 Efter mixtra runt med några av kommandot argument 1123 00:55:00,490 --> 00:55:02,320 Jag lyckades skapa rättsmedicinska bilden. 1124 00:55:02,320 --> 00:55:04,490 Och efter installation och konfigurering av CS50 1125 00:55:04,490 --> 00:55:07,520 Appliance, lyckades jag köra rättsmedicinska bilden genom min 1126 00:55:07,520 --> 00:55:13,110 programmera och återställa alla 1027 min systers fotografier. 1127 00:55:13,110 --> 00:55:14,340 Höger, Matt. 1128 00:55:14,340 --> 00:55:15,165 >> Så i sista year's - 1129 00:55:15,165 --> 00:55:23,080 [Applåder] 1130 00:55:23,080 --> 00:55:25,680 I förra årets problembild 6, gav vi eleverna en 1131 00:55:25,680 --> 00:55:29,910 ordbok av 150.000 engelska ord och utmanade dem till 1132 00:55:29,910 --> 00:55:32,570 skriv en stavningskontroll som svarade frågor av formen 1133 00:55:32,570 --> 00:55:33,930 detta ord rättstavat eller 1134 00:55:33,930 --> 00:55:35,705 felaktigt så fort som möjligt. 1135 00:55:35,705 --> 00:55:38,470 Och i en opt-in basis var studenter tillåts sedan 1136 00:55:38,470 --> 00:55:41,290 utmana klasskamrater genom att publicera sina resultat, 1137 00:55:41,290 --> 00:55:44,200 mängd RAM som de används, antalet CPU-cykler eller 1138 00:55:44,200 --> 00:55:46,910 sekunder som de använde, så att eleverna sedan rankades 1139 00:55:46,910 --> 00:55:47,900 på kursens hemsida. 1140 00:55:47,900 --> 00:55:51,170 Återigen helt valfri aspekt av det, men väldigt roligt att 1141 00:55:51,170 --> 00:55:54,540 mycket ofta skulle en student få placera nummer 10 eller så vidare 1142 00:55:54,540 --> 00:55:57,210 den stora styrelsen på hemsidan, gå ut på middag, och sedan 1143 00:55:57,210 --> 00:55:59,920 komma tillbaka och förverkliga sin rumskamrat just hade kanter i 1144 00:55:59,920 --> 00:56:03,270 framför honom eller henne på den stora styrelsen, och därmed hälla annan 1145 00:56:03,270 --> 00:56:07,170 två eller tre timmar bara för att en upp hans eller hennes rumskamrat. 1146 00:56:07,170 --> 00:56:08,550 >> Så vi ser fram emot att något liknande 1147 00:56:08,550 --> 00:56:09,580 även i år. 1148 00:56:09,580 --> 00:56:12,140 I problemet som 7 gjorde vi styra i riktning mot webben 1149 00:56:12,140 --> 00:56:14,840 programmering, faktiskt lösa problem i den ständigt 1150 00:56:14,840 --> 00:56:18,170 allt vanligare miljön i en webbläsare. 1151 00:56:18,170 --> 00:56:20,900 Vet allt mindre hämtar vi programvara på Mac-datorer och 1152 00:56:20,900 --> 00:56:23,650 Datorer, men allt gör vi allt i banan. 1153 00:56:23,650 --> 00:56:27,530 >> Och faktiskt förra året, cirka 88% av studenternas examensarbeten i 1154 00:56:27,530 --> 00:56:29,660 Kursen var webbaserad. 1155 00:56:29,660 --> 00:56:32,020 Och de är också är färdigheter som du kommer ur detta 1156 00:56:32,020 --> 00:56:33,230 klass kursens slut. 1157 00:56:33,230 --> 00:56:36,090 För vad väntar vid kursens slut är det CS50 mässan, 1158 00:56:36,090 --> 00:56:39,060 denna utställning som bygger på idén om en vetenskap rättvis. 1159 00:56:39,060 --> 00:56:41,750 Men i den här versionen av en rättvis gör alla elever i klassen 1160 00:56:41,750 --> 00:56:45,400 ta sina bärbara datorer och deras vänner och familj och andra 1161 00:56:45,400 --> 00:56:48,310 till nordvästra vetenskap, en stor byggnad på campus, som inrättats 1162 00:56:48,310 --> 00:56:51,030 sin bärbara dator, få lite mat, få lite popcorn och dryck, 1163 00:56:51,030 --> 00:56:53,990 och sedan ställa sina sista projekt för alla i 1164 00:56:53,990 --> 00:56:57,210 närvaro som förra året räknade cirka 2.500 deltagare 1165 00:56:57,210 --> 00:56:58,320 från hela campus. 1166 00:56:58,320 --> 00:57:02,100 Och uttryck som denna och så här var inte 1167 00:57:02,100 --> 00:57:03,370 ovanligt på mässan. 1168 00:57:03,370 --> 00:57:06,590 >> Leder fram till mässan är CS50 hackathon, en möjlighet 1169 00:57:06,590 --> 00:57:09,350 att hoppa på en Harvard shuttle huvudet ner på samma gata till 1170 00:57:09,350 --> 00:57:12,700 Microsoft på 8:00 PM, och inte gå hem förrän 07:00. 1171 00:57:12,700 --> 00:57:16,280 Vi serverar första middag vid 8:00 PM, andra middag klockan 1:00 AM, 1172 00:57:16,280 --> 00:57:18,900 och för dem som fortfarande står vid 5:00 AM, behandlar vi i 1173 00:57:18,900 --> 00:57:20,400 pannkakor på IHOP. 1174 00:57:20,400 --> 00:57:23,470 Och hackathon är en möjlighet, som på bilden här, 1175 00:57:23,470 --> 00:57:25,930 att dyka in i din slutgiltiga projekt, vare sig de arbetar på 1176 00:57:25,930 --> 00:57:29,470 egen hand eller med vänner i en kollaborativ miljö, 1177 00:57:29,470 --> 00:57:31,970 där hela lärarkåren fungerar bra i 1178 00:57:31,970 --> 00:57:35,430 natt med ett stort utbud av Hongkong kinesisk mat. 1179 00:57:35,430 --> 00:57:39,550 Klockan 5:00 kommer sådana bilder som dessa vara ganska vanligt här 1180 00:57:39,550 --> 00:57:40,940 år också. 1181 00:57:40,940 --> 00:57:44,390 >> Så som vi ajournera ett ögonblick för tårta, kom ihåg att 1182 00:57:44,390 --> 00:57:48,500 76% av människorna i det här rummet inte har någon tidigare erfarenhet. 1183 00:57:48,500 --> 00:57:51,090 Och enligt kursplanen, frågor vad som i slutändan i 1184 00:57:51,090 --> 00:57:53,740 Kursen är inte så mycket där du hamnar i förhållande till din 1185 00:57:53,740 --> 00:57:57,400 klasskamrater, men där du i vecka 11 hamnar i förhållande till 1186 00:57:57,400 --> 00:57:59,400 själv i vecka 0. 1187 00:57:59,400 --> 00:58:01,850 Detta är CS50.