1 00:00:00,000 --> 00:00:00,625 >> [MUSIK SPELA] 2 00:00:00,625 --> 00:00:11,341 3 00:00:11,341 --> 00:00:12,090 NU: Hej, värld. 4 00:00:12,090 --> 00:00:14,330 Detta är CS50LIVE. 5 00:00:14,330 --> 00:00:17,792 Vi har en så bra episod för dig. 6 00:00:17,792 --> 00:00:22,110 VD för YouTube, en bugg i Internet Explorer, 7 00:00:22,110 --> 00:00:26,750 det värsta tv-spel någonsin, och en studieresa till Valve Software. 8 00:00:26,750 --> 00:00:33,040 Men först, en resa till Tokyo, Japan där president Obama nyligen spelat 9 00:00:33,040 --> 00:00:36,066 fotboll med en god vän till mig. 10 00:00:36,066 --> 00:00:37,050 >> [VIDEO SPELA] 11 00:00:37,050 --> 00:00:43,930 12 00:00:43,930 --> 00:00:44,430 -Wow. 13 00:00:44,430 --> 00:00:45,414 Han rör sig. 14 00:00:45,414 --> 00:00:47,382 >> -Jag kan sparka en fotboll också. 15 00:00:47,382 --> 00:00:49,842 Här går jag. 16 00:00:49,842 --> 00:00:53,286 >> -Hej, bra jobb. 17 00:00:53,286 --> 00:00:54,687 >> [END VIDEOAVSPELNING] 18 00:00:54,687 --> 00:00:55,520 David: Hej, värld. 19 00:00:55,520 --> 00:00:57,110 Jag är här med CS50 egen Colton Ogden. 20 00:00:57,110 --> 00:00:58,430 >> COLTON OGDEN: Hej, alla. 21 00:00:58,430 --> 00:00:59,940 >> David: Och vem gör vi har med oss ​​här i dag? 22 00:00:59,940 --> 00:01:02,606 >> COLTON OGDEN: Detta är nu, vår lilla robot kompis från Frankrike. 23 00:01:02,606 --> 00:01:05,299 David: Jag träffade faktiskt NEJ vid sidan av [? Rob Boden?] 24 00:01:05,299 --> 00:01:07,590 när han och jag var i Atlanta, Georgien ett par veckor tillbaka 25 00:01:07,590 --> 00:01:09,890 som ni kanske minns på SIGCSE, Särskilda Intresse 26 00:01:09,890 --> 00:01:12,940 Grupp för datavetenskap utbildning, där bokstavligen gå runt 27 00:01:12,940 --> 00:01:14,919 konferensrummet golvet var den här killen. 28 00:01:14,919 --> 00:01:16,960 Tja som det visar sig, när vi kom tillbaka till campus 29 00:01:16,960 --> 00:01:20,360 Vi upptäckte att professor [OHÖRBAR] av Harvards robotlabb 30 00:01:20,360 --> 00:01:22,220 faktiskt hade en nu här på campus. 31 00:01:22,220 --> 00:01:24,742 Och hon vänligt tillät oss att programmera honom för dig idag. 32 00:01:24,742 --> 00:01:27,950 COLTON OGDEN: Ja, och faktiskt, David, Jag tror nu vill säga hej till dig 33 00:01:27,950 --> 00:01:30,450 Om du vill gå runt bordet här. 34 00:01:30,450 --> 00:01:32,815 >> David: Här? 35 00:01:32,815 --> 00:01:33,315 Okej. 36 00:01:33,315 --> 00:01:36,060 37 00:01:36,060 --> 00:01:36,560 Okej. 38 00:01:36,560 --> 00:01:39,400 39 00:01:39,400 --> 00:01:40,650 >> NU: Hej, David. 40 00:01:40,650 --> 00:01:42,040 TREVLIGT ATT TRÄFFAS. 41 00:01:42,040 --> 00:01:43,960 >> David: Hej, Nu. 42 00:01:43,960 --> 00:01:45,000 Skaka hans hand? 43 00:01:45,000 --> 00:01:48,510 >> COLTON OGDEN: Shake handen upp och ner. 44 00:01:48,510 --> 00:01:50,310 >> David: OK. 45 00:01:50,310 --> 00:01:52,435 >> COLTON OGDEN: Och sedan han kommer att gå vidare och sitta ner. 46 00:01:52,435 --> 00:01:54,476 Och om du är intresserad, Jag kan faktiskt visa dig 47 00:01:54,476 --> 00:01:56,715 hur jag kunde få honom att göra alla dessa saker också. 48 00:01:56,715 --> 00:01:57,200 >> David: Ja, absolut. 49 00:01:57,200 --> 00:01:58,320 >> COLTON OGDEN: Han är lite off balansera morse. 50 00:01:58,320 --> 00:02:00,174 Han har inte haft sitt kaffe ännu. 51 00:02:00,174 --> 00:02:01,840 David: Så vad är det vi ser? 52 00:02:01,840 --> 00:02:04,680 COLTON OGDEN: Så vi tittar på här är en kärna graf, som nu är 53 00:02:04,680 --> 00:02:07,920 en grafisk programmeringsmiljö, som är mycket lik Scratch 54 00:02:07,920 --> 00:02:09,317 att CS50 använder. 55 00:02:09,317 --> 00:02:11,150 Här ser vi den är inställd upp som ett flödesschema. 56 00:02:11,150 --> 00:02:13,370 Och vi har ett gäng av dessa små byggstenar här. 57 00:02:13,370 --> 00:02:16,203 Nu om vi tar en titt på den här till exempel, det kallas stand up. 58 00:02:16,203 --> 00:02:19,190 Och detta block säger stå upp för Nu, oavsett om han sitter ner 59 00:02:19,190 --> 00:02:20,320 eller vad som helst. 60 00:02:20,320 --> 00:02:22,990 >> Då ser vi att det går in i taktil huvud, som i princip 61 00:02:22,990 --> 00:02:26,070 väntar på en kran på toppen av huvudet som du såg tidigare. 62 00:02:26,070 --> 00:02:31,190 Flytta till organ rör sig i en x-, y-och z riktning till en specifik destination. 63 00:02:31,190 --> 00:02:33,980 Handslaget är en modul som jag skrev, som i princip säger, hej, David. 64 00:02:33,980 --> 00:02:34,688 TREVLIGT ATT TRÄFFAS. 65 00:02:34,688 --> 00:02:36,089 Väntar på ett handslag. 66 00:02:36,089 --> 00:02:37,630 Sitt ner är motsatsen till stå upp. 67 00:02:37,630 --> 00:02:38,796 Han kommer att gå vidare och sitta ner. 68 00:02:38,796 --> 00:02:40,610 Och sedan huvudrörelser är en loop som innebär att han 69 00:02:40,610 --> 00:02:42,090 kommer att röra huvudet i slumpmässiga riktningar. 70 00:02:42,090 --> 00:02:42,520 >> David: Intressant. 71 00:02:42,520 --> 00:02:44,890 Så även om dessa inte ser som pusselbitar från Scratch, 72 00:02:44,890 --> 00:02:45,950 det är egentligen samma idé. 73 00:02:45,950 --> 00:02:48,210 Och du kabeldragning ett program med användning av dessa byggstenar. 74 00:02:48,210 --> 00:02:49,020 >> COLTON OGDEN: Ja, exakt. 75 00:02:49,020 --> 00:02:50,590 >> David: Så du sa att du gjort en av dem, handskakning. 76 00:02:50,590 --> 00:02:51,990 Kan vi zooma in på den? 77 00:02:51,990 --> 00:02:52,131 >> COLTON OGDEN: Visst. 78 00:02:52,131 --> 00:02:53,642 Vi tar en titt här på handskakning. 79 00:02:53,642 --> 00:02:56,350 Och vi får se den är inställd mycket liknar den andra flödesdiagrammet. 80 00:02:56,350 --> 00:02:58,850 Vi börjar med hello blocket, vilket [OHÖRBAR] säger, hej, David. 81 00:02:58,850 --> 00:03:00,030 TREVLIGT ATT TRÄFFAS. 82 00:03:00,030 --> 00:03:01,430 Det här är en loop. 83 00:03:01,430 --> 00:03:02,940 Den säger, upptäcka armrörelse. 84 00:03:02,940 --> 00:03:05,230 Så det kommer i en oändlig loop vänta tills dess arm 85 00:03:05,230 --> 00:03:06,620 har höjts upp och ner. 86 00:03:06,620 --> 00:03:09,370 Och sedan en gång som har hänt, det kommer att gå vidare och göra dessa saker. 87 00:03:09,370 --> 00:03:13,280 Ställ stelhet OK och gå till slut, vilket i princip innebär att skicka honom tillbaka 88 00:03:13,280 --> 00:03:14,309 till sin standardläge. 89 00:03:14,309 --> 00:03:15,100 David: Intressant. 90 00:03:15,100 --> 00:03:17,910 Är du begränsad till endast använder denna grafisk miljö 91 00:03:17,910 --> 00:03:19,070 att programmera honom på det här sättet? 92 00:03:19,070 --> 00:03:19,820 >> COLTON OGDEN: Nej, faktiskt inte. 93 00:03:19,820 --> 00:03:21,950 Om vi ​​går vidare och dubbelklicka någon av dessa byggstenar, 94 00:03:21,950 --> 00:03:24,420 Vi kan se att det finns faktiskt python-kod under huven, 95 00:03:24,420 --> 00:03:26,000 driver var och en av dessa byggstenar. 96 00:03:26,000 --> 00:03:26,750 >> David: Ah, faktiskt. 97 00:03:26,750 --> 00:03:29,250 Så för dem obekanta, python är ett tolkat språk, 98 00:03:29,250 --> 00:03:32,240 mycket i samma anda som PHP, som vi använder i CS50. 99 00:03:32,240 --> 00:03:35,344 Och precis som du kan använda PHP för webbprogrammering, 100 00:03:35,344 --> 00:03:37,010 Du kan även använda den på kommandoraden. 101 00:03:37,010 --> 00:03:39,426 Och som Colton gör här i denna grafiska miljön, 102 00:03:39,426 --> 00:03:41,674 skriva program och sedan sänder den via Wi-Fi - 103 00:03:41,674 --> 00:03:42,590 COLTON OGDEN: Rätt. 104 00:03:42,590 --> 00:03:43,310 David: - till nu. 105 00:03:43,310 --> 00:03:44,550 Skulle du ha några tid att stanna kvar? 106 00:03:44,550 --> 00:03:45,350 >> COLTON OGDEN: Absolut. 107 00:03:45,350 --> 00:03:45,710 >> David: Okej. 108 00:03:45,710 --> 00:03:48,970 Tja, innan Colton kommer tillbaka med oss för lite av en överraskning, 109 00:03:48,970 --> 00:03:54,470 vi nu - få det -? har 60 sekunder av tidigare CS50 studenter audition 110 00:03:54,470 --> 00:03:55,844 att bli undervisning medmänniskor. 111 00:03:55,844 --> 00:03:56,510 [VIDEO SPELA] 112 00:03:56,510 --> 00:03:57,411 -Tack. 113 00:03:57,411 --> 00:03:58,910 Tack, alla, för att vara här. 114 00:03:58,910 --> 00:04:00,510 >> -Hej, Mr Bunny. 115 00:04:00,510 --> 00:04:02,120 >> -Välkommen till denna korta tutorial på - 116 00:04:02,120 --> 00:04:03,810 >> [OHÖRBAR] kul med Twinkies. 117 00:04:03,810 --> 00:04:04,310 -Vänta. 118 00:04:04,310 --> 00:04:05,040 Stopp. 119 00:04:05,040 --> 00:04:07,121 >> -Så nu har vi ett problem. 120 00:04:07,121 --> 00:04:07,620 -Det är inte. 121 00:04:07,620 --> 00:04:08,869 Och jag ska berätta varför. 122 00:04:08,869 --> 00:04:10,860 -En slinga är upprepning, liksom - 123 00:04:10,860 --> 00:04:12,970 >> -Ungefär en svart låda. 124 00:04:12,970 --> 00:04:13,935 >> -OK. 125 00:04:13,935 --> 00:04:15,160 Jag tror att jag får det. 126 00:04:15,160 --> 00:04:15,660 -Okej. 127 00:04:15,660 --> 00:04:17,140 Så nu är jag i en lite svåra. 128 00:04:17,140 --> 00:04:18,800 >> -Det stämmer. 129 00:04:18,800 --> 00:04:20,485 8 bitar gör ett byte. 130 00:04:20,485 --> 00:04:24,176 >> -Du tar en byte och du separera den i bitar av fyra. 131 00:04:24,176 --> 00:04:26,423 >> -Pip, pip, pip, pip, pip. 132 00:04:26,423 --> 00:04:28,018 Pip, pip, pip, pip, pip. 133 00:04:28,018 --> 00:04:29,380 >> -Det verkar alltför komplicerat. 134 00:04:29,380 --> 00:04:30,460 >> -Så låt oss göra det igen. 135 00:04:30,460 --> 00:04:32,580 >> -Om jag förvirra dig, tveka inte att stoppa mig. 136 00:04:32,580 --> 00:04:33,620 >> -Men vänta en sekund. 137 00:04:33,620 --> 00:04:36,940 >> -Nå, låt oss titta tillbaka på bilden och bryta ner saker steg för steg. 138 00:04:36,940 --> 00:04:41,720 >> -Om du kommer ihåg, är minnet delas i bytestora bitar. 139 00:04:41,720 --> 00:04:44,080 >> -Så här har vi det bästa scenariot. 140 00:04:44,080 --> 00:04:46,290 >> -Detta är en avsevärd förbättring jämfört med - 141 00:04:46,290 --> 00:04:47,715 >> -En webbläsare, som Chrome. 142 00:04:47,715 --> 00:04:49,421 >> -Det är alltid nödvändigt att befria någon - 143 00:04:49,421 --> 00:04:49,920 -Folk - 144 00:04:49,920 --> 00:04:50,880 -Du kan köra över. 145 00:04:50,880 --> 00:04:53,460 Och koden kan få något besvärligt. 146 00:04:53,460 --> 00:04:55,640 >> -Och det är allt du behöver. 147 00:04:55,640 --> 00:04:56,960 >> -Boom! 148 00:04:56,960 --> 00:04:59,140 >> David: Nu CS50 egen Dan Coffey och jag nyligen 149 00:04:59,140 --> 00:05:01,850 haft tillfälle att resa ut Mountain View, Kalifornien, 150 00:05:01,850 --> 00:05:03,740 som är där högkvarter Google är. 151 00:05:03,740 --> 00:05:07,350 Och vi hade en chans att chatta med Susan Wojcicki, VD för YouTube. 152 00:05:07,350 --> 00:05:10,920 Det var faktiskt i Susans garage år sedan på 90-talet 153 00:05:10,920 --> 00:05:14,620 att Google själv var startades av Larry och Sergey. 154 00:05:14,620 --> 00:05:17,430 >> Tja, visar det sig att Susan själv faktiskt tog CS50 155 00:05:17,430 --> 00:05:18,950 bara några år innan jag gjorde. 156 00:05:18,950 --> 00:05:21,450 Och jag tycker det är slående så du kommer snart att höra hur 157 00:05:21,450 --> 00:05:25,040 mycket en introduktion till datorn vetenskap så påverkade hennes liv. 158 00:05:25,040 --> 00:05:26,892 Hon vill säga hej. 159 00:05:26,892 --> 00:05:28,100 SUSAN Wojcicki: Hej, värld. 160 00:05:28,100 --> 00:05:29,620 Jag är Susan Wojcicki. 161 00:05:29,620 --> 00:05:31,500 Jag är VD på YouTube. 162 00:05:31,500 --> 00:05:36,570 Och jag tog CS50 när jag var en senior vid Harvard 1990. 163 00:05:36,570 --> 00:05:38,710 >> Jag var faktiskt en historia och litteratur större. 164 00:05:38,710 --> 00:05:44,180 Och min junior sommaren jag insåg att jag kanske 165 00:05:44,180 --> 00:05:46,450 ville lära sig något om datorer. 166 00:05:46,450 --> 00:05:48,350 Och så jag kom tillbaka. 167 00:05:48,350 --> 00:05:49,870 Jag tog CS50. 168 00:05:49,870 --> 00:05:54,340 Det var svårt, men det var det mest fantastiska klass jag tog. 169 00:05:54,340 --> 00:05:57,030 Det förändrade hur jag tänker på allt. 170 00:05:57,030 --> 00:06:03,200 >> Och när jag tog examen från Harvard 1990 åkte jag till Silicon Valley 171 00:06:03,200 --> 00:06:04,500 och jag fick ett jobb. 172 00:06:04,500 --> 00:06:07,490 Och jag har jobbat i tech sedan dess. 173 00:06:07,490 --> 00:06:09,780 Så CS50 förändrade mitt liv. 174 00:06:09,780 --> 00:06:12,320 Jag fortsätter att lära och bygga. 175 00:06:12,320 --> 00:06:13,870 Det gav mig en bra grund. 176 00:06:13,870 --> 00:06:17,100 Och jag fortsätter att lära sig varje dag som de tekniska förändringar. 177 00:06:17,100 --> 00:06:19,660 >> Och jag tycker det är underbart att ni alla tar det 178 00:06:19,660 --> 00:06:22,840 eftersom det är hur världen är kommer att förändras framöver. 179 00:06:22,840 --> 00:06:27,490 Det kommer bara att bli mer och mer möjligheter och innovation. 180 00:06:27,490 --> 00:06:31,010 Digital kommer att påverka vår lever ännu mer än den redan har. 181 00:06:31,010 --> 00:06:33,870 Och det är underbart att ni alla tar CS50. 182 00:06:33,870 --> 00:06:35,890 Så det här är CS50. 183 00:06:35,890 --> 00:06:38,080 >> David: Så om du har varit letar efter en ny anledning 184 00:06:38,080 --> 00:06:41,502 att inte använda en viss webbläsare, här är bra för dig. 185 00:06:41,502 --> 00:06:43,210 Jag fick nyligen - tillsammans med alla 186 00:06:43,210 --> 00:06:45,120 vid Harvard University - detta mail här. 187 00:06:45,120 --> 00:06:46,910 >> "Kära ledamöter av Harvard gemenskapen. 188 00:06:46,910 --> 00:06:50,930 Det amerikanska Department of Homeland Security rekommenderar att alla användare tillfälligt 189 00:06:50,930 --> 00:06:54,350 sluta använda Microsoft Internet Explorer, IE, 190 00:06:54,350 --> 00:06:56,270 på grund av att en kritisk säkerhetsbrist. " 191 00:06:56,270 --> 00:07:01,250 >> Detta dokumenteras faktiskt i Microsoft Security Advisory 2.963.983. 192 00:07:01,250 --> 00:07:05,242 Säkerhetsproblem i Internet Explorer möjliggör fjärrkörning av kod. 193 00:07:05,242 --> 00:07:07,200 Nu vad innebär det och vad är hotet? 194 00:07:07,200 --> 00:07:08,950 Tja, anser att detta diagram här, vilket vi 195 00:07:08,950 --> 00:07:12,160 användning i CS50 att prata om HTTP eller webbtrafik. 196 00:07:12,160 --> 00:07:15,140 Om vi ​​har här en webbsida servern och på den andra sidan 197 00:07:15,140 --> 00:07:17,589 en webbläsare - Internet Explorer i det här fallet - naturligtvis, 198 00:07:17,589 --> 00:07:19,380 en webbläsare när det först begär en webbsida 199 00:07:19,380 --> 00:07:21,310 kan skicka en HDP budskap som denna. 200 00:07:21,310 --> 00:07:26,470 GET index.html använder version 1.1 av det protokoll som kallas HTTP. 201 00:07:26,470 --> 00:07:30,820 >> Nu i detta fall, om en skurk har på något sätt haft tillgång till denna webbserver 202 00:07:30,820 --> 00:07:33,990 och installerat en utnyttja så att säga, 203 00:07:33,990 --> 00:07:36,990 han eller hon skulle kunna övertyga webbservern att returnera det. 204 00:07:36,990 --> 00:07:41,040 Inte bara index.html sig som begärts, men inbäddade inuti 205 00:07:41,040 --> 00:07:43,720 av att filen index.html kunde, naturligtvis vara andra tillgångar. 206 00:07:43,720 --> 00:07:47,230 I synnerhet något liknande exploit.SWF, 207 00:07:47,230 --> 00:07:50,620 en flash-fil som i slutändan drar fördel av den här säkerhets 208 00:07:50,620 --> 00:07:54,940 teknik, hög feng shui, som är ett finare sätt att säga att koden 209 00:07:54,940 --> 00:07:59,940 insidan av att flashfilen sprutar det sk heap insidan av datorns 210 00:07:59,940 --> 00:08:04,090 webbläsare med alla olika bitar av minne som är utformade i slutändan 211 00:08:04,090 --> 00:08:05,810 att skriva över stora bitar av minnet här. 212 00:08:05,810 --> 00:08:09,150 >> Om ni minns det här från vår diskussion i CS50 av högen och stack 213 00:08:09,150 --> 00:08:11,070 och minneshantering mer generellt. 214 00:08:11,070 --> 00:08:14,280 Nu det minne som är faktiskt kastas på högen 215 00:08:14,280 --> 00:08:16,280 är verkligen kallas flash vektorobjekt. 216 00:08:16,280 --> 00:08:17,870 Och detta är något med som ni kanske känner 217 00:08:17,870 --> 00:08:19,880 om du själv hade programmerade Flash innan. 218 00:08:19,880 --> 00:08:24,070 Men en av dessa objekt i synnerhet är känd som ett flashminnesljudobjekt. 219 00:08:24,070 --> 00:08:28,190 >> Och häri ligger en möjlighet eftersom vad detta utnyttjar sedan fortsätter att göra 220 00:08:28,190 --> 00:08:31,540 är fördärva denna bit av minne, detta objekt i minnet, 221 00:08:31,540 --> 00:08:36,640 sådan att den försöker att göra denna hexadecimal adress körbara, och därigenom 222 00:08:36,640 --> 00:08:40,600 försöker lura programmet till slut att utföra vissa skal koden så 223 00:08:40,600 --> 00:08:44,560 att tala, eller skurk kod, det är slutligen lagras på denna adress här, 224 00:08:44,560 --> 00:08:49,530 som injicerades genom att hämta omedvetet just den flash-fil. 225 00:08:49,530 --> 00:08:53,220 >> Nu slutresultatet kan vara oavsett motståndare vill göra med din dator. 226 00:08:53,220 --> 00:08:56,290 Han eller hon kan ta bort dina filer, flytta dina filer, skicka filer, 227 00:08:56,290 --> 00:08:59,960 eller egentligen göra något som du själv kunde göra som ägare till den datorn. 228 00:08:59,960 --> 00:09:01,600 Och det är därför hotet är så skrämmande. 229 00:09:01,600 --> 00:09:04,370 Det gör verkligen någon på Internet vars webbplats du 230 00:09:04,370 --> 00:09:08,590 kan besöka för att exekvera godtycklig program på din dator. 231 00:09:08,590 --> 00:09:11,550 >> Nu tack och lov, Microsoft mycket nyligen släppt en fix för detta 232 00:09:11,550 --> 00:09:14,800 eftersom problemet faktiskt drabbade Internet Explorer 6 233 00:09:14,800 --> 00:09:16,210 hela vägen upp till 11. 234 00:09:16,210 --> 00:09:19,530 Så det har varit med oss ​​under ganska lång tid och har bara nyligen upptäckt. 235 00:09:19,530 --> 00:09:23,120 Så om du har automatiska uppdateringar påslagen, bör du vara OK snart. 236 00:09:23,120 --> 00:09:26,340 Men bara för att vara säker, kan du säkert byta till en annan webbläsare åtminstone 237 00:09:26,340 --> 00:09:27,300 under tiden. 238 00:09:27,300 --> 00:09:29,650 >> Nu visar det sig också att Microsoft mycket generöst 239 00:09:29,650 --> 00:09:33,640 även släppt en fix för Windows XP, en äldre version av Windows som 240 00:09:33,640 --> 00:09:37,040 stöd var faktiskt officiellt avbrytas för bara några veckor sedan, 241 00:09:37,040 --> 00:09:40,880 men detta hot var så dålig att de även rullat ut en fix för detta OS 242 00:09:40,880 --> 00:09:41,810 också. 243 00:09:41,810 --> 00:09:43,400 >> Nu i andra nyheter denna vecka var det. 244 00:09:43,400 --> 00:09:46,632 Atari 2600, en äldre spel konsol som en kusin till mig 245 00:09:46,632 --> 00:09:49,340 hade faktiskt växer upp som Vi brukade spela tv-spel när 246 00:09:49,340 --> 00:09:50,630 vi skulle besöka deras hus. 247 00:09:50,630 --> 00:09:54,420 Nu i alla fall, varför detta var i nyheter var av följande skäl. 248 00:09:54,420 --> 00:09:57,180 På 80-talet, företaget bakom den här enheten, Atari, 249 00:09:57,180 --> 00:09:59,870 beslutat att begrava i en deponi i New Mexico 250 00:09:59,870 --> 00:10:02,510 en hel massa gamla spel och bruksanvisningar 251 00:10:02,510 --> 00:10:05,050 och liknande som skulle annars ha gått osålda. 252 00:10:05,050 --> 00:10:09,320 >> Nu med tiden, nedgrävning av dessa spel blivit lite av en urban myt. 253 00:10:09,320 --> 00:10:12,690 Folk visste inte riktigt säkert om detta verkligen hade hänt även 254 00:10:12,690 --> 00:10:16,080 Men som myt gick, företaget hade till och hällde ett lager av betong 255 00:10:16,080 --> 00:10:18,630 ovanpå allt i deponi för att förhindra barn 256 00:10:18,630 --> 00:10:22,150 från faktiskt prasslande genom den, försöker hitta gratis tv-spel. 257 00:10:22,150 --> 00:10:26,310 Jo, det visar sig att en dokumentär Nu pågår nu under 2014. 258 00:10:26,310 --> 00:10:30,900 Och ett lag av grävmaskiner har försökt att gräva upp sanningen bakom denna historia 259 00:10:30,900 --> 00:10:32,240 om det är sannerligen där. 260 00:10:32,240 --> 00:10:33,330 >> Och gissa vad de hittade? 261 00:10:33,330 --> 00:10:35,940 Tja, inte precis det här kille, men tusentals 262 00:10:35,940 --> 00:10:38,220 kopior av hans spel, som släpptes 263 00:10:38,220 --> 00:10:42,000 sammanfallande med frisättning av den film, E.T. Den utomjordisk. 264 00:10:42,000 --> 00:10:47,040 Så ja, precis under de senaste dagarna dussintals och hundratals om inte tusentals 265 00:10:47,040 --> 00:10:52,140 i slutändan av dessa patroner börjar bli ojordade. 266 00:10:52,140 --> 00:10:56,280 >> Nu varför de begrava sådana en klart övertygande spel? 267 00:10:56,280 --> 00:10:58,570 Tja, visar det sig att E.T. är faktiskt känd 268 00:10:58,570 --> 00:11:01,850 av många vara den värsta tv-spel någonsin. 269 00:11:01,850 --> 00:11:04,080 Delvis därför att de hade så lite tid att utveckla 270 00:11:04,080 --> 00:11:06,340 spelet innan det särskilt julen, 271 00:11:06,340 --> 00:11:09,240 men också för att det var särskilt svårt att spela. 272 00:11:09,240 --> 00:11:11,630 Detta naturligtvis väcker fråga, kan vi se det? 273 00:11:11,630 --> 00:11:12,610 Ja, det kan vi. 274 00:11:12,610 --> 00:11:13,555 Låt oss ta en titt. 275 00:11:13,555 --> 00:11:14,388 [SPEL SPELA] 276 00:11:14,388 --> 00:11:35,287 277 00:11:35,287 --> 00:11:37,870 Nu var det faktiskt inte grafik som folk tog invändning 278 00:11:37,870 --> 00:11:41,070 att eftersom, ja, var det 80-talet och detta var den toppmodern. 279 00:11:41,070 --> 00:11:42,840 I själva verket var detta min barndom här. 280 00:11:42,840 --> 00:11:44,900 Men det som var svårt om detta spel var, en, 281 00:11:44,900 --> 00:11:46,920 du hade en film ET runt skärmen, ser 282 00:11:46,920 --> 00:11:49,820 för de små bildpunkter, vilket representerade Reese Pieces. 283 00:11:49,820 --> 00:11:52,960 Men fångsten är också att om du föll in i de mörkare diamant former, 284 00:11:52,960 --> 00:11:54,870 du skulle falla i en grop som var faktiskt 285 00:11:54,870 --> 00:11:56,890 mycket svårt och jobbigt att ta sig ur. 286 00:11:56,890 --> 00:11:59,570 Så därför begravdes ET. 287 00:11:59,570 --> 00:12:02,740 >> Nu även i öknen i sen var det här i Wyoming. 288 00:12:02,740 --> 00:12:08,010 En nukleär, inte att förväxla med [? kärn,?] ledningscentral. 289 00:12:08,010 --> 00:12:10,920 Och faktum är att om du tittar ner där under betongen 290 00:12:10,920 --> 00:12:14,330 nära denna vita pole, det finns faktiskt en Minuteman III missil, 291 00:12:14,330 --> 00:12:18,230 en nukleär missil, det är faktiskt skyddas av någon teknik som är 292 00:12:18,230 --> 00:12:20,980 inte alls lika moderna som du kan hoppas. 293 00:12:20,980 --> 00:12:24,344 En amerikansk TV-show, 60 Minuter, avslöjade nyligen denna. 294 00:12:24,344 --> 00:12:25,010 [VIDEO SPELA] 295 00:12:25,010 --> 00:12:28,210 -Men utrustningen är gammal. 296 00:12:28,210 --> 00:12:30,480 Detta, till exempel, är en av de datorer som 297 00:12:30,480 --> 00:12:33,380 skulle få en lansering beställer från presidenten. 298 00:12:33,380 --> 00:12:35,720 Den använder disketter. 299 00:12:35,720 --> 00:12:38,000 De riktigt gamla, stora sådana. 300 00:12:38,000 --> 00:12:41,920 Innan du kom hit, du förmodligen hade aldrig sett en? 301 00:12:41,920 --> 00:12:44,170 >> -Jag har aldrig sett en tills Jag kom ner i det här hålet. 302 00:12:44,170 --> 00:12:44,640 >> [END VIDEOAVSPELNING] 303 00:12:44,640 --> 00:12:46,730 >> Nu om du tänker du har sett dessa skivor, 304 00:12:46,730 --> 00:12:49,680 dessa 5 och 1/4-tums skivor från 1980-talet, uh-uh. 305 00:12:49,680 --> 00:12:53,180 Detta är en 8-tums diskett skiva från 1970-talet. 306 00:12:53,180 --> 00:12:55,930 Nu CS50 egen Dan Coffey och jag hade också en möjlighet 307 00:12:55,930 --> 00:12:58,117 att resa till Seattle, Washington nyligen där 308 00:12:58,117 --> 00:12:59,450 Vi besökte våra vänner på Valve. 309 00:12:59,450 --> 00:13:03,870 I själva verket kan du hämta 60 sekunder av mig bär de virtual reality glasögon. 310 00:13:03,870 --> 00:13:07,030 >> Nu hade vi också en möjlighet att chatta med tre av Valve ingenjörer 311 00:13:07,030 --> 00:13:09,620 som talade med oss ​​om vad det är att arbeta på Valve, 312 00:13:09,620 --> 00:13:13,290 men ännu bättre, hur det är vilja utveckla tv-spel. 313 00:13:13,290 --> 00:13:14,315 Låt oss ta en titt. 314 00:13:14,315 --> 00:13:14,600 >> [VIDEO SPELA] 315 00:13:14,600 --> 00:13:15,433 >> [SPEL SPELA] 316 00:13:15,433 --> 00:13:23,950 317 00:13:23,950 --> 00:13:26,420 -Mitt namn är Brian Jacobson. 318 00:13:26,420 --> 00:13:30,420 Jag gjorde min väg till Ventil slags i en något omväg. 319 00:13:30,420 --> 00:13:33,710 Jag var faktiskt inte en dator programmerare på college. 320 00:13:33,710 --> 00:13:35,790 Och jag var van att backa i gymnasiet varelse 321 00:13:35,790 --> 00:13:39,300 kunna göra programmering och få grejer från idé till genomförande 322 00:13:39,300 --> 00:13:41,320 på bara några minuter eller timmar. 323 00:13:41,320 --> 00:13:46,930 Jag njöt av att snabba utvecklingen och se mina idéer komma till liv. 324 00:13:46,930 --> 00:13:48,780 >> -Mitt namn är Yahn Bernier. 325 00:13:48,780 --> 00:13:50,740 Jag har varit här på Valve i över 16 år. 326 00:13:50,740 --> 00:13:54,170 Så jag slutade att skriva bara för kul en nivå redaktör för Quake 327 00:13:54,170 --> 00:13:57,564 heter BSP, baserad på binär space partitione träd. 328 00:13:57,564 --> 00:13:58,730 Det var typ av entree. 329 00:13:58,730 --> 00:14:02,780 Och så småningom Gabe Newell, som var den grundare av Valve, och Mike Harrington 330 00:14:02,780 --> 00:14:06,254 skickade mig ett mail säger programvara utvecklingsingenjör tillfälle. 331 00:14:06,254 --> 00:14:07,170 -Mitt namn är John Cook. 332 00:14:07,170 --> 00:14:09,380 Jag är en programvara ingenjör arbetar på Valve. 333 00:14:09,380 --> 00:14:14,240 Jag fokuserar på våra online-system, skalning och arkitektur. 334 00:14:14,240 --> 00:14:16,060 >> En vän och jag faktiskt på universitetet var 335 00:14:16,060 --> 00:14:18,660 arbetar på ett spel som heter Team Fortress. 336 00:14:18,660 --> 00:14:22,810 Och vi bara gjort spelet, sätta upp det på internet. 337 00:14:22,810 --> 00:14:25,130 Det var ett tillägg till den spel, Quake, på den tiden. 338 00:14:25,130 --> 00:14:27,620 Så det var typ av en modern förlängning av det spelet. 339 00:14:27,620 --> 00:14:30,920 Efter det, vi hamnade komma i kontakt med ventil 340 00:14:30,920 --> 00:14:32,200 och kommer hit. 341 00:14:32,200 --> 00:14:36,535 >> -Jo, för mig grafik klassen var förmodligen den mest tillämpliga kursen 342 00:14:36,535 --> 00:14:39,960 att jag tog på college för säker. 343 00:14:39,960 --> 00:14:42,940 Trigonometri, linjär algebra. 344 00:14:42,940 --> 00:14:47,140 Jag tog en robotteknik kurs som hade en gäng linjär algebra slags bakad 345 00:14:47,140 --> 00:14:52,030 in i det, och det är en av keystone matematiska begrepp för några 3D-grafik. 346 00:14:52,030 --> 00:14:57,680 Det handlar om orientering och göra matematik som att, jag tittar över på dig, 347 00:14:57,680 --> 00:14:58,970 men jag vill sikta där borta. 348 00:14:58,970 --> 00:15:04,600 Och hur gör jag rotera och hur gör jag räkna ut var jag ska flytta eller letar. 349 00:15:04,600 --> 00:15:07,015 Det är allt linjär algebra. 350 00:15:07,015 --> 00:15:11,380 >> -Kärnan i ett första-person shooter är att jag tittar igenom pistolsajter 351 00:15:11,380 --> 00:15:13,630 med mina ögon och syftar på något och trycka av 352 00:15:13,630 --> 00:15:14,670 och jag vill träffa det. 353 00:15:14,670 --> 00:15:18,810 Så du måste designa din teknik för att handskas med latens. 354 00:15:18,810 --> 00:15:22,020 Och så John Carmack gick tillbaka och sa, åh, vad jag behöver göra 355 00:15:22,020 --> 00:15:28,440 är förut på klienten resultera min spelares ingångar, 356 00:15:28,440 --> 00:15:30,336 och bara göra det och rendera från där vi 357 00:15:30,336 --> 00:15:33,460 tror att han kommer att bli och sedan låta servern komma tillbaka och fixa det åt mig. 358 00:15:33,460 --> 00:15:36,470 >> -Så när du funderar på med hjälp av en spelmotor för att göra ett spel, 359 00:15:36,470 --> 00:15:38,510 det finns mycket fler alternativ nu. 360 00:15:38,510 --> 00:15:41,675 >> -En spelmotor är snäll av infrastrukturen 361 00:15:41,675 --> 00:15:42,800 där du gör i spelet. 362 00:15:42,800 --> 00:15:46,560 Det är den sak som ansvarar för teckning om i världen, för att simulera hela världen, 363 00:15:46,560 --> 00:15:50,970 för att spela alla ljud, för att hjälpa ditt spel kod 364 00:15:50,970 --> 00:15:53,650 räkna ut vad fienden AIs kommer att gå göra. 365 00:15:53,650 --> 00:15:57,260 >> -Vanligtvis är hur människor skulle börja de skulle ta en viss mängd av den logiken 366 00:15:57,260 --> 00:15:58,020 och ändra den. 367 00:15:58,020 --> 00:16:00,280 Liksom, OK, nu ska vi bara ändra raketgevär 368 00:16:00,280 --> 00:16:04,240 att göra 200 skada istället att göra 100 skador. 369 00:16:04,240 --> 00:16:08,580 Det är en mycket enkel, liksom, bara ta några befintliga bit av spellogik 370 00:16:08,580 --> 00:16:10,360 och justera den till hur du vill. 371 00:16:10,360 --> 00:16:13,830 >> -Den andra högre skikt brukar kallas spelkoden. 372 00:16:13,830 --> 00:16:17,230 Och spelkoden är oftast den sak som handlar om spelreglerna. 373 00:16:17,230 --> 00:16:21,156 Liksom det faktum att jag har detta vapen 374 00:16:21,156 --> 00:16:22,530 och det fungerar på ett visst sätt. 375 00:16:22,530 --> 00:16:25,480 Eller det faktum att det finns en headcrab monster som 376 00:16:25,480 --> 00:16:27,130 har just dessa beteenden. 377 00:16:27,130 --> 00:16:30,800 Dessa typer av saker är vanligtvis att finna som spelkoden. 378 00:16:30,800 --> 00:16:34,790 >> -Och från det, egentligen, med de typ av bitar och processen med iterationen 379 00:16:34,790 --> 00:16:37,600 du kan gå från något som Quake till något i stil med Half-Life. 380 00:16:37,600 --> 00:16:41,810 >> -Half-Life är en sci-fi, first-person shooter spel. 381 00:16:41,810 --> 00:16:45,340 Det ligger i en dystopisk värld. 382 00:16:45,340 --> 00:16:50,050 Den första Half-Life var satt i denna underjordiskt forskningsutrymme 383 00:16:50,050 --> 00:16:51,100 heter Black Mesa. 384 00:16:51,100 --> 00:16:53,940 Och du spelade en karaktär namngav Gordon Freeman. 385 00:16:53,940 --> 00:16:56,690 Och det var i princip om en utomjordisk invasion 386 00:16:56,690 --> 00:17:00,000 som blev provocerad när ett experiment som gick fel. 387 00:17:00,000 --> 00:17:04,720 >> Och det andra spelet, Half-Life 2, sattes omkring 10 år senare, 388 00:17:04,720 --> 00:17:07,940 och i princip, utomjordingar hade tagit över planeten. 389 00:17:07,940 --> 00:17:12,547 Och nu är du som Gordon Freeman tvungen att i princip rädda 390 00:17:12,547 --> 00:17:13,880 din vän, Alex, som du möter. 391 00:17:13,880 --> 00:17:17,960 Och försök att slå tillbaka utomjordingar och återta planeten. 392 00:17:17,960 --> 00:17:20,660 >> -Visst, projekt som Portal 2, det var bara 393 00:17:20,660 --> 00:17:24,742 ett litet team, fem personer arbetar på en spelidé. 394 00:17:24,742 --> 00:17:26,950 De hittade några saker som de Tanken var intressant, 395 00:17:26,950 --> 00:17:28,283 skulle kunna vara intressant för ett spel. 396 00:17:28,283 --> 00:17:29,490 De expanderade till 20 personer. 397 00:17:29,490 --> 00:17:31,355 De konkretiseras dessa idéer. 398 00:17:31,355 --> 00:17:32,480 Du lade till några fler människor. 399 00:17:32,480 --> 00:17:35,827 >> De är som, OK, och nu vi önskar att sända på tre konsoler. 400 00:17:35,827 --> 00:17:36,910 Vi behöver mycket mer folk. 401 00:17:36,910 --> 00:17:38,619 Liksom alla, kom och titta på det här spelet. 402 00:17:38,619 --> 00:17:39,160 Det är häftigt. 403 00:17:39,160 --> 00:17:40,909 Den behöver bara en massa av arbete för att få gjort. 404 00:17:40,909 --> 00:17:43,790 Så plötsligt har du hälften av företag som arbetar, 405 00:17:43,790 --> 00:17:47,100 du har 120 personer som arbetar på detta spel för att få det gjort. 406 00:17:47,100 --> 00:17:51,190 Självklart är antalet projekt på andra håll avtal, 407 00:17:51,190 --> 00:17:53,354 men alla är super nöjda eftersom de vet 408 00:17:53,354 --> 00:17:55,520 de jobbar på detta sak som är riktigt häftigt. 409 00:17:55,520 --> 00:17:58,644 >> -En av de riktigt stora saker om detta arbete och denna industri i allmänhet 410 00:17:58,644 --> 00:18:00,684 är att saker och ting förändras hela tiden. 411 00:18:00,684 --> 00:18:02,600 Det som du är gör i år kommer 412 00:18:02,600 --> 00:18:04,980 sig vara mycket svårt från sak du gör det nästa år. 413 00:18:04,980 --> 00:18:08,520 Och så håller allt riktigt frisk, faktiskt, och ganska spännande. 414 00:18:08,520 --> 00:18:11,757 Du är hela tiden lära sig nya saker och göra nya typer av saker. 415 00:18:11,757 --> 00:18:12,590 [END VIDEOAVSPELNING] 416 00:18:12,590 --> 00:18:13,969 David: Det är allt för CS50LIVE. 417 00:18:13,969 --> 00:18:15,760 Tack så mycket för detta veckans bidragsgivare. 418 00:18:15,760 --> 00:18:19,710 Tack så mycket till CS50 egen Colton Ogden och teamet bakom kameran. 419 00:18:19,710 --> 00:18:21,456 Detta var CS50. 420 00:18:21,456 --> 00:18:23,198 >> [MUSIK - LOS DEL RIO, "MACARENA"] 421 00:18:23,198 --> 00:19:18,955