1 00:00:19,994 --> 00:00:22,760 [Powered by Google Translate] Högtalare 1: Detta är CS50. 2 00:00:22,760 --> 00:00:27,120 Så jag var där du är nu några år sedan, och när jag var en nybörjare på 3 00:00:27,120 --> 00:00:32,000 tiden var jag inte riktigt på den här vägen för att göra datorer vetenskap, att göra 4 00:00:32,000 --> 00:00:32,490 teknik. 5 00:00:32,490 --> 00:00:35,780 Faktum kom jag på denna plats som en statlig koncentrator. 6 00:00:35,780 --> 00:00:38,910 Jag hade varit i gymnasiet ett barn som gillade saker som historien. 7 00:00:38,910 --> 00:00:41,940 Jag gillade grundlag, typ av engelska och matematik, så typ av 8 00:00:41,940 --> 00:00:45,840 väl avrundad, men inte nödvändigtvis vet saker som jag inte hade lärt 9 00:00:45,840 --> 00:00:46,520 i high school. 10 00:00:46,520 --> 00:00:49,570 Och så första år hade jag denna bävan, där även om jag 11 00:00:49,570 --> 00:00:53,400 gillade datorer, spela dataspel och liknande, jag verkligen aldrig 12 00:00:53,400 --> 00:00:57,120 tänkt på mig själv som en dator person, en datavetare, och 13 00:00:57,120 --> 00:00:59,610 ärligt talat, jag trodde mina vänner i high school som tog dator 14 00:00:59,610 --> 00:01:03,990 vetenskapen var lite av en - nördar. 15 00:01:03,990 --> 00:01:08,880 >> Och ändå, när jag kom hit på campus, var det den här kursen, CS50, och 16 00:01:08,880 --> 00:01:12,620 tiden, hade detta rykte av att verkligen vara något att se upp. 17 00:01:12,620 --> 00:01:13,690 Det var en bra kurs. 18 00:01:13,690 --> 00:01:15,360 Det var en rolig kurs. 19 00:01:15,360 --> 00:01:18,970 Men du var tvungen att faktiskt få det fot i dörren. 20 00:01:18,970 --> 00:01:22,090 Och även jag inte över detta tröskelvärde första år. 21 00:01:22,090 --> 00:01:25,590 Och jag gick på mitt sätt att vara en regering koncentrator, går igenom 22 00:01:25,590 --> 00:01:28,787 så många av förutsättningarna som jag kunde, korsa räkna saker för gen 23 00:01:28,787 --> 00:01:32,340 ed eller kärna och liknande, och sedan andra år, av någon anledning fick jag 24 00:01:32,340 --> 00:01:35,580 upp modet att steg fot i Science Center B, där CS50. 25 00:01:35,580 --> 00:01:38,970 En mycket berömd datavetare vid namn Brian Kernighan var 26 00:01:38,970 --> 00:01:44,020 undervisning här att år, och även då var jag bara villig att faktiskt 27 00:01:44,020 --> 00:01:47,720 fylla min studie kort genom att ta denna klass godkänd / underkänd. 28 00:01:47,720 --> 00:01:50,140 Jag såg mig omkring, och jag tänkte att alla i det här rummet har lärt känna 29 00:01:50,140 --> 00:01:52,880 sätt mer om datavetenskap, om programmering, om datorer. 30 00:01:52,880 --> 00:01:56,090 Alla måste vara programmering i detta rum eftersom de var 12, men ja, 31 00:01:56,090 --> 00:01:57,470 Det var inte fallet. 32 00:01:57,470 --> 00:02:01,600 Och så den allra sista dagen, den femte måndag av terminen som jag tar 33 00:02:01,600 --> 00:02:05,300 detta språng och förändring från godkänt / underkänt ett brev klass, och hamna ändra min 34 00:02:05,300 --> 00:02:07,730 koncentration samma dag till datavetenskap. 35 00:02:07,730 --> 00:02:10,630 >> Nu är inte vårt mål i den här klassen, att vända er alla till datorn 36 00:02:10,630 --> 00:02:14,600 vetenskap koncentratorer, men egentligen, att föreslå att det finns denna möjlighet 37 00:02:14,600 --> 00:02:18,630 på detta område och inom andra områden som du kan vara ganska främmande, 38 00:02:18,630 --> 00:02:21,920 med tanke på att gymnasieskolor vanligtvis följer en ganska standard läroplanen 39 00:02:21,920 --> 00:02:26,170 väg, men att våga i, i CS50, till nya vatten. 40 00:02:26,170 --> 00:02:30,460 Och om du sitter här idag tänker du egentligen inte hör hemma, så 41 00:02:30,460 --> 00:02:34,110 göra de flesta människor till höger och till vänster. 42 00:02:34,110 --> 00:02:39,970 Faktum förra året hade 76% av eleverna i denna klass ingen tidigare erfarenhet. 43 00:02:39,970 --> 00:02:43,510 Så i motsats till vad man kan tro, de flesta av de personer som sitter runt omkring dig 44 00:02:43,510 --> 00:02:47,130 idag inte i själva verket har någon tidigare erfarenhet. 45 00:02:47,130 --> 00:02:52,030 18% har tagit en CS klass och 6% har tagit två eller fler. 46 00:02:52,030 --> 00:02:55,300 Samtidigt ber vi våra studenter varje år för att beskriva sig själva i termer 47 00:02:55,300 --> 00:02:57,760 komfort nivå, och det är - 48 00:02:57,760 --> 00:02:59,010 det finns ingen definition av detta. 49 00:02:59,010 --> 00:03:02,480 Du bara sorts vet det, om du inte är mycket bekväm i CS50. 50 00:03:02,480 --> 00:03:07,250 Och förra året hade vi 55% i denna gröna paj skiva här, självbeskrivande 51 00:03:07,250 --> 00:03:10,640 som mindre bekväma studenter som uppriktigt sagt vi hade ingen aning om varför skulle de 52 00:03:10,640 --> 00:03:14,800 handla kursen på den första dagen, men samma 55% kvar hos oss tills 53 00:03:14,800 --> 00:03:19,270 Termen slut, liksom 35%, som var någonstans mellan de mer 54 00:03:19,270 --> 00:03:22,100 bekväma och de mindre bekväm. 55 00:03:22,100 --> 00:03:23,490 >> Så vad är datavetenskap? 56 00:03:23,490 --> 00:03:26,630 Tja, i gymnasiet, och egentligen mer allmänt ute dessa dagar, 57 00:03:26,630 --> 00:03:29,740 Det finns denna uppfattning eller denna missuppfattning att datavetenskap är 58 00:03:29,740 --> 00:03:30,400 programmering. 59 00:03:30,400 --> 00:03:33,550 Och det är absolut en del av datavetenskap, men programmering, 60 00:03:33,550 --> 00:03:36,490 oavsett språk, är egentligen bara ett verktyg som datorforskare 61 00:03:36,490 --> 00:03:39,890 använder för att lösa problem, antingen på området för datavetenskap, eller 62 00:03:39,890 --> 00:03:42,990 alltmer i dessa dagar, i naturvetenskap, den naturliga 63 00:03:42,990 --> 00:03:45,890 vetenskaper, inom medicinen, inom humaniora, för att analysera 64 00:03:45,890 --> 00:03:47,320 stora datamängder. 65 00:03:47,320 --> 00:03:51,070 Överallt nu finns det datorer och data, det finns en möjlighet att ansöka 66 00:03:51,070 --> 00:03:54,400 lärdomar i en klass som CS50. 67 00:03:54,400 --> 00:03:57,490 >> Så låt oss lösa ett problem som en dator vetenskapsman kan gå om 68 00:03:57,490 --> 00:04:02,370 lösa och försöka sätta lite jargong, lägga lite tankeram, kring 69 00:04:02,370 --> 00:04:05,420 vad kan annars vara en del ganska abstrakta idéer. 70 00:04:05,420 --> 00:04:07,370 Så detta är en telefon. 71 00:04:07,370 --> 00:04:08,840 Du ser inte dessa saker alltför ofta. 72 00:04:08,840 --> 00:04:11,910 Kollegiet verkar fortfarande ha dessa i husen och sovsalar, men 73 00:04:11,910 --> 00:04:14,970 tillbaka i dag, när du ville använda en telefon som denna, fanns det ingen 74 00:04:14,970 --> 00:04:16,760 elektronisk adressbok i din mobiltelefon. 75 00:04:16,760 --> 00:04:20,250 Snarare drog du upp något som kallas en telefonbok, och dessa telefonböcker 76 00:04:20,250 --> 00:04:23,110 hade ca 1.000 sidor typiskt. 77 00:04:23,110 --> 00:04:26,850 De sorterade från A till Z, och du bara var tvungen att hitta rätt sida 78 00:04:26,850 --> 00:04:30,150 hitta den person du söker för att hitta deras namn och deras 79 00:04:30,150 --> 00:04:31,020 telefonnummer. 80 00:04:31,020 --> 00:04:33,120 Nu hur ska du gå om att titta upp någon i den här boken? 81 00:04:33,120 --> 00:04:35,800 >> Antag mitt mål är att ge min vän Mike Smith ett samtal. 82 00:04:35,800 --> 00:04:37,820 Nå, hur gör jag för att hitta Mike Smith? 83 00:04:37,820 --> 00:04:42,370 Tja, ett mycket rimligt tillvägagångssätt, om naiv och ineffektiva, skulle börja 84 00:04:42,370 --> 00:04:47,690 här och börja vända sidan fyra, till sida fem till sidan sex, och att sortera 85 00:04:47,690 --> 00:04:50,930 av linjärt, längs en rak linje, gå igenom denna telefonbok och även 86 00:04:50,930 --> 00:04:54,010 men det kommer att bli oerhört tråkigt om Mike Smith är i detta 87 00:04:54,010 --> 00:04:57,480 bok, jag ska så småningom nå honom när jag äntligen vända till S 88 00:04:57,480 --> 00:04:58,790 i den här boken. 89 00:04:58,790 --> 00:05:01,240 Nu, naturligtvis, behöver du inte vara en datavetare att veta att detta 90 00:05:01,240 --> 00:05:02,980 är ett dumt sätt att lösa detta problem. 91 00:05:02,980 --> 00:05:04,620 Vad skulle en typisk människa göra? 92 00:05:08,430 --> 00:05:09,330 Bra gjort. 93 00:05:09,330 --> 00:05:11,370 Så du skulle vända till mitten, eller hur? 94 00:05:11,370 --> 00:05:14,970 Så du skulle vända ungefär till mitten, titta här, och jag verkar hitta mig själv 95 00:05:14,970 --> 00:05:16,660 i M avsnittet. 96 00:05:16,660 --> 00:05:19,880 Okej, så M är helt klart inte vad jag letar efter. 97 00:05:19,880 --> 00:05:23,150 Mike är till höger, så att säga, i detta avsnitt, och som en del av er har 98 00:05:23,150 --> 00:05:27,740 sett förut, kan vi bokstavligen nu gå att riva detta 99 00:05:27,740 --> 00:05:28,990 problem i en halv. 100 00:05:33,870 --> 00:05:35,060 >> Du borde verkligen inte vara så imponerad. 101 00:05:35,060 --> 00:05:36,990 Riva ner sömmen är faktiskt inte så svårt. 102 00:05:36,990 --> 00:05:40,040 De verkliga människor gör på det här sättet, men ner sömmen, vi 103 00:05:40,040 --> 00:05:41,400 Nu har två problem. 104 00:05:41,400 --> 00:05:44,800 Som alla är hälften så stor, och vi kan bokstavligen kasta att hälften av 105 00:05:44,800 --> 00:05:45,560 problem borta. 106 00:05:45,560 --> 00:05:48,590 Nu är vi kvar inte med 1.000 sidor, men säg, 500. 107 00:05:48,590 --> 00:05:49,580 Så nu vad gör jag? 108 00:05:49,580 --> 00:05:53,030 Tja, en typisk människa gå ungefär i mitten igen, och jag befinner mig på 109 00:05:53,030 --> 00:05:55,080 R sektionen, så inte riktigt där. 110 00:05:55,080 --> 00:05:58,380 Så återigen, jag kan riva detta problem i halv. 111 00:05:58,380 --> 00:05:59,630 Tack. 112 00:06:02,000 --> 00:06:07,050 Så nu har jag bara några 250 sidor, och jag kan göra det igen, och igen, och 113 00:06:07,050 --> 00:06:11,340 igen, och gå från 125 ner till ungefär 60, till 30, till 15, och så vidare. 114 00:06:11,340 --> 00:06:16,680 Och slutligen, jag får reducerats till en av S sidor, som, om han är 115 00:06:16,680 --> 00:06:19,510 i telefonboken, bör Mike Smith vara. 116 00:06:19,510 --> 00:06:22,720 >> Nu är en uppenbart ganska rimlig algoritm, och det är en 117 00:06:22,720 --> 00:06:25,395 engångsbruk algoritm i detta fall, men vad kan vi sortera på 118 00:06:25,395 --> 00:06:26,920 ta bort från det? 119 00:06:26,920 --> 00:06:30,750 Jo, den första metoden, korrekt, om naiv, men det var, kan vara 120 00:06:30,750 --> 00:06:32,270 beskrivs av denna raka linje. 121 00:06:32,270 --> 00:06:35,740 Så om på x-axeln, här säger vi, det är storleken på problemet. 122 00:06:35,740 --> 00:06:39,530 Så som x-axeln går till höger, blir problemet större. 123 00:06:39,530 --> 00:06:40,870 Vad innebär det att vara större? 124 00:06:40,870 --> 00:06:43,920 I samband med detta problem, fler sidor i telefonboken. 125 00:06:43,920 --> 00:06:45,860 Det finns mer något vi kan kvantifiera. 126 00:06:45,860 --> 00:06:47,660 På y-axeln, tid att lösa. 127 00:06:47,660 --> 00:06:51,790 Så som axeln går upp, antar vi att det förmodligen tar längre tid. 128 00:06:51,790 --> 00:06:56,960 Så att första metoden att söka linjärt från sidan ett till sidan 1000 129 00:06:56,960 --> 00:07:01,480 är en linjär procedur, en linjär algoritm eller process, och vi kan 130 00:07:01,480 --> 00:07:03,120 beskriva det med denna raka linje. 131 00:07:03,120 --> 00:07:06,560 Om jag lägger en ytterligare sida i telefonboken, kommer det att i värsta 132 00:07:06,560 --> 00:07:09,950 fall ta mig en ytterligare sida flip hitta Mike Smith. 133 00:07:09,950 --> 00:07:13,840 Om jag lägger 100 sidor, 100 fler vänder, eller enheter av tid. 134 00:07:13,840 --> 00:07:15,350 >> Nu kan jag vara lite smart med detta. 135 00:07:15,350 --> 00:07:17,550 Jag behöver inte riktigt stänga en sida i taget. 136 00:07:17,550 --> 00:07:21,110 Jag kan göra saker som två åt gången eller fyra åt gången, men även det är inte 137 00:07:21,110 --> 00:07:22,350 allt som i grunden bättre. 138 00:07:22,350 --> 00:07:26,540 Även om det är två åt gången, ja, går den typen av denna linje ner lite, 139 00:07:26,540 --> 00:07:31,010 och det betyder att det tar mindre tid, givet samma antal sidor, men 140 00:07:31,010 --> 00:07:32,570 Det är inte i grunden bättre. 141 00:07:32,570 --> 00:07:36,290 Men vad gör vi bara, och vad gjorde ni alla gör instinktivt? 142 00:07:36,290 --> 00:07:41,210 Du uppnådde faktiskt lite ungefär så här, logaritmisk tid, 143 00:07:41,210 --> 00:07:46,540 varigenom problemet kan växa och växa och växa, men kostnaden för att lösa det 144 00:07:46,540 --> 00:07:49,460 problemet, den tid som krävs för att lösa detta problem, inte 145 00:07:49,460 --> 00:07:51,460 växer nästan lika snabbt. 146 00:07:51,460 --> 00:07:55,930 Detta skulle vara en logaritmisk kurva, log n, där n är lika i storlek 147 00:07:55,930 --> 00:07:58,310 problemet, antalet sidor i telefonboken. 148 00:07:58,310 --> 00:07:59,780 Och vad innebär det i reala termer? 149 00:07:59,780 --> 00:08:02,630 Tja, om vi har, typ, 500 personer i det här rummet just nu - 150 00:08:02,630 --> 00:08:04,470 eller snarare om vi har - 151 00:08:04,470 --> 00:08:06,020 blandning metafor - 152 00:08:06,020 --> 00:08:09,870 gjorde inte det exemplet ännu i år - så om vi har 500 sidor i telefonen 153 00:08:09,870 --> 00:08:14,450 bok, och vi fördubbla den till 1.000, i detta mer intelligent modell 154 00:08:14,450 --> 00:08:17,670 vända till mitten, hur många fler sida-tearers det ta att gå från 155 00:08:17,670 --> 00:08:19,520 500 sidor till 1.000? 156 00:08:19,520 --> 00:08:21,650 Tja, bara en extra sida tår. 157 00:08:21,650 --> 00:08:24,580 Om du lämnade mig en 2.000 sida telefonbok, no big deal. 158 00:08:24,580 --> 00:08:27,200 Jag skulle bara riva det en extra gång. 159 00:08:27,200 --> 00:08:31,780 >> Så kort, kan storleken på problemet växer mycket snabbare än kostnaden för 160 00:08:31,780 --> 00:08:32,780 faktiskt lösa det. 161 00:08:32,780 --> 00:08:35,030 Nu är detta bara en sådan algoritm. 162 00:08:35,030 --> 00:08:37,610 Det finns andra som vi kan lösa detta på samma sätt. 163 00:08:37,610 --> 00:08:40,730 Och så varför inte vi gör det - om du vill humor mig, om än tafatt här 164 00:08:40,730 --> 00:08:45,085 i Sanders, gå vidare, alla, om du kunde, och stå upp på plats. 165 00:08:48,550 --> 00:08:52,440 Som du ser på skärmen här, detta är en algoritm, en process, en dator 166 00:08:52,440 --> 00:08:55,980 programmet, om du vill, som ska utföras av människor, som har bara tre steg. 167 00:08:55,980 --> 00:08:57,980 Vi är redan på steg ett, har du stod upp. 168 00:08:57,980 --> 00:09:00,260 Och nu tror på dig själv nummer ett. 169 00:09:00,260 --> 00:09:01,450 Det är ditt nuvarande nummer. 170 00:09:01,450 --> 00:09:03,120 Alla här är nummer ett. 171 00:09:03,120 --> 00:09:07,160 Steg två, ihop med någon som står och dina nummer tillsammans, 172 00:09:07,160 --> 00:09:09,345 och sedan anta denna summa som ditt nya nummer. 173 00:09:17,470 --> 00:09:20,830 En av er ska sitta ner och upprepa sedan. 174 00:10:11,330 --> 00:10:14,100 >> Vid det här laget bör färre och färre människor stå. 175 00:10:16,820 --> 00:10:20,030 Det är här det blir mer besvärligt. 176 00:10:20,030 --> 00:10:21,280 Någon här, här. 177 00:10:30,620 --> 00:10:34,180 Det värsta är, du måste också mycket muntligt göra aritmetik framför 178 00:10:34,180 --> 00:10:36,310 hundratals Harvard undergrads. 179 00:10:42,920 --> 00:10:45,280 Okej, lite av en bugg här. 180 00:10:45,280 --> 00:10:48,470 Okej, vad är ditt nummer? 181 00:10:48,470 --> 00:10:49,170 Nio. 182 00:10:49,170 --> 00:10:51,880 Okej. 183 00:10:51,880 --> 00:10:53,130 Vad är ditt nummer? 184 00:10:55,920 --> 00:10:57,710 179. 185 00:10:57,710 --> 00:10:58,470 Okej, bra. 186 00:10:58,470 --> 00:10:59,420 Så 188. 187 00:10:59,420 --> 00:11:00,570 Så ni kan sitta ner. 188 00:11:00,570 --> 00:11:02,320 Vad är ditt nummer? 189 00:11:02,320 --> 00:11:04,420 118. 190 00:11:04,420 --> 00:11:07,440 Några smarta undergrad börja göra matten. 191 00:11:07,440 --> 00:11:09,180 Okej, 118, 188. 192 00:11:09,180 --> 00:11:10,430 Vad vi fick? 193 00:11:13,120 --> 00:11:16,450 71. 194 00:11:16,450 --> 00:11:17,650 79. 195 00:11:17,650 --> 00:11:18,260 Okej. 196 00:11:18,260 --> 00:11:20,220 Och? 197 00:11:20,220 --> 00:11:23,240 47, som lärare, som ger oss hur många? 198 00:11:26,250 --> 00:11:29,830 705 är svaret. 199 00:11:29,830 --> 00:11:32,045 Och det är i själva verket exakt korrekt. 200 00:11:37,250 --> 00:11:40,080 >> Nej, vi var faktiskt lite av det, men hur 201 00:11:40,080 --> 00:11:41,220 Detta bör ha arbetat? 202 00:11:41,220 --> 00:11:44,080 Vad ska just hänt? 203 00:11:44,080 --> 00:11:48,270 Så på varje iteration av denna algoritm, vi började med ett visst antal 204 00:11:48,270 --> 00:11:51,480 av människor som står, och det var det totala antalet, n, till en början. 205 00:11:51,480 --> 00:11:53,880 Då hälften av er satte sig och vi gick till n över två. 206 00:11:53,880 --> 00:11:57,570 Då hälften av er satte sig ner, gick vi till n över fyra, n över åtta, över 16, 207 00:11:57,570 --> 00:12:01,220 och så vidare, tills, även om den typ av sönderdelade där på 208 00:12:01,220 --> 00:12:04,760 slut, i teorin, hade alla parade av i balkong och mezzanine och 209 00:12:04,760 --> 00:12:10,180 orkester här, skulle vi haft bara en ensam person som står med en total 210 00:12:10,180 --> 00:12:13,930 värde, i detta fall, med 705. 211 00:12:13,930 --> 00:12:16,600 Nu vad betyder det, men för den löpande tiden? 212 00:12:16,600 --> 00:12:18,960 Tja, tänk om jag, som människa, hade gjort detta manuellt. 213 00:12:18,960 --> 00:12:22,602 Jag skulle ha börjat ganska naivt, men korrekt med en, två, tre, 214 00:12:22,602 --> 00:12:27,060 fyra, fem, sex, sju, åtta, och så vidare, tar ganska lång tid. 215 00:12:27,060 --> 00:12:28,120 Så jag kan göra bättre, eller hur? 216 00:12:28,120 --> 00:12:29,830 I grundskolan behöver du inte bara räknas i sådana. 217 00:12:29,830 --> 00:12:30,580 Du räknar två och två. 218 00:12:30,580 --> 00:12:32,190 Så två, fyra, sex, åtta, tio, tolv. 219 00:12:32,190 --> 00:12:36,210 Och det blir mycket snabbare, men nu i grunden, genom att utnyttja 220 00:12:36,210 --> 00:12:39,710 kollektiv intelligens av alla i det här rummet, kan vi uppnå en kurva mycket 221 00:12:39,710 --> 00:12:43,750 mer om detta, varvid nu antalet personer i det här rummet 222 00:12:43,750 --> 00:12:48,570 kunde dubbel, ytterligare 700 personer går in i detta rum för 1.400 personer, men 223 00:12:48,570 --> 00:12:53,010 Det skulle bara ta oss en ytterligare variant av denna algoritm för att lösa. 224 00:12:53,010 --> 00:12:55,970 >> Och så allt dessa dagar, när vi har dessa enorma datamängder i 225 00:12:55,970 --> 00:12:59,690 Facebook och Google, och liknande, det lösa problem med den här lite 226 00:12:59,690 --> 00:13:04,060 insikt, denna bit av skicklighet, som är tillåter oss alltmer att göra mycket, 227 00:13:04,060 --> 00:13:07,290 mycket mer kraftfulla saker med datorer idag. 228 00:13:07,290 --> 00:13:10,440 Om du gillar dessa typer av saker, kanske du har sett på Facebook CS50: s 229 00:13:10,440 --> 00:13:12,990 egen Pussel dag, kommer upp på lördag. 230 00:13:12,990 --> 00:13:15,860 Om du vill delta i något sådant, där du och 231 00:13:15,860 --> 00:13:20,470 två eller tre, eller fyra grupper om fyra skulle vilja lösa vissa pussel sådana 232 00:13:20,470 --> 00:13:25,030 som denna, står du en chans att vinna några fantastiska priser, bland annat en 233 00:13:25,030 --> 00:13:29,130 Wii, och några presentkort, och några andra Facebook bylte på lördag, 234 00:13:29,130 --> 00:13:30,770 klockan 15:00. 235 00:13:30,770 --> 00:13:35,590 Gå till cs50.net/rsvp för sådana. 236 00:13:35,590 --> 00:13:38,070 Och denna bild är online om du vill leka. 237 00:13:38,070 --> 00:13:40,170 Pussel i år ska vara nya. 238 00:13:40,170 --> 00:13:43,350 >> Du kanske märker i klassrummet också alla fler kameror i år. 239 00:13:43,350 --> 00:13:47,950 Så inte bara kommer kursen att filmas på vanligt sätt, kan CS50 också 240 00:13:47,950 --> 00:13:51,230 deltar i en dokumentär om högre utbildning som tittar på 241 00:13:51,230 --> 00:13:54,460 omvälvande upplevelse som en student kan ha i dessa dagar i en 242 00:13:54,460 --> 00:13:56,010 grundutbildning studier. 243 00:13:56,010 --> 00:14:00,340 Så mot dessa ändamål kommer inte bara vi filma för det, kommer vi att filma 244 00:14:00,340 --> 00:14:04,700 samt för allt större utsträckning vår online publik, liksom, ibland, 245 00:14:04,700 --> 00:14:05,810 denna publik här. 246 00:14:05,810 --> 00:14:09,120 Så vi välkommen till klassen i år våra Harvard studenter förlängning skolan, 247 00:14:09,120 --> 00:14:12,060 Graduate School of Design, utbildning, handelshögskolan, Kennedy 248 00:14:12,060 --> 00:14:15,600 Skolan, juridisk fakultet, samt ett antal studenter från Belmont, 249 00:14:15,600 --> 00:14:18,280 Lexington, Newton och Watertown gymnasieskolor. 250 00:14:18,280 --> 00:14:19,250 Välkommen till er alla. 251 00:14:19,250 --> 00:14:22,330 Dessutom, i år, som ni kanske har hört, Harvard och MIT, och 252 00:14:22,330 --> 00:14:25,740 Berkeley har nu ingått ett samarbete partnerskap på 253 00:14:25,740 --> 00:14:30,490 initiativ som kallas EDX, som är ett initiativ för att öppna utbildning för alla 254 00:14:30,490 --> 00:14:34,010 ju fler människor på nätet, och i grunden, börja forska på 255 00:14:34,010 --> 00:14:36,530 en mycket bredare skala för hur människor lär sig. 256 00:14:36,530 --> 00:14:39,960 Och så CS50 blir skolans första kursen som deltar i det 257 00:14:39,960 --> 00:14:42,960 initiativ, samt, vilket innebär att du kommer att ha tillgång till allt mer 258 00:14:42,960 --> 00:14:46,890 verktyg, desto mer läroplanen innehåll, desto mer videoinnehåll som 259 00:14:46,890 --> 00:14:52,410 ett resultat, liksom i går morse, de 53.019 personer som har 260 00:14:52,410 --> 00:14:56,825 registrerade för att ta CS50 med dig i år på Internet. 261 00:15:05,940 --> 00:15:08,830 Så vad detta innebär, bland annat, är att lärare och jag har 262 00:15:08,830 --> 00:15:12,080 tillbringade en hel del tid i sommar förbereder hösten, både på campus 263 00:15:12,080 --> 00:15:15,720 och av, så att vi kan börja bygga upp en samling intressanta, om 264 00:15:15,720 --> 00:15:20,760 övertygande, att engagera utbildningsinnehåll fokuserar det särskilt 265 00:15:20,760 --> 00:15:26,090 mer intima transportmedel av ganska komplext material. 266 00:15:26,090 --> 00:15:28,540 >> Så utöver kursens föreläsningar och sektioner och saker 267 00:15:28,540 --> 00:15:31,810 kallade genomgångar som vi ska återkomma i bara lite, vi har också 268 00:15:31,810 --> 00:15:35,090 Dessa shorts i år som gör att du kan samarbeta med kursen från ett 269 00:15:35,090 --> 00:15:36,660 annan vinkel tillsammans. 270 00:15:36,660 --> 00:15:39,610 Så låt oss använda detta som en möjlighet att ta en snabb titt på en som 271 00:15:39,610 --> 00:15:41,460 diskuterar detta begreppet binära. 272 00:15:41,460 --> 00:15:44,890 >> Så i datavetenskap finns det saker som kallas algoritmer, varav två 273 00:15:44,890 --> 00:15:47,870 Vi tog bara en titt på - dessa förfaranden för att lösa problem. 274 00:15:47,870 --> 00:15:51,060 Men i slutet av dagen, måste du representera information på något sätt, och du 275 00:15:51,060 --> 00:15:54,540 behöver representera den på ett sätt som en dator kan förstå. 276 00:15:54,540 --> 00:15:57,330 Och även om du inte riktigt förstår datorer och du är i 277 00:15:57,330 --> 00:16:01,470 att 76% just nu, har du förmodligen någon vag känsla av att datorer 278 00:16:01,470 --> 00:16:05,300 på något sätt handlar med nollor och ettor, det binära systemet, så att säga. 279 00:16:05,300 --> 00:16:06,630 Nu varför är det så? 280 00:16:06,630 --> 00:16:10,120 Tja, visar sig när datorer först kom till, om du behöver för att representera 281 00:16:10,120 --> 00:16:13,810 information kan du göra det med elektricitet, och även om det är lite 282 00:16:13,810 --> 00:16:18,140 en förenkling, är ett mycket enkelt sätt att spela in information antingen 283 00:16:18,140 --> 00:16:22,600 genom att vrida den elektricitet, en i binär, så att säga, eller vrida 284 00:16:22,600 --> 00:16:24,290 att elektricitet av. 285 00:16:24,290 --> 00:16:26,210 >> Så Barry, om du inte skulle ha något emot, kunde vi dämpa belysningen 286 00:16:26,210 --> 00:16:28,140 helt för ett ögonblick? 287 00:16:28,140 --> 00:16:31,750 Detta är här en mycket omotiverad binär nolla. 288 00:16:31,750 --> 00:16:35,960 Okej, om vi vänder ljuset tillbaka upp, nu Sanders Theatre är 289 00:16:35,960 --> 00:16:37,990 representerar det binära värdet ett. 290 00:16:37,990 --> 00:16:41,860 Tyvärr, med bara en bit, med bara en uppsättning av ljus, kan vi bara 291 00:16:41,860 --> 00:16:45,770 representerar två siffror i världen, noll och ett, och det skulle vara trevligt om 292 00:16:45,770 --> 00:16:48,510 datorer kunde räkna lite högre än så, men faktiskt de kan. 293 00:16:48,510 --> 00:16:52,170 Så låt mig dra upp på skärmen här vår vän, Nate Hardison, som kommer att ge 294 00:16:52,170 --> 00:16:54,980 oss en snabb titt under loppet av bara några minuter på 295 00:16:54,980 --> 00:16:56,505 denna uppfattning av binära. 296 00:17:03,526 --> 00:17:06,550 >> NATE Hardison: Tillbaka när du lärt dig att läsa och skriva tal, du 297 00:17:06,550 --> 00:17:10,589 lärde sig om siffrorna noll till nio. 298 00:17:10,589 --> 00:17:13,589 Att skriva heltal större än nio, du lär dig att allt du hade att göra 299 00:17:13,589 --> 00:17:23,130 var använda någon kombination av dessa siffror, som i 52 och 437. 300 00:17:23,130 --> 00:17:27,760 Så detta sätt att skriva siffror har ett namn, decimal notation. 301 00:17:27,760 --> 00:17:28,830 Varför decimal? 302 00:17:28,830 --> 00:17:33,630 Tja, betyder det latinska rot decimal, deca, 10, och när du har 10 siffror 303 00:17:33,630 --> 00:17:37,420 i notskrift systemet blir 10 en ganska speciell nummer. 304 00:17:37,420 --> 00:17:42,480 Låt oss titta på hur många 437 skrivna i decimalform för att förstå varför. 305 00:17:42,480 --> 00:17:52,330 >> Vi kan först bryta upp 437 i 400 plus 30 plus 7. 306 00:17:52,330 --> 00:18:00,260 Vi kan ta isär ännu mer, så att vi har fått fyra gånger 100 plus 3 307 00:18:00,260 --> 00:18:05,120 ggr 10 plus 7 gånger 1. 308 00:18:05,120 --> 00:18:08,580 minns lära sig om dem plats, 10s plats, 100s 309 00:18:08,580 --> 00:18:10,190 plats, och så vidare? 310 00:18:10,190 --> 00:18:13,120 Det är precis där som kommer från. 311 00:18:13,120 --> 00:18:15,870 Och slutligen, kan vi se hur vi har ett gäng befogenheter 312 00:18:15,870 --> 00:18:17,900 10 inbäddad i här. 313 00:18:17,900 --> 00:18:28,820 Vi har 4 gånger 10 till 2 plus 3 ggr 10 till 1 plus 7 314 00:18:28,820 --> 00:18:31,720 ggr 10 till noll. 315 00:18:31,720 --> 00:18:35,390 Så nu ser du varför 10 är ett speciellt nummer i decimalform. 316 00:18:35,390 --> 00:18:37,370 I själva verket har vi ett namn för det. 317 00:18:37,370 --> 00:18:40,420 Det kallas basen, eftersom det är basen i exponenten i 318 00:18:40,420 --> 00:18:42,100 vår aritmetik här. 319 00:18:42,100 --> 00:18:45,320 >> Decimalform är inte det enda sättet att representera tal. 320 00:18:45,320 --> 00:18:50,480 Faktum är att även om vi bli av siffrorna två till nio, kan vi fortfarande 321 00:18:50,480 --> 00:18:53,740 representerar alla nummer som vi kunde med decimal. 322 00:18:53,740 --> 00:18:58,910 Så nu när vi har två siffror, noll och ett, är två vår speciella nummer, 323 00:18:58,910 --> 00:19:01,210 basen för vårt notation systemet. 324 00:19:01,210 --> 00:19:04,580 Namnet på denna notation systemet kallas binär, eftersom 325 00:19:04,580 --> 00:19:07,030 prefixet bi betyder två. 326 00:19:07,030 --> 00:19:11,190 Så istället nu, att ha en ettor plats, och 10s plats, och så vidare, vi 327 00:19:11,190 --> 00:19:15,900 Nu har de plats, en tvåor plats, en fyra plats, och så vidare, går upp genom 328 00:19:15,900 --> 00:19:17,550 befogenheter två. 329 00:19:17,550 --> 00:19:19,450 Så låt oss se detta genom att göra några räkning. 330 00:19:19,450 --> 00:19:24,940 Så noll är fortfarande noll, och en är fortfarande en. 331 00:19:24,940 --> 00:19:31,050 Men nu när vi har en tvåor plats i stället för en 10s plats, 10 332 00:19:31,050 --> 00:19:33,190 representerar antalet två. 333 00:19:33,190 --> 00:19:38,386 För att få tre lägger vi en till det, och få 11. 334 00:19:38,386 --> 00:19:44,660 Fyra, eftersom det finns nu en fyra plats, representeras av 100. 335 00:19:44,660 --> 00:19:49,410 Fem är 101. 336 00:19:49,410 --> 00:19:53,642 Sex är 110. 337 00:19:53,642 --> 00:19:56,610 Sju är 111. 338 00:19:56,610 --> 00:19:58,470 Åtta återigen har sin egen plats. 339 00:19:58,470 --> 00:20:02,790 Så det är 1000. 340 00:20:02,790 --> 00:20:05,201 Och jag tror du fattar poängen. 341 00:20:05,201 --> 00:20:09,800 >> Högtalare 1: Så detta är att säga vad datorer gör och vad binär är är 342 00:20:09,800 --> 00:20:13,690 faktiskt inte så olikt från vad vi har tagit för givet för vissa 343 00:20:13,690 --> 00:20:14,560 år, eller hur? 344 00:20:14,560 --> 00:20:17,097 Tillbaka i skolan, lärde dig att räkna exakt i 345 00:20:17,097 --> 00:20:19,970 mode som Nate föreslog, men du förmodligen inte riktigt tänkt på 346 00:20:19,970 --> 00:20:22,440 det sedan, det faktum att det är de plats, 10s plats, och 100s 347 00:20:22,440 --> 00:20:23,315 plats, och det är ganska godtycklig. 348 00:20:23,315 --> 00:20:26,210 Och faktiskt, datorer helt enkelt använda denna annorlunda bas. 349 00:20:26,210 --> 00:20:30,160 Men i slutet av dagen, att faktiskt fysiskt representera denna föreställning om en 350 00:20:30,160 --> 00:20:33,130 noll och ett, du uppenbarligen inte bara stänga av belysningen på och av 351 00:20:33,130 --> 00:20:33,445 nödvändigtvis. 352 00:20:33,445 --> 00:20:36,100 Du måste göra det på ett mycket finare korn skala. 353 00:20:36,100 --> 00:20:39,990 Och genom finare säd, kanske du kommer ihåg denna fåniga lilla leksak från barndomen, 354 00:20:39,990 --> 00:20:42,570 Ullig Willy och dessa små magnetiska partiklar. 355 00:20:42,570 --> 00:20:46,440 >> Så magnetiska partiklar är något som du kan anpassa i ett par 356 00:20:46,440 --> 00:20:49,920 olika riktningar, kanske nord-sydlig eller syd-nord. 357 00:20:49,920 --> 00:20:53,470 Och så en hel del fysiska inkarnationer av teknik i dessa dagar som använder 358 00:20:53,470 --> 00:20:57,690 binär, som använder nollor och ettor, har helt enkelt magnetism på insidan 359 00:20:57,690 --> 00:21:04,110 som anpassar saker-ned eller ned-upp, vilket representerar en nolla eller en etta, 360 00:21:04,110 --> 00:21:04,890 respektive. 361 00:21:04,890 --> 00:21:08,930 Så ja, låt oss gå bort från det abstrakta här och titta på insidan 362 00:21:08,930 --> 00:21:10,780 om vad som är en mer traditionell hårddisk. 363 00:21:10,780 --> 00:21:13,840 Den här råkar vara lite större på skärmen, eftersom det är från en stationär 364 00:21:13,840 --> 00:21:18,310 dator, men bärbara idag har fortfarande samma teknik, men gradvis 365 00:21:18,310 --> 00:21:22,140 ersätts av mer sofistikerade saker som faktiskt har inga rörliga 366 00:21:22,140 --> 00:21:25,275 delar - insidan, sedan, av en hårddisk. 367 00:21:25,275 --> 00:21:28,450 >> Högtalare 2: Hårddisken är där din dator lagrar de flesta av 368 00:21:28,450 --> 00:21:29,990 dess permanenta uppgifter. 369 00:21:29,990 --> 00:21:34,710 För att göra det, reser data från RAM samt programvaror signaler som talar 370 00:21:34,710 --> 00:21:37,420 hårddisken hur man lagrar dessa data. 371 00:21:37,420 --> 00:21:40,720 De hårda drivkretsar översätter dessa signaler till spänning 372 00:21:40,720 --> 00:21:42,270 svängningar. 373 00:21:42,270 --> 00:21:46,290 Dessa i sin tur styra hårddiskens rörliga delar, en del av de få 374 00:21:46,290 --> 00:21:48,890 rörliga delar kvar i den moderna datorn. 375 00:21:48,890 --> 00:21:53,400 Några av signalerna styra en motor, vilka skolor metallbelagda skivorna. 376 00:21:53,400 --> 00:21:56,810 Dina uppgifter faktiskt lagras på dessa fat. 377 00:21:56,810 --> 00:21:59,940 Andra signaler flytta läs-skriv huvuden att läsa eller 378 00:21:59,940 --> 00:22:02,030 skriva data på skivorna. 379 00:22:02,030 --> 00:22:06,710 Denna maskin är så exakt att ett mänskligt hårstrå inte ens kunde passera mellan 380 00:22:06,710 --> 00:22:11,390 cheferna för spinning Platters, men det fungerar på en fantastisk hastighet. 381 00:22:11,390 --> 00:22:15,120 >> Högtalare 1: Så vi zooma nu på vad som faktiskt händer på toppen av dessa 382 00:22:15,120 --> 00:22:19,620 skivorna i fråga om magnetism har vi denna andra av två utseende. 383 00:22:19,620 --> 00:22:22,940 >> SPEAKER 3: Låt oss titta på vad vi just såg i slow motion. 384 00:22:22,940 --> 00:22:27,010 När en kort puls av el skickas till läs-skriv huvud, vänder det 385 00:22:27,010 --> 00:22:30,390 på en liten elektromagnetisk för en bråkdel av en sekund. 386 00:22:30,390 --> 00:22:34,280 Magneten skapar ett fält ändras vilket polariteten av en liten, liten 387 00:22:34,280 --> 00:22:37,995 del av metallpartiklar som täcker varje platta yta. 388 00:22:37,995 --> 00:22:41,810 Ett mönster serie av dessa små laddade upp områden på disken är en 389 00:22:41,810 --> 00:22:45,820 enda bit av data i ett binärt tal som används av datorer. 390 00:22:45,820 --> 00:22:49,430 Om nu strömmen sänds en väg genom den läs-skrivhuvudet, område 391 00:22:49,430 --> 00:22:51,170 är polariserat i en riktning. 392 00:22:51,170 --> 00:22:53,250 Om strömmen sänds i motsatt riktning, den 393 00:22:53,250 --> 00:22:55,220 polarisering är omvänd. 394 00:22:55,220 --> 00:22:57,680 Hur får man data från hårddisken? 395 00:22:57,680 --> 00:22:59,400 Bara vända processen. 396 00:22:59,400 --> 00:23:02,050 Så det är partiklarna på disken som får strömmen och läs-skriv 397 00:23:02,050 --> 00:23:03,340 huvud rörelse. 398 00:23:03,340 --> 00:23:06,010 Sätt ihop miljontals dessa magnetiserade segment och 399 00:23:06,010 --> 00:23:07,440 du har en fil. 400 00:23:07,440 --> 00:23:12,240 Nu delar av en fil kan vara utspridda över hela en enhet är fat, 401 00:23:12,240 --> 00:23:15,270 ungefär som röran av papper på skrivbordet. 402 00:23:15,270 --> 00:23:18,800 Så en särskild extra fil håller reda på var allting finns. 403 00:23:18,800 --> 00:23:21,640 Önskar du inte att du hade något sådant? 404 00:23:21,640 --> 00:23:23,340 >> Högtalare 1: Faktiskt. 405 00:23:23,340 --> 00:23:27,560 Så vi har denna förmåga att representera denna information, siffror 406 00:23:27,560 --> 00:23:28,440 på en mycket låg nivå. 407 00:23:28,440 --> 00:23:32,730 Vi har ett fysiskt sätt att representera samma sak, men vi kan inte riktigt 408 00:23:32,730 --> 00:23:36,440 göra så mycket av intresse ännu, annat än möjligen lite aritmetik och 409 00:23:36,440 --> 00:23:36,940 matematik. 410 00:23:36,940 --> 00:23:40,830 Vi har ingen möjlighet att representera så långt saker som bokstäver, 411 00:23:40,830 --> 00:23:44,100 så att vi människor kan kommunicera med hjälp av samma utrustning. 412 00:23:44,100 --> 00:23:48,240 Men tack och lov finns det kodningar, mönster av nollor och ettor 413 00:23:48,240 --> 00:23:52,920 som representerar högre nivå konstruktioner som A och B, och C, och hela 414 00:23:52,920 --> 00:23:54,880 meningar och stycken, och liknande. 415 00:23:54,880 --> 00:24:00,300 Och så ASCII, vilket är en akronym som refererar till detta kodningssystem där 416 00:24:00,300 --> 00:24:04,350 en siffra representerar en viss bokstav - till exempel det antal som vi vet 417 00:24:04,350 --> 00:24:09,120 som decimalvärde 65 kallas bokstav A till datorer. 418 00:24:09,120 --> 00:24:13,670 Det decimala värdet 97 i datorer kallas ett gement en. 419 00:24:13,670 --> 00:24:15,210 Och vad betyder det egentligen? 420 00:24:15,210 --> 00:24:19,510 Tja, även om Nate, en stund sedan, bara räknas upp från noll till åtta, om 421 00:24:19,510 --> 00:24:24,910 vi skulle fortsätta räkna upp till 65, eller ytterligare till 97, mönstret för 422 00:24:24,910 --> 00:24:28,440 nollor och ettor att han skulle ha dragit på skärmen skulle vara exakt 423 00:24:28,440 --> 00:24:33,420 vad en dator använder för att representera bokstaven A i versaler, eller bokstaven a 424 00:24:33,420 --> 00:24:34,610 med små bokstäver. 425 00:24:34,610 --> 00:24:36,690 Och faktiskt, det finns en hel system till detta. 426 00:24:36,690 --> 00:24:41,570 Detta är vid första anblicken, överväldigande diagram av kodningar, men om du fokuserar 427 00:24:41,570 --> 00:24:46,210 bara på den högra halvan här, märker i mellersta kolumnen har vi här 428 00:24:46,210 --> 00:24:49,010 begreppet siffror följt av bokstäver. 429 00:24:49,010 --> 00:24:53,830 Och upptill, har vi 32, och tecknet röding, till vilken 32, den 430 00:24:53,830 --> 00:24:57,360 heltal, nu hänvisar, är tydligen mellanslagstangenten karaktär. 431 00:24:57,360 --> 00:25:00,720 När du får tecknet mellanslag på din bärbara dator, vad du verkligen 432 00:25:00,720 --> 00:25:04,160 sändning är ett tal, ett mönster av nollor och ettor, ett flöde av elektricitet, 433 00:25:04,160 --> 00:25:07,770 om du vill, som representerar de nollor och ettor, att datorn då 434 00:25:07,770 --> 00:25:10,330 tolkar som ett mellanslag på skärmen. 435 00:25:10,330 --> 00:25:12,210 Ett utropstecken är 33. 436 00:25:12,210 --> 00:25:13,345 Citattecken är 34. 437 00:25:13,345 --> 00:25:18,945 Och om vi rulla ner här under till höger ser vi att 65 verkligen är A och 438 00:25:18,945 --> 00:25:21,290 97 är små bokstäver verkligen en. 439 00:25:21,290 --> 00:25:23,910 >> Så nu när vi har den här kodningsschema kan vi börja 440 00:25:23,910 --> 00:25:25,080 stava saker. 441 00:25:25,080 --> 00:25:30,170 Faktum, datorer uttrycker vanligtvis sig i standardenheter, inte 442 00:25:30,170 --> 00:25:33,020 med en individuell bit, som återigen, är inte så lämpligt att bara 443 00:25:33,020 --> 00:25:36,600 representerar noll eller ett, ljus på eller av, utan snarare, med hjälp av 444 00:25:36,600 --> 00:25:37,530 sekvenser av bitar. 445 00:25:37,530 --> 00:25:40,100 Och den vanligaste måttenhet, som ni säkert vet, eller åtminstone 446 00:25:40,100 --> 00:25:41,810 utläsas, är en byte. 447 00:25:41,810 --> 00:25:45,960 En byte är bara åtta bitar, åtta nollor eller ettor i rad. 448 00:25:45,960 --> 00:25:48,090 Så vi kan börja stava saker. 449 00:25:48,090 --> 00:25:52,580 Och så om vi kunde, varför inte prova det här lite kollektivt här? 450 00:25:52,580 --> 00:25:55,670 Finns det åtta personer i det här rummet som skulle vara villiga 451 00:25:55,670 --> 00:25:56,870 att komma upp på scenen? 452 00:25:56,870 --> 00:26:00,880 Du måste vara bekväm visas på kameran, men du behöver egentligen inte 453 00:26:00,880 --> 00:26:03,690 att veta annars vad som händer riktigt än. 454 00:26:03,690 --> 00:26:07,240 Jag ser en person som frivilligt hit. 455 00:26:07,240 --> 00:26:18,380 Två, tre, fyra, fem, sex, sju, och vad sägs om åtta? 456 00:26:18,380 --> 00:26:18,920 Kom upp. 457 00:26:18,920 --> 00:26:22,550 >> Så du är på väg att representera en byte av människor. 458 00:26:22,550 --> 00:26:30,190 Låt mig har du varit 128S plats du 64s plats du 32S plats. 459 00:26:30,190 --> 00:26:32,720 Men vi kommer att mycket snabbt måste vända denna. 460 00:26:32,720 --> 00:26:35,170 Så låt mig träffa er alla där borta. 461 00:26:35,170 --> 00:26:39,840 Och du ska vara i 128S plats hela vägen över, här ungefär som 462 00:26:39,840 --> 00:26:43,080 hundratals rum eller tusentals plats skulle vara längre till vänster, vill vi 463 00:26:43,080 --> 00:26:45,740 den största platshållaren att vara här till vänster också. 464 00:26:45,740 --> 00:26:55,230 Vi har 64s, 32, 16s, 8s, 4s, 2s, och 1s - 465 00:26:55,230 --> 00:26:56,030 utmärkt. 466 00:26:56,030 --> 00:26:58,100 Så nu har vi - 467 00:26:58,100 --> 00:27:00,190 okej, du kan hjälpa mig. 468 00:27:00,190 --> 00:27:01,890 Så nu har vi - vad heter du? 469 00:27:01,890 --> 00:27:02,560 JOANNE: Joanne. 470 00:27:02,560 --> 00:27:06,240 Högtalare 1: Så Joanne och jag ska nu råda dessa killar om hur vi 471 00:27:06,240 --> 00:27:07,850 kan gå stavning något. 472 00:27:07,850 --> 00:27:10,640 Så på ryggen på sina papper, de har en liten lathund 473 00:27:10,640 --> 00:27:14,720 det kommer att berätta om de representerar en nolla eller en etta. 474 00:27:14,720 --> 00:27:18,000 Och varför inte, för enkelhetens skull kommer vi representerar noll genom att bara 475 00:27:18,000 --> 00:27:19,580 stod där tafatt. 476 00:27:19,580 --> 00:27:20,360 Mycket bra. 477 00:27:20,360 --> 00:27:24,200 Eller en genom att höja handen, vilket motsvarar en en. 478 00:27:24,200 --> 00:27:28,380 Och låt oss se om vi inte kan skriva in en fyra tecken fras här. 479 00:27:28,380 --> 00:27:33,870 >> Så sätt igång nu, volontärer och exekvera runt en genom att höja handen 480 00:27:33,870 --> 00:27:38,940 om du är en en, eller hålla ner om du är en nolla. 481 00:27:38,940 --> 00:27:45,550 Så nu när vi har dessa tre händerna, vilket nummer, alla andra är 482 00:27:45,550 --> 00:27:47,800 De representerar egentligen? 483 00:27:47,800 --> 00:27:48,760 Okej, 67. 484 00:27:48,760 --> 00:27:49,040 Varför? 485 00:27:49,040 --> 00:27:49,970 Tja, snabb förnuft kontrollera. 486 00:27:49,970 --> 00:27:51,910 64s plats, eftersom det är en en. 487 00:27:51,910 --> 00:27:58,870 Det är som en gånger 64, plus 1 gånger två, så det är 66 plus 1 gånger 1. 488 00:27:58,870 --> 00:28:00,610 Det är plus 1, så 67. 489 00:28:00,610 --> 00:28:03,740 Så nu dessa killar är tillsammans representerar 67, som uppenbarligen 490 00:28:03,740 --> 00:28:06,240 representerar vad här i ASCII? 491 00:28:06,240 --> 00:28:06,510 Okej, 492 00:28:06,510 --> 00:28:07,650 så ett C. Okej. 493 00:28:07,650 --> 00:28:09,530 Så låt oss nu gå vidare till runda två. 494 00:28:09,530 --> 00:28:12,735 Alla börjar med händerna ner och sedan runt två. 495 00:28:12,735 --> 00:28:15,260 Egentligen finns det inte mycket av en roll här, antar jag, men vi låtsas. 496 00:28:15,260 --> 00:28:19,820 Så runda två, höja eller sänka dina händer. 497 00:28:19,820 --> 00:28:20,530 >> Okej. 498 00:28:20,530 --> 00:28:23,230 Publik, vad är vi nu? 499 00:28:23,230 --> 00:28:24,860 Att uttrycka är 83. 500 00:28:24,860 --> 00:28:26,050 Så du kan göra matematiken. 501 00:28:26,050 --> 00:28:29,810 Men för någon vars hand är upp, lägger du i det antal som de representerar. 502 00:28:29,810 --> 00:28:31,610 Så nu har vi 83. 503 00:28:31,610 --> 00:28:36,510 Låt oss utöka fusklapp lite, och vi har nu - 504 00:28:36,510 --> 00:28:38,890 detta kan vara självklart vart vi ska här, men 505 00:28:38,890 --> 00:28:42,220 ändå runda tre. 506 00:28:42,220 --> 00:28:45,870 Okej, är rund tre bra att gå ner dit, så rund tre, vilket nummer är 507 00:28:45,870 --> 00:28:47,120 dessa killar som företräder nu? 508 00:28:50,090 --> 00:28:56,690 Okej, jag hörde 53, som nu representerar - intressant. 509 00:28:56,690 --> 00:29:00,770 Nu varför denna typ av counter-intuitivt resultat, eller hur? 510 00:29:00,770 --> 00:29:02,910 Om vi ​​vill representera fem - 511 00:29:02,910 --> 00:29:03,900 vi alla förmodligen vet var detta kommer - 512 00:29:03,900 --> 00:29:07,360 varför inte jag höjer bara fyra rum och de plats? 513 00:29:07,360 --> 00:29:10,060 >> Tja, inser vi att det finns en skillnad i grunden, mellan hur 514 00:29:10,060 --> 00:29:11,760 en dator tolkar dessa bitar. 515 00:29:11,760 --> 00:29:15,470 Om du försöker att representera nummer fem, då absolut, vi bara 516 00:29:15,470 --> 00:29:18,330 upp handen nummer fyra och höja handen nummer ett. 517 00:29:18,330 --> 00:29:20,010 Men vi är inte företräder siffror här. 518 00:29:20,010 --> 00:29:23,690 Det sammanhang här på scenen är att vi företräder tecken eller 519 00:29:23,690 --> 00:29:28,110 tecken, och i detta sammanhang har datorn att inse att åh, detta 520 00:29:28,110 --> 00:29:30,720 mönster av bitar är inte ett nummer ensam. 521 00:29:30,720 --> 00:29:33,210 Det är faktiskt representerar en högre nivå koncept. 522 00:29:33,210 --> 00:29:35,010 I det här fallet, en alfabetisk bokstav. 523 00:29:35,010 --> 00:29:38,820 Så det faktum att det nu representerar numret fem med 524 00:29:38,820 --> 00:29:44,290 värde 53 beror i ASCII, det vi estetiskt ser som 525 00:29:44,290 --> 00:29:48,200 nummer fem själv behöver ett mönster av bitar - för varför? 526 00:29:48,200 --> 00:29:51,310 Tja, beslutade världen bara för att använda den lägre nummer, noll, en, två, 527 00:29:51,310 --> 00:29:54,130 tre för vad såg ut att vara ganska kryptiska saker. 528 00:29:54,130 --> 00:29:56,830 Och faktiskt, det är de tecken som inte finns på ett tangentbord. 529 00:29:56,830 --> 00:30:00,330 Särskilda uttryck som du behöver i en dator för att göra intressanta saker, men 530 00:30:00,330 --> 00:30:02,010 människor aldrig skriva dem. 531 00:30:02,010 --> 00:30:04,220 Så 53 faktiskt representerar fem. 532 00:30:04,220 --> 00:30:10,460 Nu precis som en sista sanity check, vilket nummer bör de 533 00:30:10,460 --> 00:30:12,880 utgör i ett ögonblick? 534 00:30:12,880 --> 00:30:14,060 Okej, så 48. 535 00:30:14,060 --> 00:30:15,720 Och faktiskt, gå vidare, runda fyra. 536 00:30:18,650 --> 00:30:22,680 16 plus 32 är verkligen 48. 537 00:30:22,680 --> 00:30:26,510 Och så en stor applåd, om vi kunde, för våra åtta volontärer här. 538 00:30:31,410 --> 00:30:32,660 Mycket bra gjort. 539 00:30:35,290 --> 00:30:36,490 Någon riktning är bra. 540 00:30:36,490 --> 00:30:41,050 >> Så vi har nu ett sätt inte bara tänka på hur att representera data, 541 00:30:41,050 --> 00:30:44,120 och faktiskt representerar den fysiskt, men också gör högre 542 00:30:44,120 --> 00:30:45,710 nivå saker ovanpå. 543 00:30:45,710 --> 00:30:48,430 Och faktiskt, detta kommer att bli ett tema i hela datavetenskap på 544 00:30:48,430 --> 00:30:52,410 bygga mer och mer intressant och komplex saker ovanpå 545 00:30:52,410 --> 00:30:54,030 ganska enkla idéer - 546 00:30:54,030 --> 00:30:56,170 I det här fallet, bara nollor och ettor. 547 00:30:56,170 --> 00:31:00,120 När det gäller varför detta är bra, bra, även om det i en kurs som denna, 548 00:31:00,120 --> 00:31:03,810 Vi ska fokusera på fundamenta, och programmering, och på att lösa av 549 00:31:03,810 --> 00:31:07,050 problem, kan du gå ut i datavetenskap i valfritt antal riktningar. 550 00:31:07,050 --> 00:31:10,950 I detta fallet här, är detta ett diagram som du har på baksidan av din 551 00:31:10,950 --> 00:31:14,580 inofficiell guide till CS på Harvard, en av dagens två utskrifter. 552 00:31:14,580 --> 00:31:17,450 Detta tyder på många olika riktningar som du kan gå efter en 553 00:31:17,450 --> 00:31:18,400 kurs så här - 554 00:31:18,400 --> 00:31:21,530 lära sig om artificiell intelligens, om grafik, om 555 00:31:21,530 --> 00:31:24,370 maskininlärning, om språket självt. 556 00:31:24,370 --> 00:31:26,410 Inse också, att det finns ännu andra vägar. 557 00:31:26,410 --> 00:31:28,670 Det finns fler matematiska banor i datavetenskap. 558 00:31:28,670 --> 00:31:31,740 Om du inte ens kan ta något som CS50 höst, det finns 559 00:31:31,740 --> 00:31:35,070 introduktionskurser på våren, datalogi 1, till exempel, är 560 00:31:35,070 --> 00:31:38,050 ännu en på ramp till denna nya värld. 561 00:31:38,050 --> 00:31:41,600 >> Nu som en sidoreplik, i syfte att lösa problem som rör kurser, 562 00:31:41,600 --> 00:31:46,050 inser CS50 anges för en tid sedan att försöka lösa ett av dessa problem, en 563 00:31:46,050 --> 00:31:49,640 problem som kallas my.harvard, som många av er kanske använder faktiskt 564 00:31:49,640 --> 00:31:54,040 shop för kurser, men om inte, kolla in ett verktyg som detta, samt andra 565 00:31:54,040 --> 00:31:57,800 ättlingar att några av våra tidigare studenter och personal har skapat. 566 00:31:57,800 --> 00:32:00,770 Men i Harvard Kurser, vilket är ett webbaserat verktyg, något som du 567 00:32:00,770 --> 00:32:05,510 kommer att kunna designa och distribuera er, liksom ännu 568 00:32:05,510 --> 00:32:09,210 andra saker också i slutet av terminen, inse att detta bygger 569 00:32:09,210 --> 00:32:10,590 på en öppen datamängd. 570 00:32:10,590 --> 00:32:13,490 I det här fallet, naturligtvis, katalog, och tillåter eleverna i detta fall 571 00:32:13,490 --> 00:32:16,320 utforska en ganska komplex datamängd. 572 00:32:16,320 --> 00:32:19,495 >> Vi grävde upp igår kväll ett par statistik baserad på de några tusen folk som 573 00:32:19,495 --> 00:32:21,530 har använt detta under de senaste dagarna. 574 00:32:21,530 --> 00:32:25,260 Om du har varit nyfiken på hur många kurser dina vänner faktiskt 575 00:32:25,260 --> 00:32:29,720 tenderar att handla, ja, idag dessa uppgifter tyder på att 7,6 är den genomsnittliga 576 00:32:29,720 --> 00:32:32,610 antal kurser på någons inköpslista. 577 00:32:32,610 --> 00:32:36,350 Och nu ska jag ge er också statistiken för flest antal 578 00:32:36,350 --> 00:32:39,550 kurser i någons inköpslista - och vi alla vet förmodligen 579 00:32:39,550 --> 00:32:40,800 någon som denna. 580 00:32:43,820 --> 00:32:46,740 201 är årets rekord. 581 00:32:46,740 --> 00:32:52,320 Nu några av våra tidigare studenter och personal sätta faktiskt ihop ett klipp till 582 00:32:52,320 --> 00:32:55,560 måla en bild för er om vad denna väg för datavetenskap 583 00:32:55,560 --> 00:32:57,360 och CS50 själv är. 584 00:32:57,360 --> 00:33:02,060 Låt mig gå vidare och dra upp, tack vare mr Harvahd här, en video producerad av 585 00:33:02,060 --> 00:33:06,825 några av dina föregångare, om vi kunde hålla lyser för detta. 586 00:33:10,980 --> 00:35:39,126 [Musik spelar] 587 00:35:39,126 --> 00:35:42,630 >> Högtalare 1: Jag hade ingen aning om att det skulle hända. 588 00:35:42,630 --> 00:35:46,170 Så en mer allvarlig titt på vad som ligger framför oss. 589 00:35:46,170 --> 00:35:49,060 Så när det gäller de förväntningar på denna kurs, du verkligen förväntas 590 00:35:49,060 --> 00:35:52,817 närvara eller titta på kursens föreläsningar, skicka åtta problemområden uppsättningar, ta två 591 00:35:52,817 --> 00:35:54,720 frågesporter, lämna en slutlig projekt. 592 00:35:54,720 --> 00:35:58,640 När det gäller betyg, inser att mina kommentarer vid öppningen om 593 00:35:58,640 --> 00:36:02,380 pass-misslyckas, något som vi verkligen ta till hjärtat i CS50 - det finns inte 594 00:36:02,380 --> 00:36:05,110 nästan nog av en kultur vid Harvard att försöka 595 00:36:05,110 --> 00:36:07,080 något och riskera misslyckande. 596 00:36:07,080 --> 00:36:09,870 Faktum hade vi antalet studenter, och jag själv i synnerhet, som var 597 00:36:09,870 --> 00:36:15,310 orolig att skada din GPA, eller att få en B ungefär CS50, 598 00:36:15,310 --> 00:36:19,222 och möjlighet att ta en kurs som denna och andra kurser gateway på 599 00:36:19,222 --> 00:36:23,950 Den inledande nivån godkänd / underkänd är en mycket underutnyttjad möjlighet till detta 600 00:36:23,950 --> 00:36:24,740 college i allmänhet. 601 00:36:24,740 --> 00:36:29,750 Och så du vet, även jag inskriven i kursen ursprungligen för godkänd / underkänd 602 00:36:29,750 --> 00:36:32,840 kredit ensam, och även om jag gjorde brytare i slutet av dagen, det var 603 00:36:32,840 --> 00:36:36,170 de fem första veckorna, upp till den femte måndag av terminen, vilket är 604 00:36:36,170 --> 00:36:39,700 cutoff, som får mig att verkligen sätta foten i dessa nya 605 00:36:39,700 --> 00:36:43,660 vatten, och faktiskt prova något mycket främmande och mycket obehagligt 606 00:36:43,660 --> 00:36:45,540 för mig på den tiden. 607 00:36:45,540 --> 00:36:49,440 >> Så när det gäller nu vilken roll de olika vinklar genom vilka du kan 608 00:36:49,440 --> 00:36:51,530 närma sig denna kurs tjäna - 609 00:36:51,530 --> 00:36:53,080 så föreläsningar. Det är upp till dig. 610 00:36:53,080 --> 00:36:56,550 Om du samarbeta med oss ​​personligen på denna plats, ja, vi vet 611 00:36:56,550 --> 00:37:00,920 statistiskt att ungefär 40% av er kommer slags komma och gå över 612 00:37:00,920 --> 00:37:05,140 under terminen och 10% av er att vi aldrig kommer att se igen efter dag. 613 00:37:05,140 --> 00:37:07,540 Och det är väl bra, för att vara ärlig. 614 00:37:07,540 --> 00:37:10,470 En av de definierande egenskaperna hos CS50 är att det är dessa 615 00:37:10,470 --> 00:37:14,220 otaliga resurser, av vilka en del kommer vi skramla igenom på bara ett ögonblick, 616 00:37:14,220 --> 00:37:17,890 inklusive föreläsningar och sektioner och saker som kallas genomgångar och Office 617 00:37:17,890 --> 00:37:20,850 timmar och liknande, och det är mer resurser än den typiska studenten 618 00:37:20,850 --> 00:37:24,400 ska behöva eller kan fysiskt dra nytta av, men det beror på 619 00:37:24,400 --> 00:37:27,510 de disparata lärstilar att alla studenterna visar. 620 00:37:27,510 --> 00:37:31,590 Och så i föreläsningar, är den primära rollen som jag ser det inte verbalt trycka 621 00:37:31,590 --> 00:37:35,360 ut ganska komplext material och nödvändighet leverera alla 622 00:37:35,360 --> 00:37:39,040 krångligheter grunderna som vi ska undersöka den här terminen, men 623 00:37:39,040 --> 00:37:42,430 snarare att göra saker som vi har gjort hittills redan, dessa exempel 624 00:37:42,430 --> 00:37:46,480 avser människor på scenen försöker måla en mental bild, och även 625 00:37:46,480 --> 00:37:49,430 skapa, vågar jag säga, några av dessa minnesvärda stunder, så att även när du 626 00:37:49,430 --> 00:37:53,280 kämpa med vissa ämnen, har du dessa minnen, som oh, trots 627 00:37:53,280 --> 00:37:56,740 Det var ganska abstrakt, matematik blev jag förlorade med bär en, som, 628 00:37:56,740 --> 00:38:00,260 det verkligen, i slutet av dagen, är inte så olik något jag 629 00:38:00,260 --> 00:38:01,060 redan vet. 630 00:38:01,060 --> 00:38:04,560 Och så den roll som föreläsningar kommer att fungera antingen personligen här i Sanders 631 00:38:04,560 --> 00:38:09,040 eller online på video är verkligen att sätta scenen mentalt för dig varje vecka 632 00:38:09,040 --> 00:38:12,370 för de olika begrepp och problem som vi kommer att dyka in. 633 00:38:12,370 --> 00:38:16,800 >> När det gäller de höga begrepp, kan de flesta av dessa ord rinna över 634 00:38:16,800 --> 00:38:17,670 huvudet för tillfället. 635 00:38:17,670 --> 00:38:18,680 Och det är bra. 636 00:38:18,680 --> 00:38:21,210 De av er som kommer att komma i kursen mer bekväm känner av 637 00:38:21,210 --> 00:38:24,870 några av dessa frågor, men typiskt för att 10% av klassen som 638 00:38:24,870 --> 00:38:28,600 De har mycket mer bakgrund, med AP datavetenskap, programmering eftersom 639 00:38:28,600 --> 00:38:31,850 de var 12, inse att det kommer att finnas möjligheter i sektioner och 640 00:38:31,850 --> 00:38:36,030 Problemet ställer för att gå ännu mer djup i olika ämnen, fylla i 641 00:38:36,030 --> 00:38:39,590 vad luckor du kan ha på din high school eller tidigare bakgrund. 642 00:38:39,590 --> 00:38:43,440 När det gäller de språk, inser att det språk vi använder i CS50 är 643 00:38:43,440 --> 00:38:45,360 irrelevant vid slutet av dagen. 644 00:38:45,360 --> 00:38:49,500 Vi råkar använda främst ett språk som kallas C. Mot slutet av 645 00:38:49,500 --> 00:38:53,260 termin presenterar vi webb-centrerad språk som PHP och JavaScript. 646 00:38:53,260 --> 00:38:56,800 Men vi och andra kan lära en kurs så här i de flesta alla moderna 647 00:38:56,800 --> 00:38:57,740 högnivåspråk - 648 00:38:57,740 --> 00:39:01,710 Python och Ruby, och andra är mycket populär i dessa dagar, eftersom inse, 649 00:39:01,710 --> 00:39:04,350 i slutet av dagen, du lär inte i detta C. Du är inte 650 00:39:04,350 --> 00:39:06,310 lära PHP eller Javascript. 651 00:39:06,310 --> 00:39:10,190 Du lär sig att lösa problem, vare webbaserad, datorbaserade eller 652 00:39:10,190 --> 00:39:14,810 data-orienterade själv, med hjälp av dessa helt enkelt som verktyg. 653 00:39:14,810 --> 00:39:17,910 >> Nu när det gäller logistik, kommer du använda något slut kallas 654 00:39:17,910 --> 00:39:18,810 CS50 Appliance. 655 00:39:18,810 --> 00:39:22,150 Spelar ingen roll om du har en Mac, en PC, en Linux-dator eller liknande, 656 00:39:22,150 --> 00:39:25,740 har du fritt tillgänglig programvara börjar nästa vecka som att använda 657 00:39:25,740 --> 00:39:28,890 den CS50 Appliance, en virtuell miljö som du kommer att använda på din 658 00:39:28,890 --> 00:39:32,720 egen dator, så att du och alla dina klasskamrater har en enhetlig Linux 659 00:39:32,720 --> 00:39:34,220 skrivbordet i det här fallet. 660 00:39:34,220 --> 00:39:37,010 Det är problemet uppsättningar, men där du verkligen får dina händer 661 00:39:37,010 --> 00:39:37,910 smutsiga i kursen. 662 00:39:37,910 --> 00:39:40,820 Och i slutet av dagen, det är problemet set, tror jag, som verkligen 663 00:39:40,820 --> 00:39:43,510 definiera en elevs erfarenhet i denna kurs. 664 00:39:43,510 --> 00:39:46,660 Inse att många av de problem uppsättningar kommer att släppas i två versioner - 665 00:39:46,660 --> 00:39:50,140 en standard edition som vi förväntar oss och uppmuntrar 90% av 666 00:39:50,140 --> 00:39:51,690 klass att dyka in. 667 00:39:51,690 --> 00:39:55,255 Men vi släppte också några problem uppsättningar i så kallade hackare upplagor, och du 668 00:39:55,255 --> 00:39:58,110 vet att det är hacker upplagan, eftersom på varje sida med en vattenstämpel, det 669 00:39:58,110 --> 00:39:59,970 säger hacker upplaga på den. 670 00:39:59,970 --> 00:40:03,390 Och det är för denna demografiska av er som har AP datavetenskap med 10 671 00:40:03,390 --> 00:40:06,500 år programmering under bältet, och funderar på att fylla i dessa luckor, 672 00:40:06,500 --> 00:40:10,170 och att ha mer formella, snarare än självlärd utbildning kanske inser 673 00:40:10,170 --> 00:40:13,420 att det finns en mycket stor demografisk i klassen som har 674 00:40:13,420 --> 00:40:15,230 precis samma mål. 675 00:40:15,230 --> 00:40:16,460 Du har fem sena dagar. 676 00:40:16,460 --> 00:40:19,380 Problem apparater är i allmänhet beror på torsdagar, men du kan förlänga fem av 677 00:40:19,380 --> 00:40:22,900 dessa tidsfrister med dessa saker som kallas sent dagar, och vi kommer även släppa 678 00:40:22,900 --> 00:40:25,520 din lägsta poängen i slutet av terminen, per 679 00:40:25,520 --> 00:40:27,540 uppgifterna i kursplanen. 680 00:40:27,540 --> 00:40:31,630 >> Men en annan kännetecken för CS50 åren blivit kontor 681 00:40:31,630 --> 00:40:36,060 timmar, en möjlighet som du såg visuellt i bilder lite sedan i vilken 682 00:40:36,060 --> 00:40:39,090 samlas vi tidigare i huset matsalar, dessförinnan i 683 00:40:39,090 --> 00:40:42,120 källaren av Science Center och i år i Annenberg Hall, fyra 684 00:40:42,120 --> 00:40:45,670 kvällar i veckan från 20:00 till 11:00, där du kommer att ha detta mycket 685 00:40:45,670 --> 00:40:49,810 gemensam erfarenhet av att arbeta på, kämpar genom vissa problem, 686 00:40:49,810 --> 00:40:52,520 men med en betydande stödstruktur på plats. 687 00:40:52,520 --> 00:40:55,780 Faktum är att hur detta kommer att fungera kommer du fram till Annenberg om du har 688 00:40:55,780 --> 00:40:56,950 några frågor under veckan. 689 00:40:56,950 --> 00:41:00,190 Du kommer att få din bärbara dator kommer du sitta ner, ta lite mat, och du kommer att logga 690 00:41:00,190 --> 00:41:04,100 in till CS50 diskutera, en webbaserad verktyg som lärarna har 691 00:41:04,100 --> 00:41:07,860 utvecklas som gör att du kan skicka frågor och se uppföljningar i ett 692 00:41:07,860 --> 00:41:12,590 typiska diskussionsforum mening, med hjälp av etiketter och liknande, och automatisk komplettering 693 00:41:12,590 --> 00:41:13,790 att söka data. 694 00:41:13,790 --> 00:41:17,950 Men du kommer också att kunna, under de tider kontorstid, har din 695 00:41:17,950 --> 00:41:20,490 frågor eskalerade faktiska människor. 696 00:41:20,490 --> 00:41:24,000 Faktum är målet slutligen så att en, vi börjar bygga upp över 697 00:41:24,000 --> 00:41:27,740 Under terminen en korpus med förhoppningsvis riktigt användbar information, 698 00:41:27,740 --> 00:41:31,770 gemensamma svar på vanliga frågor, så att du själv kan lösa problem 699 00:41:31,770 --> 00:41:35,980 och få misslyckades så snabbt som möjligt, samtidigt som undervisningen 700 00:41:35,980 --> 00:41:40,320 personal - vanligtvis 20% till 30% av undervisningen medmänniskor och kurs assistenter 701 00:41:40,320 --> 00:41:41,780 på personalen på en gång. 702 00:41:41,780 --> 00:41:45,150 >> Vi kommer att ha vad som kallas den CS50 Greeter i Annenberg, och när vi 703 00:41:45,150 --> 00:41:46,610 bestämma att, vet du vad? 704 00:41:46,610 --> 00:41:50,900 Denna fråga, svara vi verkligen effektivt på nätet. 705 00:41:50,900 --> 00:41:51,930 Vi behöver se din dator. 706 00:41:51,930 --> 00:41:53,470 Vi vill prata med dig en på en. 707 00:41:53,470 --> 00:41:56,060 Du är verkligen kämpar, och du därför vill prata en om en 708 00:41:56,060 --> 00:41:59,160 tillsammans någon, kommer du att skickas till CS50 Greeter, en 709 00:41:59,160 --> 00:42:02,700 undervisning karl innehav, bokstavligen, en iPod som har elevernas namn på en 710 00:42:02,700 --> 00:42:04,880 sida, undervisning personalens namn på den andra. 711 00:42:04,880 --> 00:42:07,900 Vi kommer att samla in ditt namn, följt av namnet på en lärare, och din 712 00:42:07,900 --> 00:42:12,020 datorskärmen börjar blinka, säger gå se Alice eller vänligen 713 00:42:12,020 --> 00:42:14,110 gå se Bob på personalen bordet. 714 00:42:14,110 --> 00:42:17,240 Och så på detta sätt kommer vi att kunna skicka saker så effektivt som 715 00:42:17,240 --> 00:42:22,030 möjligt, samt vägleda dig mot lösningar allt lättare. 716 00:42:22,030 --> 00:42:25,900 I avsnitten kommer dessa att finnas möjligheter till mer intima hands- 717 00:42:25,900 --> 00:42:30,080 på möjligheter med en av de pedagogiska medmänniskor och 12 till 16 eller så 718 00:42:30,080 --> 00:42:34,020 dina klasskamrater, där varje vecka, kommer vi att ha problem i problemet uppsättningen 719 00:42:34,020 --> 00:42:36,750 som ber en rad konceptuella frågor, och ett antal lagom stora 720 00:42:36,750 --> 00:42:39,180 programmering frågor som du kan räkna ut på egen hand, och du kan 721 00:42:39,180 --> 00:42:42,140 arbeta på egen hand, men i samband med avsnittet kommer vi att arbeta igenom 722 00:42:42,140 --> 00:42:45,230 kollektivt del av dessa problem och gå där 723 00:42:45,230 --> 00:42:46,700 konversation tar oss. 724 00:42:46,700 --> 00:42:51,340 >> Dessutom kommer i avsnitt du har möjlighet att granska inlagor 725 00:42:51,340 --> 00:42:54,470 läxor som du har gjort, dina klasskamrater, ibland anonymiseras, 726 00:42:54,470 --> 00:42:56,780 alltid med en opt-in, om du vill dela 727 00:42:56,780 --> 00:42:57,930 arbete som du har skickat. 728 00:42:57,930 --> 00:43:00,890 Så det kommer verkligen vara en två riktningar samtal och möjlighet att 729 00:43:00,890 --> 00:43:05,050 granska ditt eget arbete på ett mycket mer dynamiskt mening snarare än att bara 730 00:43:05,050 --> 00:43:08,620 titta på en PDF eller utskrift och tänka på det i några sekunder 731 00:43:08,620 --> 00:43:10,760 och inte nödvändigtvis absorbera den feedback som 732 00:43:10,760 --> 00:43:12,270 lärare har lämnat. 733 00:43:12,270 --> 00:43:14,670 Och du kommer att använda ett verktyg som här kallas CS50 utrymmen. 734 00:43:14,670 --> 00:43:18,165 För de som känner, det är det språk som kallas C uppe till vänster, och 735 00:43:18,165 --> 00:43:21,360 Du får veta detta över tiden, men detta är en webbaserad verktyg som vi ska 736 00:43:21,360 --> 00:43:25,350 använda i avsnitt som gör att du och dina 15-tal klasskamrater att logga in med 737 00:43:25,350 --> 00:43:27,120 din undervisning kolleger längst fram i rummet. 738 00:43:27,120 --> 00:43:28,890 Du kommer att kunna skriva kod i det här fönstret. 739 00:43:28,890 --> 00:43:31,800 Du kommer att kunna chatta elektroniskt om du egentligen inte på avsnitt i 740 00:43:31,800 --> 00:43:35,300 just det ögonblicket, och din undervisning karl, när det blir dags att 741 00:43:35,300 --> 00:43:41,295 diskutera Alice eller Bob lösning i klassen, kan undervisningen karl på en 742 00:43:41,295 --> 00:43:45,210 knappen och voila, projekt på skärmen vad det eleven har 743 00:43:45,210 --> 00:43:47,120 arbetar vid denna speciella tidpunkt. 744 00:43:47,120 --> 00:43:50,400 Så för de av er har vänner som har tagit CS50 i det förflutna, inser 745 00:43:50,400 --> 00:43:53,790 att avsnitt har kraftigt startats i år att vara ännu mer 746 00:43:53,790 --> 00:43:57,700 aktiv, desto mer dynamisk och verkligen en tvåvägskommunikation mellan 747 00:43:57,700 --> 00:44:00,300 lärare och studenter. 748 00:44:00,300 --> 00:44:01,160 >> Och genomgångar. 749 00:44:01,160 --> 00:44:04,520 Så för dessa problemområden apparater erbjuder vi också inte bara specifikationen 750 00:44:04,520 --> 00:44:08,110 själv, vilket är i allmänhet en ganska detaljerad PDF, men också saker känd 751 00:44:08,110 --> 00:44:12,070 som genomgångar, där en medlem av lärare kommer att leda en vecka 752 00:44:12,070 --> 00:44:15,460 session som bokstavligen går igenom problemet set, vilket ger dig 753 00:44:15,460 --> 00:44:18,700 tips och råd, och utgångspunkter, och är tänkt att be mycket 754 00:44:18,700 --> 00:44:21,370 vanliga frågor: Var ska jag börja? 755 00:44:21,370 --> 00:44:25,550 Tja, du börjar antingen genom att dyka in spec på egen hand, eller genom att delta i 756 00:44:25,550 --> 00:44:27,230 eller titta på dessa genomgångar. 757 00:44:27,230 --> 00:44:29,550 Den första genomgång i själva verket kommer att vara på fredag. 758 00:44:29,550 --> 00:44:32,120 De kommer att vara på fredagar, inte så mycket för att vi tror att det kommer att bli en populär 759 00:44:32,120 --> 00:44:34,940 tid, men eftersom vi sedan kan filma dem mycket i början av veckan och få 760 00:44:34,940 --> 00:44:38,410 dem online med helgen så att du har så många dagar som möjligt 761 00:44:38,410 --> 00:44:40,530 faktiskt engagera sig i innehållet också. 762 00:44:40,530 --> 00:44:43,050 Men mer om detta i föreläsning på fredag. 763 00:44:43,050 --> 00:44:46,930 >> Nu i termer av stödkonstruktionen, är den mest betydelsefulla statistik 764 00:44:46,930 --> 00:44:50,600 kanske de 108 pedagogiska stipendiater och assistenter kurs som denna kurs 765 00:44:50,600 --> 00:44:51,870 har idag. 766 00:44:51,870 --> 00:44:54,490 Om några av er som inte har motstridiga klasser skulle vilja gå 767 00:44:54,490 --> 00:44:58,900 mig här på scenen, det är dessa killar som i slutändan kommer verkligen definierar din 768 00:44:58,900 --> 00:45:00,150 erfarenhet i kursen. 769 00:45:08,890 --> 00:45:11,870 Jag hade en hel del undervisning Fellow undervisar mig klasser i dag, och jag 770 00:45:11,870 --> 00:45:15,650 minns mycket få av dem, ärligt talat, men hittills jag fortfarande minns bland 771 00:45:15,650 --> 00:45:19,990 de få min CS50 TF, som verkligen hjälpte mig svara på frågor, som verkligen 772 00:45:19,990 --> 00:45:22,830 hjälpte mig när jag kämpade, och verkligen var en partner i detta 773 00:45:22,830 --> 00:45:25,770 erfarenhet av att lära sig ett helt nytt värld. 774 00:45:25,770 --> 00:45:29,100 I lite, kommer alla dessa killar med dig utanför för tårta, som 775 00:45:29,100 --> 00:45:32,560 är en tradition av CS50, i tvärskeppet i Memorial Hall, men låt mig 776 00:45:32,560 --> 00:45:36,980 1:e introducera dig till Nate Hardison igen, Rob Bowden, och Tommy 777 00:45:36,980 --> 00:45:39,370 McWilliams, chef årets kurs. 778 00:45:39,370 --> 00:45:41,385 Om ni skulle träffa mig här i mitten. 779 00:45:47,380 --> 00:45:50,045 De har alla förberett några inspirerande kommentarer. 780 00:45:53,212 --> 00:45:55,775 >> TOMMY McWilliams: Jag har inte förbereda något inspirerande. 781 00:45:55,775 --> 00:45:57,170 Men mitt namn är Tommy. 782 00:45:57,170 --> 00:45:58,370 Jag är en senior i Mather. 783 00:45:58,370 --> 00:46:01,620 Jag studerar datavetenskap, verkligen spännande att vara på huvudena laget och 784 00:46:01,620 --> 00:46:03,720 att gå igenom CS50 resan med dig. 785 00:46:03,720 --> 00:46:06,750 Vad jag verkligen gillar med CS50 är hur det verkligen lär dig att tänka på 786 00:46:06,750 --> 00:46:08,180 problem på ett nytt sätt. 787 00:46:08,180 --> 00:46:11,170 Detta är verkligen en färdighet som kommer att vara ovärderlig, oavsett vilket fält 788 00:46:11,170 --> 00:46:12,090 du går in. 789 00:46:12,090 --> 00:46:14,800 Och inte bara det, men vi erbjuder mer gratis godis än någon 790 00:46:14,800 --> 00:46:16,050 andra kurs på campus. 791 00:46:22,730 --> 00:46:24,350 Så jag bara verkligen fram emot att se vad 792 00:46:24,350 --> 00:46:25,645 alla bygger den här terminen. 793 00:46:25,645 --> 00:46:28,860 Och om någon har några frågor nu eller hela terminen, definitivt 794 00:46:28,860 --> 00:46:32,976 gärna nå ut till mig, och jag skulle vara glad att hjälpa till. 795 00:46:32,976 --> 00:46:33,920 >> ROB BOWDEN: Hej. 796 00:46:33,920 --> 00:46:34,670 Jag är Rob Bowden. 797 00:46:34,670 --> 00:46:35,920 Jag är en senior i Kirkland. 798 00:46:40,030 --> 00:46:41,890 Ja, det stämmer. 799 00:46:41,890 --> 00:46:44,070 Vi är alla verkligen glada för detta nästa termin. 800 00:46:44,070 --> 00:46:45,325 Vi hoppas att ni är glada. 801 00:46:49,850 --> 00:46:51,580 Jag hade inte förväntat det. 802 00:46:51,580 --> 00:46:52,530 Ja. 803 00:46:52,530 --> 00:46:56,030 Så vi lägger så mycket möda på att göra den här terminen riktigt bra, och som 804 00:46:56,030 --> 00:46:58,830 länge du är villig att sätta i arbetet, det finns så mycket du kan få 805 00:46:58,830 --> 00:47:00,080 ur denna kurs. 806 00:47:06,810 --> 00:47:10,470 Du kan få en hel del roliga i denna kurs. 807 00:47:10,470 --> 00:47:13,510 Vi skulle inte ha en personalstyrka på 108 om du inte kunde få mycket roligt ut av det, 808 00:47:13,510 --> 00:47:17,450 så bara försöka vara med, och du kommer inte ångra det. 809 00:47:24,815 --> 00:47:26,020 >> NATE Hardison: Hej, grabbar. 810 00:47:26,020 --> 00:47:26,930 Jag är Nate. 811 00:47:26,930 --> 00:47:29,700 Jag är handledare för kursen. 812 00:47:29,700 --> 00:47:31,200 Jag är verkligen glad över att vara här. 813 00:47:31,200 --> 00:47:33,100 Detta är mitt första år här. 814 00:47:33,100 --> 00:47:36,520 Jag hoppas att ni alla tar den här kursen, och njuta av det lika mycket som jag har 815 00:47:36,520 --> 00:47:37,960 haft det så länge. 816 00:47:37,960 --> 00:47:41,520 Och om du någonsin vill lära dig att komma till nio eller tio i binär, kom 817 00:47:41,520 --> 00:47:43,351 prata med mig. 818 00:47:43,351 --> 00:47:46,480 >> Högtalare 1: Så med risk för att lämna killarna här på scenen lite 819 00:47:46,480 --> 00:47:50,330 tafatt, låt oss virvla igenom några av de saker som väntar innan vi 820 00:47:50,330 --> 00:47:51,500 ajournera för tårta. 821 00:47:51,500 --> 00:47:52,980 Vad är det som ligger framför? 822 00:47:52,980 --> 00:47:56,410 Tja, om vi tar en snabb titt tillbaka på förra året, i problem som noll, ditt 823 00:47:56,410 --> 00:47:59,960 föregångare dök i ett programspråk som kallas Scratch, en grafisk 824 00:47:59,960 --> 00:48:03,160 programmeringsspråk du kommer att använda under de första dagarna av kursen, med början 825 00:48:03,160 --> 00:48:07,080 denna fredag, för att lära sig några begrepp obekant för en del av er, men inser 826 00:48:07,080 --> 00:48:10,330 kommer det att finnas en avancerad aspekt av denna för dig med tidigare 827 00:48:10,330 --> 00:48:11,070 bakgrund. 828 00:48:11,070 --> 00:48:14,082 >> I förra årets problem som två, dök eleverna i en värld av 829 00:48:14,082 --> 00:48:17,740 kryptografi, konsten att krypteringsutrustning eller förvränga information, 830 00:48:17,740 --> 00:48:21,310 genomföra program som krypterade data, och i hacker upplagan förra 831 00:48:21,310 --> 00:48:26,710 år har studenterna fortsätter att knäcka eller avkoda lösenord i en typisk 832 00:48:26,710 --> 00:48:31,190 datorns. XC lösenordsfil genom att komma med algoritmer och heuristik för 833 00:48:31,190 --> 00:48:34,980 brute force räkna ut vad någons lösenord på en dator 834 00:48:34,980 --> 00:48:35,770 systemet var. 835 00:48:35,770 --> 00:48:39,820 Förra året eller två, i problemet som fyra gjorde eleverna 836 00:48:39,820 --> 00:48:41,420 genomföra omgång Sudoku. 837 00:48:41,420 --> 00:48:45,180 Och hackare upplagan detta år var eleverna inte bara genomföra hur 838 00:48:45,180 --> 00:48:49,360 spela spelet, men i själva verket en lösare, varvid datorn kan ge dig, 839 00:48:49,360 --> 00:48:52,260 människan, med tips, med snabbare än du lösa 840 00:48:52,260 --> 00:48:53,550 detta särskilda problem. 841 00:48:53,550 --> 00:48:57,420 >> I problembild fem, gjorde vi kriminalteknik, denna konst att återvinna informationen 842 00:48:57,420 --> 00:49:00,160 Det var av misstag eller mycket medvetet 843 00:49:00,160 --> 00:49:01,450 bort från datorn. 844 00:49:01,450 --> 00:49:04,530 Förra året spatserade lärare och jag runt campus tar 845 00:49:04,530 --> 00:49:07,780 fotografier av människor, platser och saker och sedan av misstag 846 00:49:07,780 --> 00:49:10,900 formaterade media kortet på vår kamera som hade alla dessa bilder. 847 00:49:10,900 --> 00:49:15,920 Men inga problem, vi gjorde en kriminalteknik bild av denna mediakortet, delade ut 848 00:49:15,920 --> 00:49:19,410 till alla elever i klassen, och utmanade dem att skriva program som 849 00:49:19,410 --> 00:49:22,240 återhämtade alla JPEG från det kortet. 850 00:49:22,240 --> 00:49:24,720 Och detta är faktiskt en av våra favorit problem uppsättningar, och jag grävde upp en 851 00:49:24,720 --> 00:49:27,750 gamla mail från en av era föregångare som var jättekul att 852 00:49:27,750 --> 00:49:29,940 Läs gång sedan. 853 00:49:29,940 --> 00:49:31,270 >> Detta är från Matt. 854 00:49:31,270 --> 00:49:34,970 Kära David, igår min syster som formaterats av misstag sin kamera SD 855 00:49:34,970 --> 00:49:37,770 kort och förlorade ett års värde av minnesvärda bilder. 856 00:49:37,770 --> 00:49:40,830 Hon är tyvärr inte bäst på att säkerhetskopiera sina data. 857 00:49:40,830 --> 00:49:43,780 Men denna situation påminde mig om p-set fem, så jag tänkte att jag skulle försöka 858 00:49:43,780 --> 00:49:47,620 köra sin SD-kort via återvinna program som jag skrev hela vägen tillbaka 859 00:49:47,620 --> 00:49:48,180 i oktober. 860 00:49:48,180 --> 00:49:51,660 Så efter fyra timmars räkna ut hur man skapar en rå bild från 861 00:49:51,660 --> 00:49:53,350 formaterade SD-kort - 862 00:49:53,350 --> 00:49:56,050 Google visa sig vara ganska bra i detta avseende, tills jag ironiskt 863 00:49:56,050 --> 00:50:00,140 råkade komma över dina instruktioner på Internet - 864 00:50:00,140 --> 00:50:03,080 Efter mixtra runt med några av kommandoradsargument, lyckades jag 865 00:50:03,080 --> 00:50:06,020 att skapa den rättsmedicinska bilden och efter att ha installerat och konfigurerat 866 00:50:06,020 --> 00:50:10,600 CS50 Appliance, lyckades jag köra rättsmedicinska bilden genom mitt program och 867 00:50:10,600 --> 00:50:16,065 återställa alla 1027 i min systers fotografier, skriver Matt. 868 00:50:25,210 --> 00:50:28,600 >> I förra årets problembild sex, gav vi eleverna en ordlista med 869 00:50:28,600 --> 00:50:33,350 150.000 engelska ord och utmanade dem att skriva en stavningskontroll som 870 00:50:33,350 --> 00:50:36,870 svarade frågor av formen är detta ord rättstavat eller felaktigt 871 00:50:36,870 --> 00:50:38,150 så fort som möjligt. 872 00:50:38,150 --> 00:50:41,900 Och på opt-in-basis var studenter tillåts sedan utmana klasskamrater 873 00:50:41,900 --> 00:50:45,220 genom att publicera sina resultat, mängden RAM-minne som de använder, antalet 874 00:50:45,220 --> 00:50:49,190 Processorcykler eller sekunder som de används, så att eleverna därefter rangordnade på 875 00:50:49,190 --> 00:50:53,010 kursens hemsida - igen rent frivillig aspekt av det, men väldigt roligt 876 00:50:53,010 --> 00:50:56,970 eftersom mycket ofta skulle en student få plats nummer 10 eller så på den stora 877 00:50:56,970 --> 00:51:00,370 ombord, på webbplatsen, gå ut på middag och sedan komma tillbaka och inse 878 00:51:00,370 --> 00:51:04,340 hans rumskompis hade just kanter framför honom eller henne på den stora styrelsen, 879 00:51:04,340 --> 00:51:07,620 vilket hälla ytterligare två eller tre timmar bara för att en 880 00:51:07,620 --> 00:51:09,300 upp sin rumskamrat. 881 00:51:09,300 --> 00:51:11,730 >> Så vi ser fram emot att något liknande i år. 882 00:51:11,730 --> 00:51:15,400 I problembild 7 gjorde vi styra i riktning mot webbprogrammering, faktiskt 883 00:51:15,400 --> 00:51:19,320 lösa problem i den ständigt allt vanligare miljö 884 00:51:19,320 --> 00:51:20,300 av en webbläsare. 885 00:51:20,300 --> 00:51:23,670 Vet då allt mindre vi hämtar programvara på Mac och PC, men 886 00:51:23,670 --> 00:51:25,790 allt, vi gör allt i banan. 887 00:51:25,790 --> 00:51:30,140 >> Och faktiskt, förra året cirka 88% av studenternas examensarbeten i kursen 888 00:51:30,140 --> 00:51:31,790 var webbaserad. 889 00:51:31,790 --> 00:51:34,670 Och de är också är färdigheter som du kommer ur denna klass 890 00:51:34,670 --> 00:51:38,410 kursens slut, eftersom vad som väntar i kursens slut är det CS50 Fair, detta 891 00:51:38,410 --> 00:51:42,100 Utställningen som är baserad på idén om en vetenskap rättvis, men i denna version av 892 00:51:42,100 --> 00:51:45,370 en rättvis gör alla elever i klassen ta med sig sina bärbara datorer och deras 893 00:51:45,370 --> 00:51:49,720 vänner och familj och andra till Nordvästra Science, en stor byggnad på 894 00:51:49,720 --> 00:51:53,420 campus, skapa sin bärbara dator, få lite mat, få lite popcorn och dryck, samt 895 00:51:53,420 --> 00:51:57,180 sedan ställa sina slutliga projekt för alla de närvarande, som förra året 896 00:51:57,180 --> 00:52:01,510 numrerade några 2.500 deltagare från hela campus, och uttryck som 897 00:52:01,510 --> 00:52:05,510 detta och så här var inte ovanligt på mässan. 898 00:52:05,510 --> 00:52:09,660 >> Leder fram till mässan är CS50 hackathon, en möjlighet att hoppa på en 899 00:52:09,660 --> 00:52:13,610 Harvard Shuttle, huvudet ner på samma gata till Microsoft vid 8:00 PM, och inte gå hem 900 00:52:13,610 --> 00:52:14,810 till 07:00. 901 00:52:14,810 --> 00:52:19,040 Vi serverar första middag vid 8:00 PM, andra middag klockan 1:00 AM och för dem som fortfarande 902 00:52:19,040 --> 00:52:22,540 stående på 5:00 behandlar vi till pannkakor på IHOP. 903 00:52:22,540 --> 00:52:26,580 Och hackathon är en möjlighet, som på bilden här, att dyka in i din 904 00:52:26,580 --> 00:52:30,470 slutliga projekt, vare sig de arbetar på egen hand eller tillsammans med vänner i en 905 00:52:30,470 --> 00:52:33,770 samarbetsmiljö, där hela lärarkåren fungerar väl 906 00:52:33,770 --> 00:52:37,560 in på natten med ett stort utbud av Hongkong kinesisk mat. 907 00:52:37,560 --> 00:52:43,070 Vid 5:00 AM kommer sådana bilder som dessa vara ganska vanligt i år. 908 00:52:43,070 --> 00:52:48,170 >> Så som vi ajournera ett ögonblick för tårta, kom ihåg att 76% procent av 909 00:52:48,170 --> 00:52:51,720 människor i det här rummet inte har någon tidigare erfarenhet, och enligt kursplanen, 910 00:52:51,720 --> 00:52:55,300 det som i slutändan betyder i denna kurs är inte så mycket där du hamnar 911 00:52:55,300 --> 00:52:59,540 i förhållande till dina klasskamrater, men där du i vecka 11, sluta i förhållande till 912 00:52:59,540 --> 00:53:01,540 själv i vecka 0. 913 00:53:01,540 --> 00:53:03,690 Detta är CS50.