1 00:00:00,000 --> 00:00:02,952 >> [Muziek] 2 00:00:02,952 --> 00:00:11,316 3 00:00:11,316 --> 00:00:13,284 >> [Muziek] 4 00:00:13,284 --> 00:00:18,722 5 00:00:18,722 --> 00:00:19,680 DAVID MALAN: Oké. 6 00:00:19,680 --> 00:00:21,983 Dit is CS50. 7 00:00:21,983 --> 00:00:24,108 [Muziek Tritonal, Cash Cash,  "Onaantastbaar"] 8 00:00:24,108 --> 00:01:40,846 9 00:01:40,846 --> 00:01:41,844 [Muziek] 10 00:01:41,844 --> 00:01:45,337 SPEAKER 1: Ik ga naar Frankrijk, en je zult ook. 11 00:01:45,337 --> 00:01:48,331 [Muziek] 12 00:01:48,331 --> 00:02:38,100 13 00:02:38,100 --> 00:02:41,930 DAVID MALAN: Dit is CS50, Harvard University's introductie 14 00:02:41,930 --> 00:02:44,520 het intellectuele ondernemingen van de informatica 15 00:02:44,520 --> 00:02:47,940 en de kunsten van program-- en Voor het eerst in de geschiedenis, 16 00:02:47,940 --> 00:02:49,800 Yale University's ook. 17 00:02:49,800 --> 00:02:53,830 Inderdaad, of je nu hier in Cambridge of in New Haven of Miami of St. Louis 18 00:02:53,830 --> 00:02:55,550 of Amsterdam of waar dan ook rond de wereld 19 00:02:55,550 --> 00:03:00,080 het nemen van CS50, computer wetenschap E50, CS50X, CS50 AP, 20 00:03:00,080 --> 00:03:02,090 we zijn allemaal één en dezelfde. 21 00:03:02,090 --> 00:03:04,490 Welkom bij CS50. 22 00:03:04,490 --> 00:03:05,380 >> Wat we hebben-- 23 00:03:05,380 --> 00:03:06,348 >> [APPLAUS] 24 00:03:06,348 --> 00:03:07,800 >> [Lacht] 25 00:03:07,800 --> 00:03:10,220 >> [APPLAUS] 26 00:03:10,220 --> 00:03:13,610 27 00:03:13,610 --> 00:03:16,920 >> Dus ik heb een fout gemaakt mezelf sommige tijd geleden, toen ik begon college. 28 00:03:16,920 --> 00:03:21,580 En ik kreeg naar de universiteit, en ik besloot om eerlijk gezegd, blijf in mijn comfort zone. 29 00:03:21,580 --> 00:03:24,475 Ik belandde waarbij een concentratie, of een belangrijke, van de overheid. 30 00:03:24,475 --> 00:03:27,880 Ant dat meestal een functie van me het zijn redelijk bekend met de overheid 31 00:03:27,880 --> 00:03:31,270 of op zijn minst de geschiedenis of ik echt leuk vond grondwettelijk recht op de middelbare school. 32 00:03:31,270 --> 00:03:34,150 En dus toen ik hier kwam, ik soort van aangetrokken in de richting van de dingen 33 00:03:34,150 --> 00:03:35,800 waarmee ik was al bekend. 34 00:03:35,800 --> 00:03:36,300 Rechts? 35 00:03:36,300 --> 00:03:38,167 God verhoede ik slecht in de klas. 36 00:03:38,167 --> 00:03:40,250 Ik zeker wilde blijven binnen mijn comfort zone, 37 00:03:40,250 --> 00:03:43,010 en het was pas tweede jaar dat ik eindelijk 38 00:03:43,010 --> 00:03:46,820 stond op het lef om stap voet in een klaslokaal genaamd CS50. 39 00:03:46,820 --> 00:03:51,150 En op dat punt, heb ik eindelijk beseffen dat, mijn God, huiswerk kon eigenlijk 40 00:03:51,150 --> 00:03:51,910 wees leuk. 41 00:03:51,910 --> 00:03:54,410 >> Inderdaad, ik was een van die kinderen dat op vrijdagavond wanneer 42 00:03:54,410 --> 00:03:57,640 de P-SETS zou worden vrijgelaten, I zou terug naar mijn kamer en duik 43 00:03:57,640 --> 00:03:58,790 in de nacht van P-sets. 44 00:03:58,790 --> 00:04:01,606 En voor mij, dat was een teken dit dat was een veld voor mij. 45 00:04:01,606 --> 00:04:04,480 Maar wat belangrijker was was de feit dat ik sta op deze zenuw 46 00:04:04,480 --> 00:04:08,000 tot de wateren onbekende verkennen voor mij en krijg buiten mijn eigen comfort zone 47 00:04:08,000 --> 00:04:12,320 en eerlijk gezegd, ik was alleen in staat om dat te doen tweede jaar door het nemen van deze klasse 48 00:04:12,320 --> 00:04:13,050 pass / fail. 49 00:04:13,050 --> 00:04:16,470 >> Inderdaad, het was de laatste dag dat Ik heb eindelijk overgeschakeld en ten slotte 50 00:04:16,470 --> 00:04:19,707 verklaarde CS zoals mijn concentratie, zetten gov op dat moment achter me. 51 00:04:19,707 --> 00:04:22,290 En dus zijn we niet, waarin in deze cursus aan u allen te zetten 52 00:04:22,290 --> 00:04:25,780 in CS majors of concentrators, maar veeleer om u de gelegenheid te geven 53 00:04:25,780 --> 00:04:29,780 hopelijk gaan dan de wereld waarmee je bent momenteel bekend 54 00:04:29,780 --> 00:04:33,660 en terug te brengen van deze wereld vaardigheden en kennis en savvy 55 00:04:33,660 --> 00:04:36,220 die u kunt toepassen op uw eigen wereld, of dat nu 56 00:04:36,220 --> 00:04:39,080 in de geesteswetenschappen, sociale wetenschappen, natuurwetenschappen, of daarbuiten. 57 00:04:39,080 --> 00:04:40,871 >> Sterker nog, als je het gevoel een beetje onverschrokken 58 00:04:40,871 --> 00:04:43,250 over het feit dat in deze kamer laat staan ​​in deze klasse, 59 00:04:43,250 --> 00:04:47,560 beseffen dat als geschiedenis een indicatie, 72% van jullie 60 00:04:47,560 --> 00:04:49,802 hebben een CS natuurlijk nooit eerder genomen. 61 00:04:49,802 --> 00:04:52,760 Zo is het met alle middelen niet het geval dat de student zit aan de linkerkant 62 00:04:52,760 --> 00:04:56,850 of naar rechts of voor of achter je weet veel meer over CS 63 00:04:56,850 --> 00:04:58,820 of programmeren in het bijzonder dan jij. 64 00:04:58,820 --> 00:05:00,432 Dat is in feite niet het geval. 65 00:05:00,432 --> 00:05:02,140 En inderdaad, veel de steunconstructie 66 00:05:02,140 --> 00:05:04,600 dat we hebben in deze koers over de afgelopen jaren 67 00:05:04,600 --> 00:05:08,840 is al precies dat reason-- aan zorgen voor een oprit die nog verlaat 68 00:05:08,840 --> 00:05:11,640 net zo rigoureus en net zo hoog als ever-- 69 00:05:11,640 --> 00:05:14,860 maar de helling van die het mogelijk maken de studenten minder comfortabel en comfortabeler 70 00:05:14,860 --> 00:05:18,420 gelijk blijft, ongeacht slagen van zijn of haar eerdere achtergrond. 71 00:05:18,420 --> 00:05:20,610 >> Inderdaad, wat uiteindelijk kwesties in deze klasse is niet 72 00:05:20,610 --> 00:05:22,830 zo veel waar je terecht komt ten opzichte van je klasgenoten 73 00:05:22,830 --> 00:05:26,000 maar waar je in week 12 uiteindelijk ten opzichte van jezelf 74 00:05:26,000 --> 00:05:28,720 week nul, wat waar we zijn hier vandaag. 75 00:05:28,720 --> 00:05:32,315 >> Inderdaad en dit kan heel goed en waarschijnlijk lijkt op Grieks 76 00:05:32,315 --> 00:05:32,940 velen van u. 77 00:05:32,940 --> 00:05:35,200 Maar wees gerust, dat Dit en nog veel meer 78 00:05:35,200 --> 00:05:38,990 zal volledig worden binnen uw vatten in slechts een beetje tijd. 79 00:05:38,990 --> 00:05:41,410 >> Maar vandaag, richten we ons op een aantal van de hogere ideeën niveau 80 00:05:41,410 --> 00:05:43,822 om u een voorproefje van te geven CS50 en informatica 81 00:05:43,822 --> 00:05:45,530 in een gevoel van wat je aanmelden voor. 82 00:05:45,530 --> 00:05:48,000 En inderdaad, de informatica misschien meer worden gedistilleerd 83 00:05:48,000 --> 00:05:51,209 gewoon als computational thinking-- denken als een computer, als je wil. 84 00:05:51,209 --> 00:05:54,000 En er is zoveel verschillende dingen ingrediënten die verder gaan in dat, 85 00:05:54,000 --> 00:05:56,240 maar laten we stellen slechts drie voor vandaag. 86 00:05:56,240 --> 00:05:59,420 Als het doel van de klasse uiteindelijk is niet om je te leren programmeren, 87 00:05:59,420 --> 00:06:03,022 is niet om je te leren C of PHP of SQL of een aantal woorden 88 00:06:03,022 --> 00:06:04,730 en acroniemen in de cursus beschrijving, 89 00:06:04,730 --> 00:06:07,850 maar om je te leren om problemen effectiever 90 00:06:07,850 --> 00:06:11,670 en om meer methodisch denken en meer algoritmisch, om zo te zeggen. 91 00:06:11,670 --> 00:06:13,610 Laten we eens kijken wat dit precies betekent. 92 00:06:13,610 --> 00:06:17,000 >> Dus ik zou denken dat de voorstellen computationeel neer 93 00:06:17,000 --> 00:06:17,834 het oplossen van problemen. 94 00:06:17,834 --> 00:06:19,333 Wat heb je nodig om een ​​probleem op te lossen? 95 00:06:19,333 --> 00:06:21,470 Je moet als input-- de inbreng in de probleem-- 96 00:06:21,470 --> 00:06:23,636 u een uitgang, moet die is hopelijk de oplossing, 97 00:06:23,636 --> 00:06:26,720 en dan heb je een proces nodig om dat probleem op te lossen die 98 00:06:26,720 --> 00:06:30,030 we noemen een algorithm-- een reeks instructies voor het oplossen van een probleem. 99 00:06:30,030 --> 00:06:33,340 >> Maar laten we eerst eens focussen op de eerste en de laatste van deze in- en uitgangen. 100 00:06:33,340 --> 00:06:38,070 Computers immers, blijkbaar alleen begrijpt nullen en enen. 101 00:06:38,070 --> 00:06:39,299 Maar hoe kan dat mogelijk zijn? 102 00:06:39,299 --> 00:06:42,090 Zelfs als je niet bekend bent helemaal met wat er onder de motorkap, 103 00:06:42,090 --> 00:06:44,980 je waarschijnlijk op zijn minst gehoord dat computers begrijpen binary-- 104 00:06:44,980 --> 00:06:48,050 gewoon nullen en ones-- maar hoe kan je eventueel iets interessants te doen? 105 00:06:48,050 --> 00:06:49,960 >> Nou, een van de thema's van de klas gaat 106 00:06:49,960 --> 00:06:53,293 te zijn deze layering-- waar vandaag de dag, zullen we neem een ​​snelle blik op het laagste niveau 107 00:06:53,293 --> 00:06:55,620 details, maar met elk dag die voorbijgaat, waar we laag 108 00:06:55,620 --> 00:06:59,420 of abstracte op de top van die details om daadwerkelijk te lossen hoger niveau 109 00:06:59,420 --> 00:07:01,080 problemen voor ons van belang. 110 00:07:01,080 --> 00:07:04,730 >> Dus hier is wat wij zouden kunnen noemen binary-- met slechts een alfabet van 0 en 1. 111 00:07:04,730 --> 00:07:06,960 Maar wij mensen zijn meestal vertrouwd met decimaal. 112 00:07:06,960 --> 00:07:08,130 December betekenis 10. 113 00:07:08,130 --> 00:07:09,070 Bi betekent twee. 114 00:07:09,070 --> 00:07:12,100 En zo in de decimale systeem, we hebben 10 cijfers 115 00:07:12,100 --> 00:07:14,099 in onze disposal-- van Natuurlijk, nul tot negen. 116 00:07:14,099 --> 00:07:16,140 Dus als je kijkt naar een aantal als dit, de meeste van jullie 117 00:07:16,140 --> 00:07:19,016 intuïtief gewoon begrijpen dat is 123. 118 00:07:19,016 --> 00:07:20,640 Er is niets echt moeilijk over. 119 00:07:20,640 --> 00:07:22,452 Maar waarom is het 123? 120 00:07:22,452 --> 00:07:24,660 Nou, als je denk terug aan graad school-- of op zijn minst 121 00:07:24,660 --> 00:07:26,410 de manier waarop ik dit geleerd soort wereld-- u 122 00:07:26,410 --> 00:07:29,640 misschien herinneren dat we behandeld deze dingen in kolommen, of plaatsen. 123 00:07:29,640 --> 00:07:31,412 >> Dus hebben we degenen die plaats aan de rechterkant. 124 00:07:31,412 --> 00:07:32,620 De tientallen plaatsen in het midden. 125 00:07:32,620 --> 00:07:34,240 De honderden plaatsen aan de linkerkant. 126 00:07:34,240 --> 00:07:36,980 En dan hoe krijgen we van dit patroon symbols-- 127 00:07:36,980 --> 00:07:41,771 1 2 3-- dit hogere niveau idee dat we kennen als 123? 128 00:07:41,771 --> 00:07:43,461 Nou, het is gewoon een aantal eenvoudige rekenkunde. 129 00:07:43,461 --> 00:07:43,960 Rechts? 130 00:07:43,960 --> 00:07:48,960 >> De een is er in wezen betekent geef ons 100 keer 1 plus 10 keer 131 00:07:48,960 --> 00:07:50,410 2 plus 1 keer 3. 132 00:07:50,410 --> 00:07:53,430 En natuurlijk als we de daar wiskunde, het is 100 plus 20 133 00:07:53,430 --> 00:07:56,480 plus 3-- ook wel bekend als 123. 134 00:07:56,480 --> 00:07:58,820 >> Dus als je op de dezelfde pagina als dit recht 135 00:07:58,820 --> 00:08:02,320 nu en zijn comfortabel met de zogenaamde decimale stelsel als mens, 136 00:08:02,320 --> 00:08:05,750 het is eigenlijk goed binnen uw bereik van troost 137 00:08:05,750 --> 00:08:07,220 nu overwegen het binaire systeem. 138 00:08:07,220 --> 00:08:10,110 Neem een ​​wilde guess-- deze vertegenwoordigt, in de wereld van computers 139 00:08:10,110 --> 00:08:12,001 in binary-- welk nummer? 140 00:08:12,001 --> 00:08:12,500 Nul. 141 00:08:12,500 --> 00:08:13,580 >> Maar waarom is dat? 142 00:08:13,580 --> 00:08:17,460 Nou, het blijkt dat de kolommen of plaatsen hier-- ze niet machten van 10. 143 00:08:17,460 --> 00:08:19,670 1, 10, 100, 1000, enzovoort. 144 00:08:19,670 --> 00:08:21,890 Ze zijn in plaats daarvan, heel gewoon, machten van 2. 145 00:08:21,890 --> 00:08:25,400 Dus, 1, 2, 4, 8, 16, 32, enzovoort. 146 00:08:25,400 --> 00:08:29,630 En nu we natuurlijk naar 0 hier simpelweg omdat we hebben 4 keer 147 00:08:29,630 --> 00:08:34,510 0 plus 2 tijden 0 plus 1 keer 0, wat natuurlijk geeft ons 0. 148 00:08:34,510 --> 00:08:37,399 >> Maar hoe ga ik over dat het nummer 1? 149 00:08:37,399 --> 00:08:39,440 Wat is het patroon van nullen en enen te vertegenwoordigen 150 00:08:39,440 --> 00:08:42,720 het aantal mensen die we kennen als 1? 151 00:08:42,720 --> 00:08:44,280 001. 152 00:08:44,280 --> 00:08:46,370 En 2? 153 00:08:46,370 --> 00:08:47,480 010. 154 00:08:47,480 --> 00:08:49,760 >> En nu het patroon begint te herhalingen. 155 00:08:49,760 --> 00:08:50,890 Nu is het 011. 156 00:08:50,890 --> 00:08:54,310 En nogmaals, 0 fours, een 2, een 1. 157 00:08:54,310 --> 00:08:55,180 Dus 2 plus 1. 158 00:08:55,180 --> 00:08:56,140 Dat is 3. 159 00:08:56,140 --> 00:08:59,069 >> En nu te vertegenwoordigen 4, we niet zomaar veranderen 0 tot 1. 160 00:08:59,069 --> 00:09:01,360 Je moet een soort van mee te nemen, zo te zeggen, en de nummers 161 00:09:01,360 --> 00:09:03,700 beginnen flippen rond gewoon zoals in de decimale wereld. 162 00:09:03,700 --> 00:09:04,670 >> Dus dit is 4. 163 00:09:04,670 --> 00:09:05,410 Dit is 5. 164 00:09:05,410 --> 00:09:06,330 Dit is 6. 165 00:09:06,330 --> 00:09:07,580 Dit is 7. 166 00:09:07,580 --> 00:09:09,720 En dus hebben we geteld als hoog als 7. 167 00:09:09,720 --> 00:09:12,400 >> Nu alles wat we hoeven alleen maar meer een bits-- meer nul en één's. 168 00:09:12,400 --> 00:09:15,700 En inderdaad "bits", als je hebt hoorde dit term-- binair cijfer. 169 00:09:15,700 --> 00:09:17,470 Bit is waar dat vandaan komt. 170 00:09:17,470 --> 00:09:20,190 En dus als we willen vertegenwoordigen grotere aantallen, moeten we meer bits. 171 00:09:20,190 --> 00:09:24,360 Maar laten we nu verder weg van dia's om iets een beetje meer reëel. 172 00:09:24,360 --> 00:09:27,540 Stel dat we willen eigenlijk vertegenwoordigen deze zaak. 173 00:09:27,540 --> 00:09:31,790 >> Nou laten we nu eens een kijkje nemen in een kleine demonstratie. 174 00:09:31,790 --> 00:09:35,270 Dus dit is een web-based applicatie dat een van CS50 eigen, Michael G, 175 00:09:35,270 --> 00:09:38,160 zet deze zomer samen om te helpen ons toe te lichten precies dit idee. 176 00:09:38,160 --> 00:09:40,420 En zou iemand als te wagen op het podium 177 00:09:40,420 --> 00:09:42,915 in de voorkant van al zijn of haar klasgenoten? 178 00:09:42,915 --> 00:09:43,790 Recht er tegenover. 179 00:09:43,790 --> 00:09:45,660 Kom maar naar boven. 180 00:09:45,660 --> 00:09:48,350 >> Je moet comfortabel op de camera en het internet. 181 00:09:48,350 --> 00:09:50,930 182 00:09:50,930 --> 00:09:52,450 Oh, hier. 183 00:09:52,450 --> 00:09:52,950 OK. 184 00:09:52,950 --> 00:09:53,740 We zijn OK. 185 00:09:53,740 --> 00:09:54,240 Okee. 186 00:09:54,240 --> 00:09:54,740 Kom maar naar boven. 187 00:09:54,740 --> 00:09:56,150 Wat is je naam? 188 00:09:56,150 --> 00:09:58,550 Emily komen op maximaal. 189 00:09:58,550 --> 00:09:59,410 Dus dit is Emily. 190 00:09:59,410 --> 00:10:00,840 In welk jaar bent u? 191 00:10:00,840 --> 00:10:01,660 >> Eerstejaars. 192 00:10:01,660 --> 00:10:02,810 >> Emily, leuk je te ontmoeten. 193 00:10:02,810 --> 00:10:03,310 David. 194 00:10:03,310 --> 00:10:03,810 >> Okee. 195 00:10:03,810 --> 00:10:06,120 Dus op het scherm hier, we hebben dit touch screen 196 00:10:06,120 --> 00:10:08,425 die zal ons in staat stellen eigenlijk interactie met dit programma, 197 00:10:08,425 --> 00:10:09,265 en het is gewoon een browser. 198 00:10:09,265 --> 00:10:11,390 Het is Chrome volledig gescreend op het moment, maar het is 199 00:10:11,390 --> 00:10:14,030 geprogrammeerd door Michael reageren op een manier die 200 00:10:14,030 --> 00:10:15,970 ons om te spelen met binaire cijfers. 201 00:10:15,970 --> 00:10:20,220 >> Dus bijvoorbeeld hier hebben we niet drie maar acht bits-- nullen en enen. 202 00:10:20,220 --> 00:10:22,000 Op dit moment zijn we kijken naar het getal 0. 203 00:10:22,000 --> 00:10:25,150 En inderdaad, alle acht nullen in decimale betekent nul. 204 00:10:25,150 --> 00:10:26,900 Dus dat is alles wat wordt gezinspeeld op hier. 205 00:10:26,900 --> 00:10:29,395 >> Dus als je wilde vertegenwoordigen de nummer 8, 206 00:10:29,395 --> 00:10:31,520 wat is het patroon van nullen en degenen die je wilt? 207 00:10:31,520 --> 00:10:35,160 U kunt gewoon tik omhoog of omlaag of getallen zelf. 208 00:10:35,160 --> 00:10:35,660 Okee. 209 00:10:35,660 --> 00:10:37,659 Zodat natuurlijk 8, zoals u daar kunt zien. 210 00:10:37,659 --> 00:10:41,260 En als we wilden do 16, wat doen we? 211 00:10:41,260 --> 00:10:42,701 >> Yep, gewoon opnieuw aanraken. 212 00:10:42,701 --> 00:10:43,200 16. 213 00:10:43,200 --> 00:10:43,870 Okee. 214 00:10:43,870 --> 00:10:46,522 Dus dit is allemaal prima en goed, het is nog steeds zeer laag niveau. 215 00:10:46,522 --> 00:10:48,230 We moeten een manier in de echte wereld voor Emily 216 00:10:48,230 --> 00:10:50,550 daadwerkelijk vertegenwoordigen deze dingen. 217 00:10:50,550 --> 00:10:54,230 En dus stel dat we draaien deze nullen en enen, dat is erg 218 00:10:54,230 --> 00:10:55,980 conceptuele, in concrete gloeilampen. 219 00:10:55,980 --> 00:10:56,480 Rechts? 220 00:10:56,480 --> 00:10:59,540 >> Een computer is een fysieke, mechanische, elektrische apparaat. 221 00:10:59,540 --> 00:11:02,220 En haar input-- tenminste als u de stekker in of belast het-- 222 00:11:02,220 --> 00:11:05,090 is om de batterij te hebben en elektronen stromen in en uit. 223 00:11:05,090 --> 00:11:08,150 >> Dus nu, waarom niet we stoppen met denken over bits als nullen en enen, 224 00:11:08,150 --> 00:11:10,470 maar iets meer fysieke zoals gloeilampen hier. 225 00:11:10,470 --> 00:11:13,815 En als Dan Armendariz kon toetreden me voor slechts een moment-- kom op up-- 226 00:11:13,815 --> 00:11:15,440 we gaan in de rij staan ​​een applicatie. 227 00:11:15,440 --> 00:11:15,940 >> Come on over, Emily. 228 00:11:15,940 --> 00:11:18,270 Helaas is dit de meest onhandig demo voor u ooit. 229 00:11:18,270 --> 00:11:20,330 Kom hierheen. 230 00:11:20,330 --> 00:11:22,080 We gaan in de rij met dank aan Dan 231 00:11:22,080 --> 00:11:25,300 Armendariz, een ander lid van onze medewerkers, een applicatie bekend als binaire bol. 232 00:11:25,300 --> 00:11:28,070 >> Dus wat we hier hebben is een iPad applicatie 233 00:11:28,070 --> 00:11:31,970 dat heeft de volgende gebruiker interface op het scherm voor Emily. 234 00:11:31,970 --> 00:11:35,400 Het is net exact dezelfde UI in wezen dat is daar. 235 00:11:35,400 --> 00:11:39,220 En als je nu wilt vertegenwoordigen de nummer, zeggen 8, 236 00:11:39,220 --> 00:11:42,094 hoe zou je dat doen dit opmerken aan de rechterkant, 237 00:11:42,094 --> 00:11:43,510 de lampen die we hier hebben? 238 00:11:43,510 --> 00:11:46,576 239 00:11:46,576 --> 00:11:47,620 Ah-ha. 240 00:11:47,620 --> 00:11:48,290 Magisch. 241 00:11:48,290 --> 00:11:51,830 Dus als we willen dit nu om te zetten in iets meer uitdagend, 242 00:11:51,830 --> 00:11:58,100 en laten we ga je gang en kies een willekeurige getal als het getal 50 hier. 243 00:11:58,100 --> 00:11:59,015 Input dit. 244 00:11:59,015 --> 00:12:01,640 En als je kan nu worden aangevochten te komen met het nummer 50, 245 00:12:01,640 --> 00:12:04,268 zullen we een fantastische prijs voor je hebt. 246 00:12:04,268 --> 00:12:06,144 >> EMILY: OK. 247 00:12:06,144 --> 00:12:08,692 O mijn God. 248 00:12:08,692 --> 00:12:10,650 DAVID MALAN: Rekenen is inderdaad moeilijk voor 249 00:12:10,650 --> 00:12:12,860 honderden je klasgenoten. 250 00:12:12,860 --> 00:12:16,260 Maar 50 is hier het antwoord geweest. 251 00:12:16,260 --> 00:12:18,132 >> [APPLAUS] 252 00:12:18,132 --> 00:12:21,875 >> En nu, dit is bedoeld om zijn demonstratief voor Emily. 253 00:12:21,875 --> 00:12:24,315 Dus, hier is wat licht bollen vrij als deze, 254 00:12:24,315 --> 00:12:26,190 maar het is eigenlijk de weinig magnetische strips. 255 00:12:26,190 --> 00:12:28,570 En wat is cool over deze en de reden waarom we ze gebruiken in CS50 256 00:12:28,570 --> 00:12:31,640 is dat ze iets genaamd steunen een API-- een application programming 257 00:12:31,640 --> 00:12:34,681 interface, die is gewoon een mooie manier om te zeggen dat wat een van onze medewerkers 258 00:12:34,681 --> 00:12:37,284 heeft tijdens de zomer werd creëren een iPad applicatie hier 259 00:12:37,284 --> 00:12:39,700 dat spreekt via internet de lampen hier, 260 00:12:39,700 --> 00:12:41,810 die draadloos zijn aangesloten op een ander apparaat. 261 00:12:41,810 --> 00:12:43,912 Maar dit is nu een optie voor de laatste projecten. 262 00:12:43,912 --> 00:12:46,370 En dus Emily, als je zou zo als aan het eind van het woord, 263 00:12:46,370 --> 00:12:48,703 u kunt uw dorm room te versieren ondertussen met die. 264 00:12:48,703 --> 00:12:50,376 Bedankt aan Emily ook. 265 00:12:50,376 --> 00:12:53,244 >> [APPLAUS] 266 00:12:53,244 --> 00:12:56,590 267 00:12:56,590 --> 00:13:00,055 >> Maar nu, laten we aan de beurt onze aandacht op wat 268 00:13:00,055 --> 00:13:03,180 die boodschap zou hebben eruit zag, en het is een beetje zoiets als dit. 269 00:13:03,180 --> 00:13:05,320 In feite is dit een bijvoorbeeld net als een teaser 270 00:13:05,320 --> 00:13:08,400 van wat er komen van wat er riep een API aanvraag. 271 00:13:08,400 --> 00:13:11,409 En dus wat we hier hebben is gewoon precies het soort bericht 272 00:13:11,409 --> 00:13:13,200 dat na een paar weken tijd in CS50, zul je 273 00:13:13,200 --> 00:13:16,590 kunnen vrij naar iets vertrouwd als dat daadwerkelijk 274 00:13:16,590 --> 00:13:18,100 zet ze aan en uit te schakelen. 275 00:13:18,100 --> 00:13:19,350 Maar dit is allemaal prima en goed. 276 00:13:19,350 --> 00:13:19,850 Rechts? 277 00:13:19,850 --> 00:13:22,710 We hebben het mentale model hopelijk voor die nummers met 278 00:13:22,710 --> 00:13:23,660 nul en één's. 279 00:13:23,660 --> 00:13:26,290 En van nullen en enen, kunnen wij naar hogere aantallen zoals 50, 280 00:13:26,290 --> 00:13:29,460 als Emily net deed of we kan omhoog van. 281 00:13:29,460 --> 00:13:32,160 En ik beweer dat we kunnen vertegenwoordigen dingen zoals brieven ook. 282 00:13:32,160 --> 00:13:32,660 Rechts? 283 00:13:32,660 --> 00:13:35,360 >> Computers zijn veel meer interessanter dan alleen maar nummers. 284 00:13:35,360 --> 00:13:37,340 En dus hoe ga je over die woorden 285 00:13:37,340 --> 00:13:39,420 op het scherm of e-mails of essays of iets dergelijks? 286 00:13:39,420 --> 00:13:43,170 Nou, het blijkt dat computers gewoon abstract op de top van deze lage niveau 287 00:13:43,170 --> 00:13:47,380 gegevens, en mensen enige tijd geleden, kwam met een willekeurige, maar een consistente, 288 00:13:47,380 --> 00:13:51,710 mapping getallen zo letters-- dat elke keer zie je een hoofdletter 289 00:13:51,710 --> 00:13:54,170 Een op uw computer screen, zijn de kansen wat is 290 00:13:54,170 --> 00:13:57,370 onder de motorkap is een patroon van nullen en enen 291 00:13:57,370 --> 00:14:00,650 dat het aantal vertegenwoordigen, per deze grafiek 65. 292 00:14:00,650 --> 00:14:02,830 >> En nog veel meer fysiek binnenkant van uw computer, 293 00:14:02,830 --> 00:14:06,450 zijn miljoenen dingen geroepen transistors-- deze dagen-- die 294 00:14:06,450 --> 00:14:10,190 zijn slechts schakelt als je wil, dingen die kan gaan aan en uit en zo voorstellen. 295 00:14:10,190 --> 00:14:14,130 Niet acht van deze grote lampen maar miljoenen van deze kleine beetje licht 296 00:14:14,130 --> 00:14:17,490 bollen, of schakelaars of transistors, die aan en uit 297 00:14:17,490 --> 00:14:19,170 op basis van hoe u ze programmeren. 298 00:14:19,170 --> 00:14:22,120 En nu hebben we een manier van vertegenwoordigen letters ook. 299 00:14:22,120 --> 00:14:25,300 >> In feite, als ik om dit te gebruiken in kaart brengen van hier en probeer om daadwerkelijk 300 00:14:25,300 --> 00:14:28,731 spellen iets uit, kunnen we kijken Dit patroon van de decimale cijfers 301 00:14:28,731 --> 00:14:29,230 direct. 302 00:14:29,230 --> 00:14:31,354 Dus we gaan niet eens focus op binaire meer. 303 00:14:31,354 --> 00:14:35,910 Laten we gewoon eens naar deze als decimaal getal 72, 73, 33. 304 00:14:35,910 --> 00:14:38,044 Maar wat zou dit voor? 305 00:14:38,044 --> 00:14:39,960 Iedereen heeft een voldoende fotografisch geheugen 306 00:14:39,960 --> 00:14:43,060 om te weten wat er gespeld op het scherm te zien? 307 00:14:43,060 --> 00:14:43,560 Ja, een paar. 308 00:14:43,560 --> 00:14:44,190 So hi. 309 00:14:44,190 --> 00:14:48,330 H-I en vervolgens een uitroepteken, die niet was eigenlijk op het scherm. 310 00:14:48,330 --> 00:14:51,060 Maar inderdaad er is een mapping voor elke brief aan elk nummer 311 00:14:51,060 --> 00:14:53,340 dat je zou willen typt op uw toetsenbord. 312 00:14:53,340 --> 00:14:55,430 >> Maar nummers hoeft vertegenwoordigen slechts letters. 313 00:14:55,430 --> 00:14:55,930 Rechts? 314 00:14:55,930 --> 00:14:59,570 Ieder van ons weten over afbeeldingen en foto's en audiobestanden 315 00:14:59,570 --> 00:15:00,870 en videobestanden en dergelijke. 316 00:15:00,870 --> 00:15:03,580 Zo duidelijk kunnen wij vertegenwoordigen hoger niveau dingen nog. 317 00:15:03,580 --> 00:15:06,920 En wat een computer doet is gewoon kiezen 318 00:15:06,920 --> 00:15:11,240 patronen nul degenen interpreteren anders, afhankelijk van de context. 319 00:15:11,240 --> 00:15:13,130 >> Als u dubbelklikt op een Microsoft Word-pictogram, 320 00:15:13,130 --> 00:15:15,900 zie je woorden op het scherm in plaats van kleuren en foto's 321 00:15:15,900 --> 00:15:18,850 want woord weet dat dit een essay dat je eigenlijk hebt getypt. 322 00:15:18,850 --> 00:15:21,510 Als je in plaats daarvan dubbelklikken op een JPEG of GIF of PNG, 323 00:15:21,510 --> 00:15:27,070 het opent en een beeld omdat de PNG of .docx of wat dan ook het bestand 324 00:15:27,070 --> 00:15:30,450 extensie is en wat software je gebruikt weet te interpreteren 325 00:15:30,450 --> 00:15:34,420 een patroon van nullen en enen anders op basis van wat haar doel in het leven is. 326 00:15:34,420 --> 00:15:37,330 >> Dus bijvoorbeeld, deze Dezelfde reeks getallen 327 00:15:37,330 --> 00:15:41,250 zouden kunnen betekenen hoeveel rode doe je willen, hoeveel groen wil je, 328 00:15:41,250 --> 00:15:42,810 en hoeveel blauw wil je. 329 00:15:42,810 --> 00:15:47,490 En inderdaad, als je ooit hebt gehoord RGB-- dus gewoon rood groen blauw. 330 00:15:47,490 --> 00:15:51,380 En dus als ik zie nummers als, dit Geef me 72 rood, geef me 73 groen, 331 00:15:51,380 --> 00:15:56,910 en 33 blauw, dit is hoe een computer met behulp van drie bytes-- waarbij 332 00:15:56,910 --> 00:16:01,470 een byte acht bits of 24 bits-- zou een vrij vervelende schaduw vertegenwoordigen 333 00:16:01,470 --> 00:16:03,660 van bruin of hier geel. 334 00:16:03,660 --> 00:16:07,500 En in verschillende contexten, kan deze exact dezelfde patronen in nullen en enen 335 00:16:07,500 --> 00:16:10,780 betekenen iets totaal anders. 336 00:16:10,780 --> 00:16:13,899 >> Dus hebben we nu een manier te vertegenwoordigen information-- nullen en enen. 337 00:16:13,899 --> 00:16:15,190 Op de top van dat, krijgen we brieven. 338 00:16:15,190 --> 00:16:16,860 Op de top van dat, kunnen we kleuren te krijgen. 339 00:16:16,860 --> 00:16:19,730 En laten we aannemen voor vandaag dat we audio en video kunt krijgen 340 00:16:19,730 --> 00:16:22,590 en dingen die er nog veel meer geavanceerder dan dat. 341 00:16:22,590 --> 00:16:25,370 >> Maar nu laten we eens kijken hoe we die middelen 342 00:16:25,370 --> 00:16:27,390 en produceren die uitgangen nu dat we hebben 343 00:16:27,390 --> 00:16:29,830 een manier te vertegenwoordigen die informatie. 344 00:16:29,830 --> 00:16:31,820 Nou, iets wat we moeten een algoritme genoemd. 345 00:16:31,820 --> 00:16:34,320 Nogmaals, een reeks instructies voor het oplossen van een probleem 346 00:16:34,320 --> 00:16:37,580 stap voor step-- en de preciezer, hoe beter. 347 00:16:37,580 --> 00:16:42,090 >> En zo een voorbeeld waarmee de mens weliswaar minder bekend zijn deze dagen, 348 00:16:42,090 --> 00:16:44,300 maar toch blijft bij ons in de software, 349 00:16:44,300 --> 00:16:47,490 is het proces van kijken up iemand in een telefoonboek. 350 00:16:47,490 --> 00:16:51,690 >> Nu, minder en minder mensen kennen elkaar jaar wat dit relikwie eigenlijk is hier. 351 00:16:51,690 --> 00:16:53,470 Maar terug in mijn dag, dit was een telefoonboek 352 00:16:53,470 --> 00:16:57,266 met duizenden pagina's en nummers en de mensen de namen van A tot Z. 353 00:16:57,266 --> 00:17:00,390 En hoewel we soort van valsspelen een bit-- dit is meestal geel pagina's. 354 00:17:00,390 --> 00:17:01,920 Er waren ook wit 's tezelfdertijd, die 355 00:17:01,920 --> 00:17:04,720 had al die namen en aantal werkelijke menselijke wezens. 356 00:17:04,720 --> 00:17:07,970 >> En als ik wilde iemand opzoeken in een telefoon boek als dit vandaag de dag, natuurlijk, 357 00:17:07,970 --> 00:17:11,010 Ik typ alleen in de eerste paar karakters van zijn of haar naam, 358 00:17:11,010 --> 00:17:13,480 en mijn telefoon vindt die informatie. 359 00:17:13,480 --> 00:17:15,970 Maar het proces waardoor uw iPhone of Android-telefoon 360 00:17:15,970 --> 00:17:18,730 of wat is eigenlijk het vinden van iemand in uw lijst met contactpersonen 361 00:17:18,730 --> 00:17:22,099 is identiek aan wat wij mensen waarschijnlijk hebben gedaan voor bepaalde tijd. 362 00:17:22,099 --> 00:17:24,260 >> Nu kon ik dit meenemen probleem, als je wil, 363 00:17:24,260 --> 00:17:26,220 en de ingangen hier zijn niet nullen en enen. 364 00:17:26,220 --> 00:17:28,730 Ze pages-- zoals, laten we zeggen 1.000 pagina's. 365 00:17:28,730 --> 00:17:32,650 En als ik wilde opzoeken iemand Like Mike Smith in deze telefoon boek, 366 00:17:32,650 --> 00:17:35,570 Ik zou beginnen bij het begin en zie dat ik in de A-sectie 367 00:17:35,570 --> 00:17:38,300 en vervolgens met één pagina een tijd, op zoek en op zoek 368 00:17:38,300 --> 00:17:42,820 als ik de B en C en D's enzovoort voor Mike Smith. 369 00:17:42,820 --> 00:17:46,000 Smith beginnen met een S, zal ik hopelijk hem uiteindelijk vinden. 370 00:17:46,000 --> 00:17:50,090 >> Hierdoor algorithm-- dat process-- juist? 371 00:17:50,090 --> 00:17:50,590 Ja. 372 00:17:50,590 --> 00:17:51,610 Het is correct. 373 00:17:51,610 --> 00:17:57,040 Ik zal Mike vinden als hij hier, maar wat is de waarschuwing die u zou kunnen bieden. 374 00:17:57,040 --> 00:17:57,541 Het is traag. 375 00:17:57,541 --> 00:17:58,040 Rechts? 376 00:17:58,040 --> 00:18:00,975 Ik weet dat Mike S is een soort van in de richting van de tweede helft van het telefoonboek. 377 00:18:00,975 --> 00:18:02,766 Waarom de heck ben ik vanaf het begin 378 00:18:02,766 --> 00:18:04,349 en gaan per pagina per pagina. 379 00:18:04,349 --> 00:18:06,890 Dus natuurlijk, ik kon spiegelen rond en starten vanaf de achterkant, 380 00:18:06,890 --> 00:18:08,973 maar dat gaat krijgen me daar in hetzelfde tempo, 381 00:18:08,973 --> 00:18:10,930 als je willl-- pagina na pagina na pagina. 382 00:18:10,930 --> 00:18:14,190 En het gaat niet om te werken als ik wil om te zoeken naar iemand anders wiens 383 00:18:14,190 --> 00:18:15,880 naam komt eerder in het alfabet. 384 00:18:15,880 --> 00:18:17,240 >> Dus wat als ik doe wat ik geleerd op de lagere school, 385 00:18:17,240 --> 00:18:19,205 nogmaals, dingen doen niet door degenen maar door tweeën. 386 00:18:19,205 --> 00:18:23,060 Zo 2, 4, 6, 8, 10, 12, enzovoort. 387 00:18:23,060 --> 00:18:23,740 Is dat correct? 388 00:18:23,740 --> 00:18:27,030 389 00:18:27,030 --> 00:18:27,560 Nee. 390 00:18:27,560 --> 00:18:28,830 Het is een soort van correct. 391 00:18:28,830 --> 00:18:33,210 Maar sommigen van jullie die geen mompelde waar is het probleem, of de bug, 392 00:18:33,210 --> 00:18:34,240 de fout zo te zeggen. 393 00:18:34,240 --> 00:18:34,580 Ja. 394 00:18:34,580 --> 00:18:36,570 >> STUDENT: Je zou kunnen overslaan over de rechter ingang. 395 00:18:36,570 --> 00:18:37,320 >> DAVID MALAN: Yeah. 396 00:18:37,320 --> 00:18:40,340 Ik zou overslaan Mike Smith is omdat ik twee pagina's tegelijk heb genomen 397 00:18:40,340 --> 00:18:43,190 en hij toevallig te zijn ingeklemd tussen deze twee bladzijden. 398 00:18:43,190 --> 00:18:46,500 Ik zou kunnen beseffen dat Ik ben op de T sectie 399 00:18:46,500 --> 00:18:48,690 niet hebben gevonden nog Mike Smith. 400 00:18:48,690 --> 00:18:50,820 >> En wat zou het vaste er? 401 00:18:50,820 --> 00:18:52,709 Nou, als ik raakte de Ts in het telefoonboek, 402 00:18:52,709 --> 00:18:54,500 Ik moet misschien verdubbelen terug één of zo pagina. 403 00:18:54,500 --> 00:18:56,830 Dus het is opgelapt, maar het is niet zo eenvoudig 404 00:18:56,830 --> 00:18:59,170 zoals gewoon met twee tot versnellen mijn prestatie. 405 00:18:59,170 --> 00:18:59,680 Maar wat? 406 00:18:59,680 --> 00:19:00,180 Kom op. 407 00:19:00,180 --> 00:19:03,530 Wat is wat de meeste mensen gaan te doen met dit soort telefoonboek? 408 00:19:03,530 --> 00:19:04,696 Je krijgt het telefoonboek. 409 00:19:04,696 --> 00:19:06,280 Wat doe je? 410 00:19:06,280 --> 00:19:06,922 >> Wat is dat? 411 00:19:06,922 --> 00:19:07,630 Ga naar het midden. 412 00:19:07,630 --> 00:19:10,620 Zo hoorde ik ga naar het midden, en ik vind mezelf min of meer in de M sectie, 413 00:19:10,620 --> 00:19:11,120 bij wijze van spreken. 414 00:19:11,120 --> 00:19:12,670 En nu, wat wil ik doen? 415 00:19:12,670 --> 00:19:14,077 Goed gedaan. 416 00:19:14,077 --> 00:19:14,785 Wat is je naam? 417 00:19:14,785 --> 00:19:15,350 >> JAMES: James. 418 00:19:15,350 --> 00:19:15,890 >> DAVID MALAN: James, oke. 419 00:19:15,890 --> 00:19:16,829 Wat moet ik nu doen? 420 00:19:16,829 --> 00:19:18,620 JAMES: Je gaat in de helft van de S heeft. 421 00:19:18,620 --> 00:19:18,740 DAVID MALAN: Oké. 422 00:19:18,740 --> 00:19:20,910 Ik ga naar de helft te gaan dat de S in omdat, weer, 423 00:19:20,910 --> 00:19:22,920 een bepaling was hier dat dit ding wordt gesorteerd. 424 00:19:22,920 --> 00:19:25,461 Het is een vrij nutteloze 1000 pagina's als Verizon eigenlijk niet 425 00:19:25,461 --> 00:19:27,339 sorteren van deze dingen voor ons A tot Z. 426 00:19:27,339 --> 00:19:30,130 Dus als ik weet dat Mike is waarschijnlijk in de tweede helft van het telefoonboek, 427 00:19:30,130 --> 00:19:31,536 Ik kan nu. 428 00:19:31,536 --> 00:19:33,388 >> [Lacht] 429 00:19:33,388 --> 00:19:35,240 430 00:19:35,240 --> 00:19:37,391 >> Scheur het probleem in de helft. 431 00:19:37,391 --> 00:19:38,615 >> [APPLAUS] 432 00:19:38,615 --> 00:19:39,115 433 00:19:39,115 --> 00:19:40,300 Dank je. 434 00:19:40,300 --> 00:19:42,510 Scheur het probleem in de helft. 435 00:19:42,510 --> 00:19:44,440 Dat was eigenlijk real-- die strijd. 436 00:19:44,440 --> 00:19:47,050 Zo scheurt het telefoonboek in tweeën, waardoor mijzelf 437 00:19:47,050 --> 00:19:48,580 met in wezen hetzelfde probleem. 438 00:19:48,580 --> 00:19:50,060 Maar natuurlijk, half zo groot. 439 00:19:50,060 --> 00:19:52,550 En als ik volg James's opnieuw advies, en ik ga hier. 440 00:19:52,550 --> 00:19:54,400 Ik zeg, oh nu ben ik in de T-sectie. 441 00:19:54,400 --> 00:19:56,460 >> En zo natuurlijk, ik kan het telefoonboek te scheuren 442 00:19:56,460 --> 00:19:59,660 in half keer, waardoor me met een probleem dat is 443 00:19:59,660 --> 00:20:00,810 nu een kwart van de grootte. 444 00:20:00,810 --> 00:20:05,335 Dus ik heb gegaan van 1000 tot 500 250 tot 125 en enzovoort. 445 00:20:05,335 --> 00:20:07,350 Het voelt alsof ik het nemen van grotere hapjes uit 446 00:20:07,350 --> 00:20:10,615 Dit probleem onderling iteratie, of elke stap daarin. 447 00:20:10,615 --> 00:20:15,580 >> En inderdaad, de tijd dat ik ga om te besteden het vinden van Mike Smith in dit voorbeeld 448 00:20:15,580 --> 00:20:18,970 is zo veel minder, want uiteindelijk ben ik ga whittle dit pone boek neer 449 00:20:18,970 --> 00:20:20,192 slechts één eenzame pagina. 450 00:20:20,192 --> 00:20:23,010 En als Mike is op die pagina, ik ben gaan om verder te gaan en hem te geven 451 00:20:23,010 --> 00:20:24,670 een gesprek te hebben hem gevonden. 452 00:20:24,670 --> 00:20:27,030 >> Maar hoeveel beter dat algorithm-- 453 00:20:27,030 --> 00:20:29,690 dat durf te zeggen intuïtief algorithm-- dan degene die we 454 00:20:29,690 --> 00:20:34,920 gestart waarmee we erg linear-- links naar right-- in een tempo van 1 of 2x? 455 00:20:34,920 --> 00:20:36,100 >> Nou, laten we plotten dit. 456 00:20:36,100 --> 00:20:39,380 We hebben niet te veel zorgen over te maken wiskunde of nummers in dit geval. 457 00:20:39,380 --> 00:20:40,550 We kijken alleen op een plot. 458 00:20:40,550 --> 00:20:43,600 Zo op de x of horizontale as, is de grootte van de probleem-- 459 00:20:43,600 --> 00:20:44,700 hoeveel pagina's er zijn. 460 00:20:44,700 --> 00:20:46,760 Op de y of verticale as, is hoeveel tijd 461 00:20:46,760 --> 00:20:48,218 gaat het om me te nemen om het op te lossen. 462 00:20:48,218 --> 00:20:50,760 En misschien is dat hoeveel pagina bochten, hoeveel seconden, 463 00:20:50,760 --> 00:20:52,370 hoe many-- enkele unit van de maatregelen. 464 00:20:52,370 --> 00:20:57,810 >> En ik heb een rode rechte lijnen getrokken hier want als elke extra pagina 465 00:20:57,810 --> 00:21:01,740 van het telefoonboek, ik nodig een extra stap maken. 466 00:21:01,740 --> 00:21:03,680 Dus als Verizon voegt één meer pagina volgend jaar, 467 00:21:03,680 --> 00:21:06,970 Ik zou kunnen hebben om nog een pagina omdraaien iemand als Mike Smith te vinden. 468 00:21:06,970 --> 00:21:11,340 >> Ondertussen, de tweede algoritme, dat Ik ging door z'n tweeën, is dezelfde vorm. 469 00:21:11,340 --> 00:21:15,220 Het is nog steeds erg lineair, zeer links naar rechts, waarbij gelijke bytes elke keer, 470 00:21:15,220 --> 00:21:16,900 maar de helling is een beetje lager. 471 00:21:16,900 --> 00:21:23,590 >> Bijvoorbeeld, als de grootte van het probleem waren ruwweg hier 472 00:21:23,590 --> 00:21:25,990 en ik gebruikte mijn eerste algoritme, Ik zou kunnen eindigen de hele weg 473 00:21:25,990 --> 00:21:27,480 bovenaan die rode lijn. 474 00:21:27,480 --> 00:21:29,390 Maar als ik in plaats daarvan gebruik twosies te benaderen, 475 00:21:29,390 --> 00:21:31,480 de gele lijn suggereert omdat het lager, 476 00:21:31,480 --> 00:21:33,790 dat het gaat om te nemen me minder tijd het op te lossen. 477 00:21:33,790 --> 00:21:37,400 >> Maar wat is de vorm van de derde algorithm-- weer, misschien wel 478 00:21:37,400 --> 00:21:38,707 de meest intuïtieve algoritme? 479 00:21:38,707 --> 00:21:40,540 Nou, het ziet er een beetje iets zoals dit. 480 00:21:40,540 --> 00:21:43,480 Het is gebogen, of logaritmische, in vorm. 481 00:21:43,480 --> 00:21:46,510 En hoewel het nooit soort vlakker, 482 00:21:46,510 --> 00:21:50,770 Het asymptotisch inches en omhoog en omhoog, maar erg langzaam 483 00:21:50,770 --> 00:21:52,129 versus alles anders. 484 00:21:52,129 --> 00:21:53,170 En wat is de weg te nemen? 485 00:21:53,170 --> 00:21:54,215 Nou, we noemen het log n. 486 00:21:54,215 --> 00:21:55,820 Maar wat betekent dat eigenlijk? 487 00:21:55,820 --> 00:21:58,580 Nou als Verizon verdubbelde de aantal pagina's in het telefoonboek 488 00:21:58,580 --> 00:22:00,810 volgend jaar van 1000 tot 2000. 489 00:22:00,810 --> 00:22:04,600 Hoeveel stappen is mijn eerste algoritme gaan nemen? 490 00:22:04,600 --> 00:22:05,440 >> Mijn eerste algoritme. 491 00:22:05,440 --> 00:22:06,399 Misschien 1000 meer stappen. 492 00:22:06,399 --> 00:22:08,106 Als ze verdubbelde de telefoonboek, ik ga 493 00:22:08,106 --> 00:22:10,590 te hebben om te bladeren door een ander 1000 pagina's om Mike te vinden. 494 00:22:10,590 --> 00:22:13,240 Natuurlijk, als de tweede algoritme, misschien 500 want ik ben 495 00:22:13,240 --> 00:22:14,610 gaat twee keer zo snel. 496 00:22:14,610 --> 00:22:18,380 >> Maar als Verizon verdubbelt het aantal bladzijden tussen dit en volgend jaar, 497 00:22:18,380 --> 00:22:21,650 met mijn derde algorithm-- de kloof en heers dat James voorgesteld, 498 00:22:21,650 --> 00:22:24,450 gaan in de helft en half en half-- hoeveel stappen zullen 499 00:22:24,450 --> 00:22:29,030 Het neem me volgend jaar te hebben een telefoonboek van een afmeting 2000? 500 00:22:29,030 --> 00:22:29,670 Eentje maar. 501 00:22:29,670 --> 00:22:34,110 Want met een hap, ik kan nemen, van dat probleem, de helft van de pagina 502 00:22:34,110 --> 00:22:34,694 weg. 503 00:22:34,694 --> 00:22:37,860 En als je na te denken over dit een beetje waanzinnig now-- als het telefoonboek niet doet 504 00:22:37,860 --> 00:22:41,810 hebben 1.000 of 2.000 pagina, maar laten we zeggen 4 miljard pages-- 505 00:22:41,810 --> 00:22:45,282 het is een grote telefoon book-- hoe vaak of hoeveel stappen 506 00:22:45,282 --> 00:22:47,740 gaat het om me te vinden Mike Smith in het telefoonboek 507 00:22:47,740 --> 00:22:50,489 met 4 miljard pagina's. 508 00:22:50,489 --> 00:22:52,030 U kunt een soort van beginnen om de wiskunde te doen. 509 00:22:52,030 --> 00:22:52,200 Okee. 510 00:22:52,200 --> 00:22:53,175 4 miljard gedeeld door 2. 511 00:22:53,175 --> 00:22:54,550 Dus dat is 2 miljard gedeeld door 1. 512 00:22:54,550 --> 00:22:55,510 Dat is 1 miljard. 513 00:22:55,510 --> 00:22:56,410 Dan een half miljard. 514 00:22:56,410 --> 00:22:59,940 Dan 250-- zodat u dit opnieuw kunt doen en weer maar niet dat vele malen eerder 515 00:22:59,940 --> 00:23:01,020 je naar een pagina. 516 00:23:01,020 --> 00:23:04,360 >> Inderdaad, zelfs als de telefoon boek is 4 miljard pagina's lang 517 00:23:04,360 --> 00:23:08,340 of de database die u zoekt is 4 miljard platen lang, 518 00:23:08,340 --> 00:23:12,720 het gaat om neem je geven of te nemen 32 stappen alleen naar Mike Smith te vinden. 519 00:23:12,720 --> 00:23:15,990 En als je het dubbele van het telefoonboek volgende jaar 4000000000-8000000000, 520 00:23:15,990 --> 00:23:19,010 33 stappen in plaats van slechts 32. 521 00:23:19,010 --> 00:23:21,100 >> En dit is het bewijs op de volgende ideeën 522 00:23:21,100 --> 00:23:24,100 opdat wij zouden omarmen in de computer wetenschap algemeen, die 523 00:23:24,100 --> 00:23:26,760 is dit computationele denken en het naderen van een probleem 524 00:23:26,760 --> 00:23:29,479 eerlijk gezegd met behulp van tools uit je al vertrouwd gereedschap 525 00:23:29,479 --> 00:23:31,520 kit-- je echte wereld met waarmee u vertrouwd bent, 526 00:23:31,520 --> 00:23:34,730 maar gebruik te maken van die ideeën daadwerkelijk problemen. 527 00:23:34,730 --> 00:23:37,200 >> Maar we moeten formaliseren onze oplossingen voor deze problemen. 528 00:23:37,200 --> 00:23:40,200 En dus laat ik me even voor een moment iets wat we zouden kunnen pseudocode noemen. 529 00:23:40,200 --> 00:23:44,260 Een groot deel van het semester, zullen we besteden met behulp eigenlijke code in talen als C en PHP 530 00:23:44,260 --> 00:23:46,570 en JavaScript en SQL en dergelijke. 531 00:23:46,570 --> 00:23:49,000 >> Maar voor nu, laten we gewoon kijken op iets vrij intuïtief 532 00:23:49,000 --> 00:23:49,930 zoals Engels. 533 00:23:49,930 --> 00:23:52,490 Ik zou kunnen destilleren dat algoritme waarmee 534 00:23:52,490 --> 00:23:54,650 Ik vond Mike in stappen, zoals dit. 535 00:23:54,650 --> 00:23:55,760 >> Pak de telefoon boek 536 00:23:55,760 --> 00:23:57,121 >> Open tot midden telefoonboek 537 00:23:57,121 --> 00:23:57,870 Kijk naar de naam van 538 00:23:57,870 --> 00:23:59,290 Als Mike is een van de naam van 539 00:23:59,290 --> 00:24:00,450 Bel Mike 540 00:24:00,450 --> 00:24:02,290 Anders als Smith is eerder in het boek 541 00:24:02,290 --> 00:24:04,540 Open naar het midden van de linkerhelft van het boek 542 00:24:04,540 --> 00:24:06,244 Anders heen te gaan op lijn 3 543 00:24:06,244 --> 00:24:07,660 Anders als Smith is later in het boek 544 00:24:07,660 --> 00:24:09,330 Open naar het midden van de rechter helft van het boek 545 00:24:09,330 --> 00:24:09,996 Ga naar lijn drie 546 00:24:09,996 --> 00:24:10,720 Anders 547 00:24:10,720 --> 00:24:11,500 Geef op 548 00:24:11,500 --> 00:24:15,360 En er is een paar eigenschappen nu van deze die zijn gewezen. 549 00:24:15,360 --> 00:24:18,370 Zodat men alle lijnen Ik heb geel gemarkeerd 550 00:24:18,370 --> 00:24:21,430 we gaan beginnen bellen verklaringen of functies of procedures. 551 00:24:21,430 --> 00:24:24,160 Ze zijn gewoon acties doen Dit, en er is geen 552 00:24:24,160 --> 00:24:26,400 zo veel variatie te. 553 00:24:26,400 --> 00:24:30,850 >> De volgende stap hier wel, dit zijn conditions-- indien, anders, anders als, anders. 554 00:24:30,850 --> 00:24:34,020 En dit zijn geroepen voorwaarden, of takken, en ze zijn beslispunten. 555 00:24:34,020 --> 00:24:36,780 En ze laten ons te doen iets voorwaardelijk. 556 00:24:36,780 --> 00:24:39,650 >> En in feite, laten we eens een snelle kijken naar misschien een vertrouwde face-- 557 00:24:39,650 --> 00:24:43,380 we zullen hem bellen Bill-- en precies wat deze voorwaarden, 558 00:24:43,380 --> 00:24:45,670 hoe deze kunnen worden gebruikt. 559 00:24:45,670 --> 00:24:48,230 >> BILL GATES: Mensen maken beslissingen elke dag. 560 00:24:48,230 --> 00:24:51,800 Bijvoorbeeld, voordat je buiten je soort van een if-statement dat zegt: 561 00:24:51,800 --> 00:24:55,650 als het regent, dan heb ik nodig om mijn jas te krijgen. 562 00:24:55,650 --> 00:25:00,990 >> En computers zijn geweldig als je eenmaal beslissen dat soort uitspraken 563 00:25:00,990 --> 00:25:06,450 dat ze op betrouwbare wijze kan uitvoeren die dingen op ongelooflijke snelheid. 564 00:25:06,450 --> 00:25:12,470 En dus een computerprogramma echt is een beetje van wiskunde en een aantal 565 00:25:12,470 --> 00:25:16,890 if-statements, waar de beslissing wordt gemaakt. 566 00:25:16,890 --> 00:25:19,432 >> DAVID MALAN: Dus laten we nu de focus op een paar verschillende lines-- 567 00:25:19,432 --> 00:25:21,140 degenen die ik heb gewezen op geel hier. 568 00:25:21,140 --> 00:25:23,890 En het blijkt dat er verschillende manieren om dit idee uit te drukken. 569 00:25:23,890 --> 00:25:28,550 Maar intuïtief wat onze lijnen 8 en 11 die ik heb hier uitgelicht je te vertellen 570 00:25:28,550 --> 00:25:29,100 Te doen? 571 00:25:29,100 --> 00:25:33,081 Ja, ga naar lijn 3, maar wat gedrag is dat echt te induceren? 572 00:25:33,081 --> 00:25:35,580 Het is een soort loop of fiets, en u kunt soort zien. 573 00:25:35,580 --> 00:25:36,079 Rechts? 574 00:25:36,079 --> 00:25:39,710 Als op lijn 8, ga je terug naar lijn 3, en dan druk je lijn 8 weer, 575 00:25:39,710 --> 00:25:42,700 je zou terug naar lijn 3, terug naar lijn 3, terug op lijn 3. 576 00:25:42,700 --> 00:25:44,530 Er is dit soort cyclus of lus. 577 00:25:44,530 --> 00:25:47,177 En inderdaad, dat is opgewekt in lijn 11 in potentie ook. 578 00:25:47,177 --> 00:25:49,260 Dit is een fundamentele programmering construct ook. 579 00:25:49,260 --> 00:25:51,593 >> Je zou niet willen gewoon doe iets met een verklaring 580 00:25:51,593 --> 00:25:54,280 of iets te doen voorwaardelijk met een aandoening of een filiaal. 581 00:25:54,280 --> 00:25:56,644 Wilt u misschien iets te doen cyclisch met een lus. 582 00:25:56,644 --> 00:25:59,810 En we zullen iemand anders met wie u misschien wel familiar-- we hem zullen noemen 583 00:25:59,810 --> 00:26:02,996 Mark-- dit begrip hier uitgelegd. 584 00:26:02,996 --> 00:26:04,870 Mark Zuckerberg: One ding dat computers 585 00:26:04,870 --> 00:26:07,460 echt goed in is het herhalen van opdrachten. 586 00:26:07,460 --> 00:26:09,510 Als een persoon, zou je krijgt echt verveeld als je 587 00:26:09,510 --> 00:26:12,310 moest hetzelfde te doen veel keer op een rij, 588 00:26:12,310 --> 00:26:16,230 maar een computer kan hetzelfde doen miljoenen of zelfs miljarden malen 589 00:26:16,230 --> 00:26:18,930 en niet te vervelen en in staat zijn uit te voeren die echt goed. 590 00:26:18,930 --> 00:26:21,240 >> Dus bijvoorbeeld als ik wil iedereen wensen 591 00:26:21,240 --> 00:26:24,450 op Facebook een gelukkige verjaardag door het sturen van hen een e-mail, 592 00:26:24,450 --> 00:26:27,037 het zou me meer dan een eeuwse om daadwerkelijk uit te schrijven 593 00:26:27,037 --> 00:26:28,370 al die e-mails naar iedereen. 594 00:26:28,370 --> 00:26:33,500 Maar met slechts een paar regels code, kan ik hebben een systeem stuur dan een e-mail naar iedereen 595 00:26:33,500 --> 00:26:35,460 op Facebook wensen hen een gelukkige verjaardag. 596 00:26:35,460 --> 00:26:38,330 >> Dus dat is wat loops zijn en waarom waardevol en iets wat ze zijn 597 00:26:38,330 --> 00:26:40,076 dat computers erg goed kunnen doen. 598 00:26:40,076 --> 00:26:43,109 >> DAVID MALAN: Veel dank aan onze vrienden bij code.org voor de twee films. 599 00:26:43,109 --> 00:26:46,150 En net vorige week, moet u wellicht gezien dat Mark Zuckerberg en Facebook 600 00:26:46,150 --> 00:26:47,940 gepost deze aankondiging, namelijk dat ze net 601 00:26:47,940 --> 00:26:50,398 hebben een belangrijke gepasseerd mijlpaal voor de eerste keer ooit. 602 00:26:50,398 --> 00:26:54,320 1 miljard mensen gebruik van Facebook in een enkele dag, in het bijzonder afgelopen maandag. 603 00:26:54,320 --> 00:26:58,650 Een op de zeven mensen op Aarde blijkbaar aangemeld bij Facebook. 604 00:26:58,650 --> 00:27:03,310 >> Nou, lijkt dit een goede gelegenheid om terug te kijken van waar Facebook begon, 605 00:27:03,310 --> 00:27:06,840 en wij gingen door CS50 eigen archieven, want het blijkt dat in 2005, 606 00:27:06,840 --> 00:27:10,020 Mark gaf een gastcollege in CS50. 607 00:27:10,020 --> 00:27:13,870 Je zult zien dat de productie waarden waren niet helemaal hetzelfde toen 608 00:27:13,870 --> 00:27:16,110 in termen van de techniek beschikbaar is, en je zult ook 609 00:27:16,110 --> 00:27:18,310 zien dat de aanwezigheid van dit gastcollege 610 00:27:18,310 --> 00:27:22,470 niet noodzakelijkerwijs pique het belang van de studenten, uw voorgangers, 611 00:27:22,470 --> 00:27:24,910 zo veel als het misschien slechts een paar jaar later. 612 00:27:24,910 --> 00:27:27,902 >> Dus laten we eens een kijkje nemen bij Science Center C. 613 00:27:27,902 --> 00:27:29,389 614 00:27:29,389 --> 00:27:31,014 SPEAKER 2: Please join me, en welkom. 615 00:27:31,014 --> 00:27:33,374 616 00:27:33,374 --> 00:27:36,577 [APPLAUS] 617 00:27:36,577 --> 00:27:37,410 Mark Zuckerberg: Yo. 618 00:27:37,410 --> 00:27:37,900 Okee. 619 00:27:37,900 --> 00:27:40,420 Cool dit is de eerste keer dat ik ooit moesten zo'n ding houden. 620 00:27:40,420 --> 00:27:42,336 Dus ik ga gewoon maak het heel snel. 621 00:27:42,336 --> 00:27:54,354 622 00:27:54,354 --> 00:27:54,854 Okee. 623 00:27:54,854 --> 00:27:57,314 Kun je het horen? 624 00:27:57,314 --> 00:27:58,298 Is dit goed? 625 00:27:58,298 --> 00:28:00,684 Is dit versterkt op alle? 626 00:28:00,684 --> 00:28:01,184 Okee. 627 00:28:01,184 --> 00:28:02,040 Zoet. 628 00:28:02,040 --> 00:28:06,860 Dus, dit is als een van de eerste keren Ik heb aan de Harvard naar een lezing geweest, 629 00:28:06,860 --> 00:28:08,660 maar-- 630 00:28:08,660 --> 00:28:12,510 >> DAVID MALAN: Dus uiteindelijk het Science Center deed opnieuw in op de video, 631 00:28:12,510 --> 00:28:15,110 maar niet voordat dit vastleggen uittreksel, waar Mark's praten, 632 00:28:15,110 --> 00:28:18,230 die hij besprak zijn kamergenoot, Dustin, die 633 00:28:18,230 --> 00:28:20,885 wilde een handje te helpen met deze site genaamd de Facebook.com 634 00:28:20,885 --> 00:28:24,540 en realiseerde zich dat Mark het punt staat te Vermeld de programmering languages-- 635 00:28:24,540 --> 00:28:27,290 een zogenaamde Perl, een riep PHP-- zoals hij bespreekt 636 00:28:27,290 --> 00:28:28,840 de oorsprong van de bijdrage van Dustin's. 637 00:28:28,840 --> 00:28:31,499 638 00:28:31,499 --> 00:28:33,290 Mark Zuckerberg: I begon te rennen de site 639 00:28:33,290 --> 00:28:37,770 en lanceerde het op Harvard in februari 2004. 640 00:28:37,770 --> 00:28:39,540 Dus ik denk dat nu bijna twee jaar geleden. 641 00:28:39,540 --> 00:28:42,322 En binnen een paar weken, een paar duizend mensen hadden zich aangemeld, 642 00:28:42,322 --> 00:28:45,280 en we begonnen met het krijgen van een aantal e-mails van mensen die op andere hogescholen te vragen 643 00:28:45,280 --> 00:28:47,520 voor ons om het te lanceren op hun scholen. 644 00:28:47,520 --> 00:28:49,455 >> En ik was het nemen van 161 op het moment. 645 00:28:49,455 --> 00:28:52,080 Dus ik weet niet of jullie weten de reputatie van die cursus, 646 00:28:52,080 --> 00:28:54,402 maar het was een beetje zwaar. 647 00:28:54,402 --> 00:28:57,110 Het was een erg leuk natuurlijk, maar het maakte me niet verlaten met veel tijd 648 00:28:57,110 --> 00:28:59,260 om iets anders te doen met Facebook. 649 00:28:59,260 --> 00:29:04,309 Dus mijn kamergenoot Dustin, wie denk ik was net klaar met CS50, was als, hey. 650 00:29:04,309 --> 00:29:05,100 Ik wil helpen. 651 00:29:05,100 --> 00:29:08,760 Ik wil de uitbreiding te doen en te helpen u erachter te komen hoe de dingen te doen. 652 00:29:08,760 --> 00:29:10,780 >> Dus ik was als, dat is vrij koel, kerel. 653 00:29:10,780 --> 00:29:13,130 Maar je weet het niet echt geen PHP of iets dergelijks. 654 00:29:13,130 --> 00:29:16,444 Dus dat weekend ging hij naar huis, kocht het boek Perl voor Dummies, 655 00:29:16,444 --> 00:29:17,860 kwam terug en was als, oke. 656 00:29:17,860 --> 00:29:18,940 Ik ben klaar om te gaan. 657 00:29:18,940 --> 00:29:23,010 >> Ik was als, kerel, de site is geschreven in PHP niet Perl, maar dat is cool. 658 00:29:23,010 --> 00:29:28,530 >> Dus pakte hij PHP voorbij als een paar dagen, omdat ik 659 00:29:28,530 --> 00:29:30,790 beloven dat als je een goede achtergrond in C, 660 00:29:30,790 --> 00:29:32,970 PHP is een heel simpel ding op te halen. 661 00:29:32,970 --> 00:29:37,480 En hij gewoon een soort ging aan het werk. 662 00:29:37,480 --> 00:29:40,500 >> Voordat we nu een kijkje nemen waar de cursus gaat, 663 00:29:40,500 --> 00:29:43,047 sta mij toe slechts enkele uitnodigen van SC50's medewerkers op om het podium. 664 00:29:43,047 --> 00:29:44,880 Sommigen van hen zijn het winkelen hun eigen cursussen. 665 00:29:44,880 --> 00:29:48,390 Maar als die TF's en CA's en natuurlijk hoofden die hier zou kunnen komen op 666 00:29:48,390 --> 00:29:50,230 en samen met mij voor een snelle hallo. 667 00:29:50,230 --> 00:29:54,670 >> Sta mij toe om te introduceren in het bijzonder, Hanna, Maria, Daven, en Rob, 668 00:29:54,670 --> 00:29:59,666 CS50 De cursus leidt hier in Cambridge. 669 00:29:59,666 --> 00:30:02,106 >> [APPLAUS] 670 00:30:02,106 --> 00:30:07,490 671 00:30:07,490 --> 00:30:11,060 >> DAVID MALAN: Inderdaad, bewijs van de ondersteunende structuur die de cursus heeft 672 00:30:11,060 --> 00:30:15,660 gebouwd in de afgelopen jaren, CS50 personeel dit jaar bijna 100 nummers, 673 00:30:15,660 --> 00:30:17,170 en dat is hier in Cambridge alleen. 674 00:30:17,170 --> 00:30:21,240 Ondertussen, in New Haven, zijn er een aantal 40 TF's en CA's en medewerkers er 675 00:30:21,240 --> 00:30:22,800 om de cursus lopen ook. 676 00:30:22,800 --> 00:30:26,125 >> Laat ons eerst even voorstellen, Rob Bowden. 677 00:30:26,125 --> 00:30:26,750 ROB BOWDEN: Hi. 678 00:30:26,750 --> 00:30:27,620 Ik ben Rob. 679 00:30:27,620 --> 00:30:32,750 Dit is mijn zesde jaar TFing in de cursus. 680 00:30:32,750 --> 00:30:37,970 Dus, helemaal terug in mijn eerstejaarsstudent jaar, heb ik niet CS50 nemen. 681 00:30:37,970 --> 00:30:40,270 Uw eerstejaars fall-- u misschien vertrouwd 682 00:30:40,270 --> 00:30:43,270 dat je alleen kunt nemen vier gangen en er zijn zo veel cursussen vandaag. 683 00:30:43,270 --> 00:30:44,450 Dus ik ben zoals, eh. 684 00:30:44,450 --> 00:30:48,050 Ik nam AP CS mijn laatste jaar van de middelbare school het was verschrikkelijk. 685 00:30:48,050 --> 00:30:48,900 Dus, ik heb zoiets van, eh. 686 00:30:48,900 --> 00:30:50,380 Informatica is niet voor mij. 687 00:30:50,380 --> 00:30:53,000 >> Dus toen was het over de loop van mijn eerstejaars 688 00:30:53,000 --> 00:30:58,960 vallen, dat ik had een vriend in CS50 en Ik denk dat ik deelgenomen aan een college met haar. 689 00:30:58,960 --> 00:31:03,760 Het is net als, oh, dit is een beetje beter dan wat ik had op de middelbare school. 690 00:31:03,760 --> 00:31:06,990 >> En in de loop van de jaar, had ik mijn eigen probleem sets 691 00:31:06,990 --> 00:31:08,750 in de vakken was ik eigenlijk nemen. 692 00:31:08,750 --> 00:31:11,870 Maar ik vond dat wanneer ik wilde uitstellen op die, 693 00:31:11,870 --> 00:31:15,111 Ik zou terug naar CS50 en kijken naar enkele van dat spul. 694 00:31:15,111 --> 00:31:15,610 Dus ja. 695 00:31:15,610 --> 00:31:16,140 Ik ben cool. 696 00:31:16,140 --> 00:31:19,350 Ik uitstel met codering. 697 00:31:19,350 --> 00:31:22,910 Dus dan is het aan het einde van de val, dat realiseer ik me, hey, 698 00:31:22,910 --> 00:31:24,410 informatica is pretty cool. 699 00:31:24,410 --> 00:31:27,730 Ik eindigt met CS51. 700 00:31:27,730 --> 00:31:30,430 In het volgende semester, Ik eindigt met CS61. 701 00:31:30,430 --> 00:31:32,727 En dit alles vanaf daar, toen ik uiteindelijk verklaren 702 00:31:32,727 --> 00:31:35,310 informatica, die ik had absoluut niet van plan te doen 703 00:31:35,310 --> 00:31:36,740 toen ik naar de universiteit. 704 00:31:36,740 --> 00:31:39,330 En nu ben ik hier. 705 00:31:39,330 --> 00:31:42,230 Dus de cursus is wat je er zelf van maakt. 706 00:31:42,230 --> 00:31:43,463 Ik hoop dat je ervan geniet. 707 00:31:43,463 --> 00:31:44,066 >> [APPLAUS] 708 00:31:44,066 --> 00:31:45,315 DAVID MALAN: Hartelijk dank aan Rob. 709 00:31:45,315 --> 00:31:49,020 710 00:31:49,020 --> 00:31:52,180 >> En nu Maria, onze hoofd cursus assistent. 711 00:31:52,180 --> 00:31:53,140 >> MARIA: Hey guys. 712 00:31:53,140 --> 00:31:53,880 Mijn naam is Maria. 713 00:31:53,880 --> 00:31:56,930 Ik ben een tweedejaars in Cabot House, afkomstig uit Bulgarije, 714 00:31:56,930 --> 00:31:59,880 en ik ben super enthousiast te zijn een deel van het personeel dit jaar. 715 00:31:59,880 --> 00:32:03,380 Ik nam CS50 als eerstejaarsstudent vorig jaar, en ik heb nooit zelfs 716 00:32:03,380 --> 00:32:04,750 nagedacht over CS vooraf. 717 00:32:04,750 --> 00:32:08,380 Dus ik helemaal gek op de cursus, en ik hoop dat jullie allemaal het liefde zo veel als ik deed. 718 00:32:08,380 --> 00:32:09,250 En, ja. 719 00:32:09,250 --> 00:32:10,868 Welkom bij CS50. 720 00:32:10,868 --> 00:32:12,201 DAVID MALAN: Bedankt aan Maria. 721 00:32:12,201 --> 00:32:13,674 [APPLAUS] 722 00:32:13,674 --> 00:32:16,129 723 00:32:16,129 --> 00:32:19,580 Nu Hanna, ons hoofd onderwijs collega. 724 00:32:19,580 --> 00:32:20,480 HANNA: Hoi, ik ben Hanna. 725 00:32:20,480 --> 00:32:22,990 Ik ben een senior in Cabot studeert informatica. 726 00:32:22,990 --> 00:32:28,120 Ik nam CS50 als eerstejaarsstudent en had geweest TFing-- dit zal mijn derde jaar. 727 00:32:28,120 --> 00:32:31,000 Dus zal ik graag betrokken worden in CS50 voor alle vier jaar, 728 00:32:31,000 --> 00:32:33,569 en ik kijk ernaar uit samen te werken met u allen. 729 00:32:33,569 --> 00:32:34,902 DAVID MALAN: Bedankt aan Hanna. 730 00:32:34,902 --> 00:32:36,870 [APPLAUS] 731 00:32:36,870 --> 00:32:37,854 732 00:32:37,854 --> 00:32:40,274 En tot slot, Daven, onze precepter. 733 00:32:40,274 --> 00:32:40,940 Daven: Hey guys. 734 00:32:40,940 --> 00:32:42,390 Ik ben een voorschrift meer dan in informatica hier. 735 00:32:42,390 --> 00:32:44,010 Dit zal mijn vierde jaar lesgeven zijn. 736 00:32:44,010 --> 00:32:45,261 Ik help ook het beheer van de cursus. 737 00:32:45,261 --> 00:32:47,801 Dus ik weet zeker dat je me zien rond, vooral bij de kantooruren. 738 00:32:47,801 --> 00:32:48,970 Ik ben altijd op kantoortijden. 739 00:32:48,970 --> 00:32:51,640 Dus als je me zien lopen rond, zeker komen gedag zeggen. 740 00:32:51,640 --> 00:32:52,681 Ik hou ervan om iedereen te ontmoeten. 741 00:32:52,681 --> 00:32:55,830 Anders, veel plezier, en ik zie je rond. 742 00:32:55,830 --> 00:32:58,210 >> DAVID MALAN: Bedankt aan Daven ook. 743 00:32:58,210 --> 00:33:01,290 Dus je zult al te voldoen deze mensen het duurde niet lang. 744 00:33:01,290 --> 00:33:03,040 Maar zonder verdere ado, als jullie zou doen 745 00:33:03,040 --> 00:33:05,840 graag uw zetels van eerdere hervatten. 746 00:33:05,840 --> 00:33:10,940 Sta mij toe te voeren vanuit de verte nu een aantal van onze vrienden uit New Haven, 747 00:33:10,940 --> 00:33:14,690 in het bijzonder de hoofden van de cursus, die zult wordt het toezicht op CS50 er-- Professor 748 00:33:14,690 --> 00:33:19,550 Brian Scassellati, Jason, en Andi, die gewoon-- zodat we niet het lot hadden verleiden 749 00:33:19,550 --> 00:33:22,610 met enige FaceTime of like-- hebben net stuurde ons enkele minuten 750 00:33:22,610 --> 00:33:27,380 geleden de volgende video waarin ze zeggen hello from collegezaal 751 00:33:27,380 --> 00:33:31,480 aan de Yale, waarbij lecture wordt momenteel gestreamd. 752 00:33:31,480 --> 00:33:34,052 >> Dus onze vrienden van Yale. 753 00:33:34,052 --> 00:33:35,260 BRIAN Scassellati: Hoi, David. 754 00:33:35,260 --> 00:33:36,480 Hallo, iedereen bij Harvard. 755 00:33:36,480 --> 00:33:41,400 We zijn zo enthousiast te brengen CS50 naar Yale dit semester. 756 00:33:41,400 --> 00:33:45,250 Mijn naam is Brian Scassellati, maar gewoon iedereen oproepen me Scas. 757 00:33:45,250 --> 00:33:50,402 En ik ben hier vandaag om te introduceren om u de CS50 personeel. 758 00:33:50,402 --> 00:33:52,346 >> [TOEJUICHENDE] 759 00:33:52,346 --> 00:33:55,760 760 00:33:55,760 --> 00:33:59,780 >> En wat nog belangrijker is, ik ben hier zo goed in te voeren 761 00:33:59,780 --> 00:34:03,690 alle van de studenten aan Yale die vanochtend 762 00:34:03,690 --> 00:34:09,289 hebben deze het meest populair opleiding aan Yale de CS50 studenten. 763 00:34:09,289 --> 00:34:12,090 >> [TOEJUICHENDE] 764 00:34:12,090 --> 00:34:25,850 765 00:34:25,850 --> 00:34:28,310 >> Dus we zijn erg enthousiast hier zie je nog 766 00:34:28,310 --> 00:34:34,239 op vrijdag en op zaterdag voor de Puzzel Day en hebben een geweldige lezing. 767 00:34:34,239 --> 00:34:35,440 Doei. 768 00:34:35,440 --> 00:34:37,360 >> [APPLAUS] 769 00:34:37,360 --> 00:34:42,170 770 00:34:42,170 --> 00:34:45,497 >> DAVID MALAN: Op het scherm is hier de namen van een aantal van 140 medewerkers 771 00:34:45,497 --> 00:34:48,330 leden die je te wachten over de loop van de semester-- een aantal van hen 772 00:34:48,330 --> 00:34:50,540 Hier in Cambridge, sommige van hen hier in New Haven. 773 00:34:50,540 --> 00:34:52,706 En inderdaad heb je een hebt kans deze zaterdag, 774 00:34:52,706 --> 00:34:54,530 als Scas notities, wonen CS50 Puzzle Day. 775 00:34:54,530 --> 00:34:57,780 Je zou kunnen hebben gezien weinig puzzelstukjes gleed onder uw deuropeningen onlangs. 776 00:34:57,780 --> 00:35:00,420 We hebben een paar extra's hier later wanneer je bestaat. 777 00:35:00,420 --> 00:35:04,030 Als u assembleren alle vier de puzzel stukken en voeg de krachten met kamers 778 00:35:04,030 --> 00:35:06,450 in de omgeving van jou in je huis of dorm, zullen ze 779 00:35:06,450 --> 00:35:09,690 assembleren in een QR-code-- of een tweedimensionale barcode, die 780 00:35:09,690 --> 00:35:12,970 eenmaal geassembleerd en gescand met je telefoon zal je leiden 781 00:35:12,970 --> 00:35:17,060 om een ​​aantal fantastische prijs of-- ik veronderstel je kon gewoon fotograferen dit nu 782 00:35:17,060 --> 00:35:17,560 ook. 783 00:35:17,560 --> 00:35:22,560 >> Maar vinden die puzzelstukjes toch om te winnen die fantastische prijs. 784 00:35:22,560 --> 00:35:25,900 En inderdaad een van de tradities in SC50-- ah, te traag. 785 00:35:25,900 --> 00:35:29,790 Een van de tradities in CS50 is serveren taart na de eerste lezing. 786 00:35:29,790 --> 00:35:31,620 >> En zo ja, in een paar minuten vanaf nu, 787 00:35:31,620 --> 00:35:36,040 zullen er cake geserveerd buiten zowel hier als in New Haven als goed. 788 00:35:36,040 --> 00:35:39,530 >> Maar first-- ingericht we ze zelf. 789 00:35:39,530 --> 00:35:43,360 Maar first-- en hopelijk er zal genoeg zijn. 790 00:35:43,360 --> 00:35:44,830 >> Maar eerst een snelle blik. 791 00:35:44,830 --> 00:35:47,880 Dus lezingen inderdaad zal zijn meestal hier Cambridge geproduceerd. 792 00:35:47,880 --> 00:35:51,580 Maar elke maand, zullen we naar beneden springen naar Yale met CS50's productie team en stroom 793 00:35:51,580 --> 00:35:53,730 de cursus in de omgekeerde richting ook, dus 794 00:35:53,730 --> 00:35:56,840 op de twee campussen brengen echt voor de eerste keer in de geschiedenis 795 00:35:56,840 --> 00:36:00,450 zo dicht mogelijk bij elkaar als een in dezelfde cursus. 796 00:36:00,450 --> 00:36:04,050 >> In termen van de draagconstructie dat al stond hier in Cambridge ook 797 00:36:04,050 --> 00:36:05,646 zoals in New Haven, doorsneden. 798 00:36:05,646 --> 00:36:08,020 Inderdaad, zoals sommigen van jullie weet het, we hebben verschillende tracks 799 00:36:08,020 --> 00:36:10,850 binnen de cursus voor de minder comfortabele, comfortabeler, 800 00:36:10,850 --> 00:36:14,610 ergens tussenin zodat ongeacht uw voorafgaande achtergrond, 801 00:36:14,610 --> 00:36:17,670 kun je uiteindelijk slagen in de klas. 802 00:36:17,670 --> 00:36:21,320 >> Spreekuren ondertussen, zijn een kans op maandag en dinsdag 803 00:36:21,320 --> 00:36:26,570 en donderdagavond om zowel te werken hier en in New Haven op onze cursus 804 00:36:26,570 --> 00:36:30,370 probleem sets met tientallen personeel van de cursus in uw buurt. 805 00:36:30,370 --> 00:36:35,380 >> Probleem zet ondertussen zijn ondersteund door dingen die wij noemen 806 00:36:35,380 --> 00:36:39,140 walkthroughs, die video zijn gebaseerd tutorials die echt beantwoorden FAQ 807 00:36:39,140 --> 00:36:41,670 waar op de uitdaging van een week beginnen. 808 00:36:41,670 --> 00:36:44,290 En de nabespreking loop je door middel van mogelijke oplossingen 809 00:36:44,290 --> 00:36:46,490 zodat het uiteinde van de probleem te stellen, je 810 00:36:46,490 --> 00:36:50,820 weet precies wat je had kunnen doen anders of geheel anders. 811 00:36:50,820 --> 00:36:53,895 >> Het probleem stelt zich komen in twee edities, een standaard editie 812 00:36:53,895 --> 00:36:57,510 dat wij verwachten en nodigen de meeste de class-- ongeveer 90% plus te doen-- 813 00:36:57,510 --> 00:37:00,520 en een zogenaamde hakker editie waarop elke pagina is Opgehemeld 814 00:37:00,520 --> 00:37:02,790 hacker editie, hacker editie, hacker editie, 815 00:37:02,790 --> 00:37:07,550 zodat u dat karma als je wil, om te duiken 816 00:37:07,550 --> 00:37:10,230 in meer geavanceerde versies van de cursus probleem sets 817 00:37:10,230 --> 00:37:14,970 dat de dekking ogenschijnlijk hetzelfde materiaal maar met een meer verfijnde aanpak 818 00:37:14,970 --> 00:37:19,020 en met aanvullende achtergrondinformatie Soms leidt. 819 00:37:19,020 --> 00:37:22,350 >> Inmiddels zijn er negen dagen te laat dat u kunt toepassen op het probleem van de cursus 820 00:37:22,350 --> 00:37:26,160 stelt evenals de laagste score, die wij vallen aan de voorwaarden einde. 821 00:37:26,160 --> 00:37:26,900 >> Maar wat te wachten staat? 822 00:37:26,900 --> 00:37:29,300 Nou ja, een voorproefje van het probleem zet bij de hand op vrijdag 823 00:37:29,300 --> 00:37:31,959 en volgende week waar we ploeteren voor slechts een paar dagen in iets 824 00:37:31,959 --> 00:37:35,000 genaamd Scratch, een grafische programmeeromgeving ontwikkeld door onze vrienden 825 00:37:35,000 --> 00:37:39,290 aan het MIT Media Lab waarmee je programmeren hetzij voor het eerst 826 00:37:39,290 --> 00:37:43,510 of in een nieuwe omgeving helemaal met behulp van een drag and drop type omgeving. 827 00:37:43,510 --> 00:37:45,595 Waarbij puzzelstukjes alleen samen interlock 828 00:37:45,595 --> 00:37:48,080 als het maakt logische zin te doen. 829 00:37:48,080 --> 00:37:50,440 >> Ondertussen in probleem te stellen laatste twee jaar bijvoorbeeld, 830 00:37:50,440 --> 00:37:53,010 hebben we introduceren de klas in de wereld van cryptografie, 831 00:37:53,010 --> 00:37:55,370 de kunst van het versleutelen of klauteren informatie. 832 00:37:55,370 --> 00:37:58,940 Sterker nog, deze tekst hier als ontsleuteld daadwerkelijk 833 00:37:58,940 --> 00:38:01,277 leiden u naar een aantal leuke bestemming. 834 00:38:01,277 --> 00:38:03,110 En het probleem stellen, wat we hadden studenten 835 00:38:03,110 --> 00:38:06,280 doen is precies die uit te voeren soorten things-- een algoritme, 836 00:38:06,280 --> 00:38:09,530 of reeks instructies scrambling en klauteren informatie. 837 00:38:09,530 --> 00:38:11,850 >> En in de hacker editie van die zelfde probleem set, 838 00:38:11,850 --> 00:38:15,800 hebben we uitdagen studenten om een ​​te nemen versleutelde bestand van een typische computer 839 00:38:15,800 --> 00:38:18,840 systeem met veel gebruikersnamen en versleutelde wachtwoorden 840 00:38:18,840 --> 00:38:21,400 en die passwords-- kraken eigenlijk uitzoeken 841 00:38:21,400 --> 00:38:25,870 wat ze waren zonder iets te weten A priori over die werkelijke wachtwoorden. 842 00:38:25,870 --> 00:38:27,620 Ondertussen, doen we overgang in het probleem 843 00:38:27,620 --> 00:38:29,536 zet dan te kijken naar de wereld van de graphics. 844 00:38:29,536 --> 00:38:32,240 En in feite zou je je voorstellen nu dat dit kan wellicht 845 00:38:32,240 --> 00:38:35,200 zijn de eenvoudigste manier te vertegenwoordigen een zwart-wit beeld. 846 00:38:35,200 --> 00:38:39,570 >> Een witte pixel, of vierkant, zoals boven daar, 847 00:38:39,570 --> 00:38:41,620 kunnen worden vertegenwoordigd a 1 en een zwart vierkant 848 00:38:41,620 --> 00:38:43,490 zou kunnen betekenen met 0. 849 00:38:43,490 --> 00:38:47,670 En alleen door het gebruik meer bits zoals wij voorgesteld eerder met 72 en 73 en 33, 850 00:38:47,670 --> 00:38:49,882 konden wij vertegenwoordigen kleurenpixels ook. 851 00:38:49,882 --> 00:38:51,590 En wat we doen tijdens Dit probleem set is 852 00:38:51,590 --> 00:38:54,660 over het algemeen een wandeling rond campus met een digitale camera, 853 00:38:54,660 --> 00:38:56,730 foto's nemen van mensen, plaatsen en dingen. 854 00:38:56,730 --> 00:38:59,270 Dan een of andere manier elk semester, we lijken te ongeluk 855 00:38:59,270 --> 00:39:02,600 verwijderd of corrupt de geheugenkaart waarop al deze foto's zijn, 856 00:39:02,600 --> 00:39:04,610 en dus je wordt uitgedaagd om vervolgens te schrijven software 857 00:39:04,610 --> 00:39:09,650 waarmee de JPEG's te herstellen van een kopie van de kaart onze camera's. 858 00:39:09,650 --> 00:39:13,550 >> Ondertussen hebben we klaar om u later in de term een ​​woordenboek van het Engels woorden 859 00:39:13,550 --> 00:39:16,680 die moeten 143.000 woorden, en wat je nodig hebt om te komen 860 00:39:16,680 --> 00:39:19,240 met een slimme manier van u ze in het geheugen, 861 00:39:19,240 --> 00:39:22,850 of ram bij wijze van spreken, om te antwoorden queries van het formulier: dit is een woord, 862 00:39:22,850 --> 00:39:25,910 is dit een woord, de uitvoering van de snelste spellingcontrole dat je kunt, 863 00:39:25,910 --> 00:39:28,180 zelfs pinning jezelf potentieel tegen klasgenoten 864 00:39:28,180 --> 00:39:30,460 om te zien wie van u gebruik maakt van de minste hoeveelheid tijd 865 00:39:30,460 --> 00:39:33,440 bij het uitvoeren van de code en zelfs de minste hoeveelheid geheugen. 866 00:39:33,440 --> 00:39:36,060 >> Later op termijn denk je eigenlijk implementeren van uw eigen webserver. 867 00:39:36,060 --> 00:39:39,470 Dus niet alleen een website in een taal genaamd HTML en nog veel meer, 868 00:39:39,470 --> 00:39:43,300 maar een webserver die eigenlijk luistert verzoeken op internet 869 00:39:43,300 --> 00:39:44,460 en daarop reageert. 870 00:39:44,460 --> 00:39:47,210 En inderdaad, dit is hoe we overbruggen onze wereld van C waarmee je 871 00:39:47,210 --> 00:39:50,550 vertrouwd te raken volgende week PHP en HTML en JavaScript 872 00:39:50,550 --> 00:39:51,820 en CSS en dergelijke. 873 00:39:51,820 --> 00:39:54,820 >> Omdat een van de eerste webgebaseerde project later in de term doen we 874 00:39:54,820 --> 00:39:57,516 is historisch CS50 Finance. 875 00:39:57,516 --> 00:40:02,580 Etrade.com stijl van een website die het mogelijk maakt u bijna kopen en verkopen aandelen 876 00:40:02,580 --> 00:40:08,240 terwijl ook het schrijven van code om Yahoo te praten Finance krijgt semi real-time voorraad 877 00:40:08,240 --> 00:40:11,490 citeert om te werken je eigen portfolio. 878 00:40:11,490 --> 00:40:13,370 >> Maar ten slotte natuurlijk is de laatste project-- 879 00:40:13,370 --> 00:40:16,960 een kans om bijna alles van doen u interessant om hier een probleem op te lossen 880 00:40:16,960 --> 00:40:20,970 of verder van belang u dat een of andere manier geïnspireerd 881 00:40:20,970 --> 00:40:22,670 door de geleerde lessen in de klas. 882 00:40:22,670 --> 00:40:26,140 >> En de klas, zoals u wellicht weet, culmineert in de zogenaamde CS50 Hackathon 883 00:40:26,140 --> 00:40:29,330 en CS50 Fair en een willekeurig aantal van andere culturele evenementen 884 00:40:29,330 --> 00:40:31,770 het hele semester die u in staat om deel te nemen 885 00:40:31,770 --> 00:40:33,460 met elkaar en het personeel van de cursus. 886 00:40:33,460 --> 00:40:37,170 >> Bijvoorbeeld, bij Fire and Ice in Sitar dit jaar, nou ja, op vrijdagmiddag, 887 00:40:37,170 --> 00:40:39,220 nodigen wij zo'n 50 studenten om te lunchen, whoever 888 00:40:39,220 --> 00:40:41,190 wil om mee te doen, mijzelf, en het personeel, 889 00:40:41,190 --> 00:40:44,840 en onze vrienden uit het bedrijfsleven en alumni om te praten over het leven in de echte wereld 890 00:40:44,840 --> 00:40:46,670 en verder onder het genot van een goede lunch. 891 00:40:46,670 --> 00:40:49,050 Aan de Hackathon zal zie je dergelijke beelden 892 00:40:49,050 --> 00:40:53,740 deze, waaronder veel candy-- en vanaf 2014 voor de eerste tijd-- 893 00:40:53,740 --> 00:40:55,096 groenten. 894 00:40:55,096 --> 00:40:56,960 >> [APPLAUS] 895 00:40:56,960 --> 00:40:58,358 896 00:40:58,358 --> 00:41:02,710 >> Maar door 05:00, doet de scène meestal er een beetje iets als dit. 897 00:41:02,710 --> 00:41:05,330 En dan gewoon een week of dus later, is de CS50 Fair 898 00:41:05,330 --> 00:41:08,270 waarvoor sommige 2000 plus studenten en medewerkers en docenten 899 00:41:08,270 --> 00:41:11,910 leden uit de hele campus en over campussen dit jaar 900 00:41:11,910 --> 00:41:15,620 komen om te zien en genieten van de verwezenlijkingen van CS50 studenten, die 901 00:41:15,620 --> 00:41:16,140 is nu jou. 902 00:41:16,140 --> 00:41:19,000 >> En inderdaad, terwijl dit jaar zullen we uitnodigend en busing iedereen 903 00:41:19,000 --> 00:41:22,460 bij aan de Yale die graag aan te komen Cambridge deze zaterdag voor CS50 Puzzle 904 00:41:22,460 --> 00:41:26,410 Day, en we zullen precies hetzelfde te doen in december voor de CS50 Hackathon 905 00:41:26,410 --> 00:41:30,080 zodat Harvard en Yale studenten Zowel deelnemen aan beide gebeurtenissen. 906 00:41:30,080 --> 00:41:33,630 >> We zullen ook houden CS50 beurzen in Cambridge en in New Haven dit jaar 907 00:41:33,630 --> 00:41:36,480 zodat studenten op beide campussen en medewerkers en docenten 908 00:41:36,480 --> 00:41:39,260 ziet elke respectievelijke prestatie campus's. 909 00:41:39,260 --> 00:41:41,540 En die verwezenlijkingen zal een dergelijk geheugen te induceren 910 00:41:41,540 --> 00:41:45,440 Hierdoor en als deze en uiteindelijk onderhavige, waarin jullie allemaal 911 00:41:45,440 --> 00:41:48,460 verlaat de klas dragen van een beetje iets waar je hopelijk waren 912 00:41:48,460 --> 00:41:52,680 blij of trots om te zeggen dat ik nam CS50. 913 00:41:52,680 --> 00:41:55,220 >> Maar voordat het zover en voordat we serveren cake, 914 00:41:55,220 --> 00:41:58,980 we hebben together-- dankzij de CS50 we productie team en een zekere zelfstandige 915 00:41:58,980 --> 00:42:03,120 stok, de ene keer dat we gebruiken zulke dingen voor-- als we stuurde hem 916 00:42:03,120 --> 00:42:05,380 niet alleen hier naar Cambridge maar ook New Haven 917 00:42:05,380 --> 00:42:08,760 om een ​​paar hellos van het verzamelen medewerkers en alle mensen cursus 918 00:42:08,760 --> 00:42:12,640 vindt u zowel hier als in New ontmoeten Haven loop van de volgende maanden. 919 00:42:12,640 --> 00:42:15,449 >> Sta mij toe om een ​​te introduceren weinig meer van het personeel CS50's. 920 00:42:15,449 --> 00:42:16,990 Mark Zuckerberg: Heeft die het gaan? 921 00:42:16,990 --> 00:42:18,266 Oh, het gaat. 922 00:42:18,266 --> 00:42:20,910 Het gaat. 923 00:42:20,910 --> 00:42:21,570 Ooh. 924 00:42:21,570 --> 00:42:23,170 Yarr! 925 00:42:23,170 --> 00:42:25,350 >> [Muziek Andy Grammer: "Schat, ik ben  GOED"] 926 00:42:25,350 --> 00:42:29,672 927 00:42:29,672 --> 00:42:32,152 >> MARY: Dit is Caitlin. 928 00:42:32,152 --> 00:42:34,515 Dat is Jay, en ik ben Mary. 929 00:42:34,515 --> 00:42:35,140 SATO: Hoi, jongens. 930 00:42:35,140 --> 00:42:35,640 Ik ben Sato. 931 00:42:35,640 --> 00:42:36,264 MICHAEL G .: Hi. 932 00:42:36,264 --> 00:42:37,181 Mijn naam is Michael, G. 933 00:42:37,181 --> 00:42:38,014 DOUG LLOYD: Ik ben niet. 934 00:42:38,014 --> 00:42:38,540 Nee. 935 00:42:38,540 --> 00:42:39,310 Ik ben Doug Lloyd. 936 00:42:39,310 --> 00:42:41,757 Ik kan niet geloven dat ik ben bedrijf een selfie stok op dit moment. 937 00:42:41,757 --> 00:42:42,340 SPEAKER 4: Hi. 938 00:42:42,340 --> 00:42:42,560 SPEAKER 5: Hi. 939 00:42:42,560 --> 00:42:43,307 SPEAKER 6: Hallo. 940 00:42:43,307 --> 00:42:44,023 SPEAKER 7: Hi. 941 00:42:44,023 --> 00:42:44,648 SPEAKER 8: Hey. 942 00:42:44,648 --> 00:42:46,436 We opknoping uit bij Yale. 943 00:42:46,436 --> 00:42:48,910 We zijn erg blij voor dit semester omdat het 944 00:42:48,910 --> 00:42:50,840 de eerste keer dat het komt naar Yale. 945 00:42:50,840 --> 00:42:53,012 Het zal geweldig zijn! 946 00:42:53,012 --> 00:42:55,928 >> [Muziek] 947 00:42:55,928 --> 00:43:02,190 948 00:43:02,190 --> 00:43:04,664 >> JACOB SCHERBA: Mijn naam is Jacob Scherba. 949 00:43:04,664 --> 00:43:08,310 Ik ben opgewonden om te leren CS50 omdat ik denk 950 00:43:08,310 --> 00:43:11,429 brengen computer science aan mensen in en laagdrempelige manier. 951 00:43:11,429 --> 00:43:13,220 SPEAKER 9: Ik ben echt opgewonden om te leren CS50 952 00:43:13,220 --> 00:43:17,717 want ik nam de klas van vorig jaar, en het is één van de beste klassen. 953 00:43:17,717 --> 00:43:18,425 SPEAKER 10: Ja. 954 00:43:18,425 --> 00:43:20,476 Mijn advies is moet je CS50 nemen. 955 00:43:20,476 --> 00:43:23,350 JACOB SCHERBA: Ik koos CS omdat Ik denk dat het een leuke en creatieve manier 956 00:43:23,350 --> 00:43:25,314 om problemen op een analytische manier op te lossen. 957 00:43:25,314 --> 00:43:28,480 SPEAKER 11: Toen ik was een beetje eerstejaars en bang van de informatica 958 00:43:28,480 --> 00:43:30,229 en bang voor het doen engineering en stuff, 959 00:43:30,229 --> 00:43:34,091 Het was de eerste harde klasse nam ik, en het was ook mijn favoriete klasse ooit. 960 00:43:34,091 --> 00:43:36,090 DOUG LLOYD: Dit is mijn negende jaar lesgeven CS50. 961 00:43:36,090 --> 00:43:37,482 Dat maakt me zo oud geluid! 962 00:43:37,482 --> 00:43:38,690 Er is altijd iets nieuws. 963 00:43:38,690 --> 00:43:39,550 Er is altijd iets spannends. 964 00:43:39,550 --> 00:43:43,077 Er is altijd nieuwe uitdagingen voor nieuwe studenten, en het is leuk om hen te helpen 965 00:43:43,077 --> 00:43:44,910 en deze ervaring uitdagingen met hen 966 00:43:44,910 --> 00:43:45,925 en hen te helpen hun problemen op te lossen. 967 00:43:45,925 --> 00:43:47,955 >> SPEAKER 12: Toen ik voor het eerst geleerd hoe dat te doen CS, 968 00:43:47,955 --> 00:43:49,413 het was als het leren van een super macht. 969 00:43:49,413 --> 00:43:53,749 En om te zien dat in andere studenten en om hen te helpen door dat proces 970 00:43:53,749 --> 00:43:55,665 is een van de meest lonende dingen die ik ooit heb. 971 00:43:55,665 --> 00:43:58,706 >> SPEAKER 7: Ik koos voor CS, omdat in de begin, ik was een wiskunde concentrator 972 00:43:58,706 --> 00:44:00,497 en ik nam CS50 en werd verliefd op het. 973 00:44:00,497 --> 00:44:02,455 Ik vond ook dat met CS, kon ik dingen bouwen. 974 00:44:02,455 --> 00:44:04,410 En dat, dacht ik, was een echt cool aspect. 975 00:44:04,410 --> 00:44:08,156 >> SPEAKER 13: Enkele tips voor nieuwe studenten is naar kantooruren 976 00:44:08,156 --> 00:44:09,573 en hangen met de geweldige TF. 977 00:44:09,573 --> 00:44:11,906 SPEAKER 14: Start uw P-SETs vroeg, ga dan naar de kantooruren, 978 00:44:11,906 --> 00:44:13,457 worden frends met uw TF. 979 00:44:13,457 --> 00:44:14,165 SPEAKER 15: Ja. 980 00:44:14,165 --> 00:44:16,164 Alles wat ze zei. 981 00:44:16,164 --> 00:44:17,997 SPEAKER 16: Weet niet bang om te vragen om hulp. 982 00:44:17,997 --> 00:44:18,980 SPEAKER 17: Ja. 983 00:44:18,980 --> 00:44:22,052 SPEAKER 18: Start uw P-SETs vroeg. 984 00:44:22,052 --> 00:44:23,760 SPEAKER 19: Het is een grote sociale ervaring. 985 00:44:23,760 --> 00:44:25,112 Maken veel vrienden op deze manier. 986 00:44:25,112 --> 00:44:26,570 SPEAKER 14: Ga naar de sectie Het is leuk. 987 00:44:26,570 --> 00:44:28,050 SPEAKER 11: Ik bedoel, go for it. 988 00:44:28,050 --> 00:44:28,770 Het is echt moeilijk. 989 00:44:28,770 --> 00:44:30,581 Je krijgt van te maken wat je erin steekt, 990 00:44:30,581 --> 00:44:32,580 maar het is echt een leuke klasse vooral als je 991 00:44:32,580 --> 00:44:35,496 bereid om de tijd gestoken, maar het helpt als je tijd erin steekt. 992 00:44:35,496 --> 00:44:38,336 Je zult veel meer te halen van te maken later. 993 00:44:38,336 --> 00:44:38,960 MIKE: Ik ben Mike. 994 00:44:38,960 --> 00:44:39,882 CAMILLE: Ik ben Camille. 995 00:44:39,882 --> 00:44:40,590 Hanya: Ik ben Hanya. 996 00:44:40,590 --> 00:44:41,310 MATT: Ik ben Matt. 997 00:44:41,310 --> 00:44:42,140 PETER: Ik ben Peter. 998 00:44:42,140 --> 00:44:42,620 PHILLIP: Ik ben Phillip. 999 00:44:42,620 --> 00:44:43,495 PATRICK: Ik ben Patrick. 1000 00:44:43,495 --> 00:44:45,234 ROB BOWDEN: Ik ben Rob Bowden. 1001 00:44:45,234 --> 00:44:47,150 BRIAN Scassellati: My naam is Scas en dit-- 1002 00:44:47,150 --> 00:44:49,958 ALL: --is CS50. 1003 00:44:49,958 --> 00:44:50,806 SPEAKER 20: At Yale. 1004 00:44:50,806 --> 00:44:51,639 SPEAKER 21: At Yale. 1005 00:44:51,639 --> 00:44:52,840 [Lachend] 1006 00:44:52,840 --> 00:44:54,270 DAVID MALAN: Dat is het voor CS50. 1007 00:44:54,270 --> 00:44:59,000 Wij zullen u zien van Yale op Vrijdag, Puzzel Dag op zaterdag. 1008 00:44:59,000 --> 00:45:00,475 Cake wordt nu bediend. 1009 00:45:00,475 --> 00:45:01,640 Dit is CS50. 1010 00:45:01,640 --> 00:45:05,314 1011 00:45:05,314 --> 00:45:10,992 >> [Muziek] 1012 00:45:10,992 --> 00:47:00,434