1 00:00:00,000 --> 00:00:00,625 >> [Musikk spilles] 2 00:00:00,625 --> 00:00:11,341 3 00:00:11,341 --> 00:00:12,090 NÅ: Hello, world. 4 00:00:12,090 --> 00:00:14,330 Dette er CS50LIVE. 5 00:00:14,330 --> 00:00:17,792 Vi har en så god episode for deg. 6 00:00:17,792 --> 00:00:22,110 Administrerende direktør i YouTube, en bug i Internet Explorer, 7 00:00:22,110 --> 00:00:26,750 det verste videospill noensinne, og en ekskursjon til Valve Software. 8 00:00:26,750 --> 00:00:33,040 Men først en tur til Tokyo, Japan hvor president Obama nylig spilt 9 00:00:33,040 --> 00:00:36,066 fotball med en god venn av meg. 10 00:00:36,066 --> 00:00:37,050 >> [VIDEOAVSPILLING] 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 beveger seg. 14 00:00:45,414 --> 00:00:47,382 >> -Jeg kan sparke en fotball også. 15 00:00:47,382 --> 00:00:49,842 Her går jeg. 16 00:00:49,842 --> 00:00:53,286 >> -Hei, god jobb. 17 00:00:53,286 --> 00:00:54,687 >> [END VIDEOAVSPILLING] 18 00:00:54,687 --> 00:00:55,520 DAVID: Hei, verden. 19 00:00:55,520 --> 00:00:57,110 Jeg er her med CS50 egen Colton Ogden. 20 00:00:57,110 --> 00:00:58,430 >> COLTON OGDEN: Hei, alle sammen. 21 00:00:58,430 --> 00:00:59,940 >> DAVID: Og hvem andre gjør vi ha med oss ​​her i dag? 22 00:00:59,940 --> 00:01:02,606 >> COLTON OGDEN: Dette er nå, vår lille robotvennen fra Frankrike. 23 00:01:02,606 --> 00:01:05,299 DAVID: Så jeg faktisk møtte NO sammen [? Rob Boden?] 24 00:01:05,299 --> 00:01:07,590 når han og jeg var i Atlanta, Georgia et par uker tilbake 25 00:01:07,590 --> 00:01:09,890 som du kanskje husker på SIGCSE, Special Interest 26 00:01:09,890 --> 00:01:12,940 Gruppe for Computer Science Education, hvor bokstavelig talt vandre rundt 27 00:01:12,940 --> 00:01:14,919 konferanserommet gulvet var denne fyren. 28 00:01:14,919 --> 00:01:16,960 Vel som det viser seg, når vi kom tilbake til campus 29 00:01:16,960 --> 00:01:20,360 vi oppdaget at professor [Uhørbart] av Harvards robotikk lab 30 00:01:20,360 --> 00:01:22,220 faktisk hadde en nå her på campus. 31 00:01:22,220 --> 00:01:24,742 Og hun er vennlig tillatt oss å programmere ham for deg i dag. 32 00:01:24,742 --> 00:01:27,950 COLTON OGDEN: Ja, og faktisk, David, Jeg tror nå ønsker å si hei til deg 33 00:01:27,950 --> 00:01:30,450 hvis du ønsker å gå rundt bordet her. 34 00:01:30,450 --> 00:01:32,815 >> DAVID: Akkurat her? 35 00:01:32,815 --> 00:01:33,315 OK. 36 00:01:33,315 --> 00:01:36,060 37 00:01:36,060 --> 00:01:36,560 OK. 38 00:01:36,560 --> 00:01:39,400 39 00:01:39,400 --> 00:01:40,650 >> NÅ: Hei, David. 40 00:01:40,650 --> 00:01:42,040 Hyggelig å treffe deg. 41 00:01:42,040 --> 00:01:43,960 >> DAVID: Hei, nå. 42 00:01:43,960 --> 00:01:45,000 Riste hånden? 43 00:01:45,000 --> 00:01:48,510 >> COLTON OGDEN: Shake hånden opp og ned. 44 00:01:48,510 --> 00:01:50,310 >> DAVID: OK. 45 00:01:50,310 --> 00:01:52,435 >> COLTON OGDEN: Og så han vil gå videre og sette seg ned. 46 00:01:52,435 --> 00:01:54,476 Og hvis du er interessert, Jeg kan faktisk vise deg 47 00:01:54,476 --> 00:01:56,715 hvordan jeg var i stand til å få ham å gjøre alle disse tingene også. 48 00:01:56,715 --> 00:01:57,200 >> DAVID: Ja, absolutt. 49 00:01:57,200 --> 00:01:58,320 >> COLTON OGDEN: Han er litt off balansere denne morgenen. 50 00:01:58,320 --> 00:02:00,174 Han har ikke hatt sin kaffe ennå. 51 00:02:00,174 --> 00:02:01,840 DAVID: Så hva er dette vi ser på? 52 00:02:01,840 --> 00:02:04,680 COLTON OGDEN: Så vi ser på her er en kjerne graf, som nå 53 00:02:04,680 --> 00:02:07,920 et grafisk programmeringsmiljø, som er svært lik Scratch 54 00:02:07,920 --> 00:02:09,317 at CS50 bruker. 55 00:02:09,317 --> 00:02:11,150 Her ser vi det er satt opp som et flytskjema. 56 00:02:11,150 --> 00:02:13,370 Og vi har en haug av disse små byggesteiner her. 57 00:02:13,370 --> 00:02:16,203 Nå hvis vi tar en titt på denne for eksempel, det heter stå opp. 58 00:02:16,203 --> 00:02:19,190 Og denne blokken sier stå opp for det nå, enten han sitter ned 59 00:02:19,190 --> 00:02:20,320 eller hva. 60 00:02:20,320 --> 00:02:22,990 >> Så ser vi at det går inn taktile hode, som i utgangspunktet 61 00:02:22,990 --> 00:02:26,070 venter på et trykk på toppen av hodet som du så tidligere. 62 00:02:26,070 --> 00:02:31,190 Flytt en anordning beveger seg i en x, y og z retning til et bestemt bestemmelsessted. 63 00:02:31,190 --> 00:02:33,980 Håndtrykk er en modul jeg skrev, som i utgangspunktet sier, hallo, David. 64 00:02:33,980 --> 00:02:34,688 Hyggelig å treffe deg. 65 00:02:34,688 --> 00:02:36,089 Venter på et håndtrykk. 66 00:02:36,089 --> 00:02:37,630 Sitt ned er det motsatte av å stå opp. 67 00:02:37,630 --> 00:02:38,796 Han vil gå foran og sette seg ned. 68 00:02:38,796 --> 00:02:40,610 Og så hodebevegelser er en løkke der han 69 00:02:40,610 --> 00:02:42,090 vil bevege hodet i tilfeldige retninger. 70 00:02:42,090 --> 00:02:42,520 >> DAVID: Interesting. 71 00:02:42,520 --> 00:02:44,890 Så selv om disse ikke ser som puslespillbitene fra bunnen av, 72 00:02:44,890 --> 00:02:45,950 det er egentlig den samme ideen. 73 00:02:45,950 --> 00:02:48,210 Og du er kabling en program ved hjelp av disse byggesteinene. 74 00:02:48,210 --> 00:02:49,020 >> COLTON OGDEN: Ja, akkurat. 75 00:02:49,020 --> 00:02:50,590 >> DAVID: Så du sier du har gjort en av dem, håndtrykk. 76 00:02:50,590 --> 00:02:51,990 Kan vi zoome inn på den? 77 00:02:51,990 --> 00:02:52,131 >> COLTON OGDEN: Sure. 78 00:02:52,131 --> 00:02:53,642 Vi vil ta en titt her på håndtrykk. 79 00:02:53,642 --> 00:02:56,350 Og vi får se det er satt opp svært lik den andre flytdiagrammet. 80 00:02:56,350 --> 00:02:58,850 Vi starter med hei blokk, som [uhørbart] sier, hallo, David. 81 00:02:58,850 --> 00:03:00,030 Hyggelig å treffe deg. 82 00:03:00,030 --> 00:03:01,430 Denne retten her er en loop. 83 00:03:01,430 --> 00:03:02,940 Det sier, oppdage armbevegelse. 84 00:03:02,940 --> 00:03:05,230 Så det vil i en uendelig løkke vente til sin arm 85 00:03:05,230 --> 00:03:06,620 har blitt reist opp og ned. 86 00:03:06,620 --> 00:03:09,370 Og så når det har skjedd, det vil gå videre og gjøre disse tingene. 87 00:03:09,370 --> 00:03:13,280 Sett stivhet OK og gå til slutt, som i utgangspunktet betyr sende ham tilbake 88 00:03:13,280 --> 00:03:14,309 til sin standardposisjon. 89 00:03:14,309 --> 00:03:15,100 DAVID: Interesting. 90 00:03:15,100 --> 00:03:17,910 Er du begrenset til bare ved hjelp av dette grafiske miljøet 91 00:03:17,910 --> 00:03:19,070 å programmere seg på denne måte? 92 00:03:19,070 --> 00:03:19,820 >> COLTON OGDEN: Nei, faktisk ikke. 93 00:03:19,820 --> 00:03:21,950 Hvis vi går videre og dobbeltklikk en hvilken som helst av disse byggeklosser, 94 00:03:21,950 --> 00:03:24,420 Vi kan se at det er faktisk python koden som står under panseret, 95 00:03:24,420 --> 00:03:26,000 å drive hver av disse byggeklosser. 96 00:03:26,000 --> 00:03:26,750 >> DAVID: Ah, ja. 97 00:03:26,750 --> 00:03:29,250 Så for dem ukjent, python er et tolket språk, 98 00:03:29,250 --> 00:03:32,240 svært lik i ånden til PHP, som vi bruker i CS50. 99 00:03:32,240 --> 00:03:35,344 Og mye som du kan bruke PHP for web-programmering, 100 00:03:35,344 --> 00:03:37,010 du kan også bruke den på kommandolinjen. 101 00:03:37,010 --> 00:03:39,426 Og som Colton gjør her i denne grafisk miljø, 102 00:03:39,426 --> 00:03:41,674 skrive programmer og deretter overfører det via Wi-Fi - 103 00:03:41,674 --> 00:03:42,590 COLTON OGDEN: Riktig. 104 00:03:42,590 --> 00:03:43,310 DAVID: - til nå. 105 00:03:43,310 --> 00:03:44,550 Vil du ha noen tid til å bli værende? 106 00:03:44,550 --> 00:03:45,350 >> COLTON OGDEN: Absolutt. 107 00:03:45,350 --> 00:03:45,710 >> DAVID: Greit. 108 00:03:45,710 --> 00:03:48,970 Vel, før Colton kommer tilbake med oss for en liten bit av en overraskelse, 109 00:03:48,970 --> 00:03:54,470 vi nå - få det -? har 60 sekunder av tidligere CS50 studenter audition 110 00:03:54,470 --> 00:03:55,844 å bli undervisning stipendiater. 111 00:03:55,844 --> 00:03:56,510 [VIDEOAVSPILLING] 112 00:03:56,510 --> 00:03:57,411 -Takk. 113 00:03:57,411 --> 00:03:58,910 Takk, alle sammen, for å være her. 114 00:03:58,910 --> 00:04:00,510 >> -Hey, Mr. Bunny. 115 00:04:00,510 --> 00:04:02,120 >> -Velkommen til denne korte veiledningen på - 116 00:04:02,120 --> 00:04:03,810 >> [Uhørbart] moro med Twinkies. 117 00:04:03,810 --> 00:04:04,310 -Vent. 118 00:04:04,310 --> 00:04:05,040 Stopp. 119 00:04:05,040 --> 00:04:07,121 >> -Så nå har vi et problem. 120 00:04:07,121 --> 00:04:07,620 -Det er det ikke. 121 00:04:07,620 --> 00:04:08,869 Og jeg skal fortelle deg hvorfor. 122 00:04:08,869 --> 00:04:10,860 -En løkke er repetisjon, som - 123 00:04:10,860 --> 00:04:12,970 >> -Sortering av en svart boks. 124 00:04:12,970 --> 00:04:13,935 >> -OK. 125 00:04:13,935 --> 00:04:15,160 Jeg tror jeg får det. 126 00:04:15,160 --> 00:04:15,660 -Greit. 127 00:04:15,660 --> 00:04:17,140 Så nå er jeg i en litt vanskelig del. 128 00:04:17,140 --> 00:04:18,800 >> -Det er riktig. 129 00:04:18,800 --> 00:04:20,485 8 bits lage en byte. 130 00:04:20,485 --> 00:04:24,176 >> -Du tar en byte og du skille det i biter på fire. 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 virker altfor komplisert. 134 00:04:29,380 --> 00:04:30,460 >> -Så la oss gjøre dette igjen. 135 00:04:30,460 --> 00:04:32,580 >> -Hvis jeg forvirre deg, kan du gjerne stoppe meg. 136 00:04:32,580 --> 00:04:33,620 >> -Men vent litt. 137 00:04:33,620 --> 00:04:36,940 >> -Vel, la oss se tilbake på lysbildet og bryte det ned trinnvis. 138 00:04:36,940 --> 00:04:41,720 >> -Hvis du husker, er minnet brutt opp i byte-størrelse biter. 139 00:04:41,720 --> 00:04:44,080 >> -Så her har vi det best case scenario. 140 00:04:44,080 --> 00:04:46,290 >> -Dette er en betydelig forbedring over - 141 00:04:46,290 --> 00:04:47,715 >> -En nettleser, som Chrome. 142 00:04:47,715 --> 00:04:49,421 >> -Det er alltid nødvendig å frigjøre noen - 143 00:04:49,421 --> 00:04:49,920 -Folk - 144 00:04:49,920 --> 00:04:50,880 -Du kan kjøre over. 145 00:04:50,880 --> 00:04:53,460 Og koden kan få noe tungvint. 146 00:04:53,460 --> 00:04:55,640 >> -Og det er alt du trenger. 147 00:04:55,640 --> 00:04:56,960 >> -Boom! 148 00:04:56,960 --> 00:04:59,140 >> DAVID: Nå CS50 egen Dan Coffey og jeg nylig 149 00:04:59,140 --> 00:05:01,850 hadde en mulighet til å reise ut til Mountain View, California, 150 00:05:01,850 --> 00:05:03,740 som er der hovedkvarteret til Google er. 151 00:05:03,740 --> 00:05:07,350 Og vi hadde en sjanse til å chatte med Susan Wojcicki, administrerende direktør i YouTube. 152 00:05:07,350 --> 00:05:10,920 Det var faktisk i Susans garasje år siden på 90-tallet 153 00:05:10,920 --> 00:05:14,620 at Google selv var startet av Larry og Sergey. 154 00:05:14,620 --> 00:05:17,430 >> Vel, det viser seg at Susan seg faktisk tok CS50 155 00:05:17,430 --> 00:05:18,950 bare noen få år før jeg gjorde. 156 00:05:18,950 --> 00:05:21,450 Og jeg tror det er påfallende så vil du snart høre hvor 157 00:05:21,450 --> 00:05:25,040 mye en introduksjon til datamaskinen vitenskap så påvirket livet hennes. 158 00:05:25,040 --> 00:05:26,892 Hun vil gjerne si hei. 159 00:05:26,892 --> 00:05:28,100 SUSAN Wójcicki: Hei, verden. 160 00:05:28,100 --> 00:05:29,620 Jeg er Susan Wojcicki. 161 00:05:29,620 --> 00:05:31,500 Jeg er administrerende direktør i YouTube. 162 00:05:31,500 --> 00:05:36,570 Og jeg tok CS50 da jeg var senior på Harvard i 1990. 163 00:05:36,570 --> 00:05:38,710 >> Jeg var faktisk en historie og litteratur major. 164 00:05:38,710 --> 00:05:44,180 Og min junior sommeren jeg innså at jeg kanskje 165 00:05:44,180 --> 00:05:46,450 ønsket å lære noe om datamaskiner. 166 00:05:46,450 --> 00:05:48,350 Og så kom jeg tilbake. 167 00:05:48,350 --> 00:05:49,870 Jeg tok CS50. 168 00:05:49,870 --> 00:05:54,340 Det var vanskelig, men det var mest fantastiske klassen jeg tok. 169 00:05:54,340 --> 00:05:57,030 Det forandret hvordan jeg tenker på alt. 170 00:05:57,030 --> 00:06:03,200 >> Og da jeg ble uteksaminert fra Harvard i 1990, gikk jeg til Silicon Valley 171 00:06:03,200 --> 00:06:04,500 og jeg fikk en jobb. 172 00:06:04,500 --> 00:06:07,490 Og jeg har jobbet i tech siden den gang. 173 00:06:07,490 --> 00:06:09,780 Så CS50 forandret livet mitt. 174 00:06:09,780 --> 00:06:12,320 Jeg fortsetter å lære og bygge. 175 00:06:12,320 --> 00:06:13,870 Det ga meg en god foundation. 176 00:06:13,870 --> 00:06:17,100 Og jeg fortsetter å lære hver dag som teknologien endres. 177 00:06:17,100 --> 00:06:19,660 >> Og jeg synes det er flott at dere alle tar det 178 00:06:19,660 --> 00:06:22,840 fordi det er slik verden er kommer til å forandre fremover. 179 00:06:22,840 --> 00:06:27,490 Det er bare kommer til å bli mer og flere muligheter og innovasjon. 180 00:06:27,490 --> 00:06:31,010 Digital kommer til å påvirke vår lever enda mer enn den allerede har. 181 00:06:31,010 --> 00:06:33,870 Og det er flott at dere alle tar CS50. 182 00:06:33,870 --> 00:06:35,890 Så dette er CS50. 183 00:06:35,890 --> 00:06:38,080 >> DAVID: Så hvis du har vært på utkikk etter en ny grunn 184 00:06:38,080 --> 00:06:41,502 ikke å bruke en bestemt nettleser, her er en god en for deg. 185 00:06:41,502 --> 00:06:43,210 Jeg har nylig mottatt - sammen med alle 186 00:06:43,210 --> 00:06:45,120 ved Harvard University - denne e-posten her. 187 00:06:45,120 --> 00:06:46,910 >> "Kjære medlemmer av Harvard samfunn. 188 00:06:46,910 --> 00:06:50,930 The US Department of Homeland Security anbefaler at alle brukere midlertidig 189 00:06:50,930 --> 00:06:54,350 avslutte bruken av Microsoft Internet Explorer, IE, 190 00:06:54,350 --> 00:06:56,270 på grunn av en kritisk garanti feil ". 191 00:06:56,270 --> 00:07:01,250 >> Dette er dokumentert faktisk i Microsoft Security Advisory 2963983. 192 00:07:01,250 --> 00:07:05,242 Sårbarhet i Internet Explorer kan tillate ekstern kjøring av kode. 193 00:07:05,242 --> 00:07:07,200 Nå hva betyr dette og hva er trusselen? 194 00:07:07,200 --> 00:07:08,950 Vel, tenk på dette diagram her, som vi 195 00:07:08,950 --> 00:07:12,160 bruke i CS50 å snakke om HTTP eller web-trafikk. 196 00:07:12,160 --> 00:07:15,140 Hvis vi har her et web server, og på den andre siden 197 00:07:15,140 --> 00:07:17,589 en nettleser - Internet Explorer i dette tilfellet - selvfølgelig, 198 00:07:17,589 --> 00:07:19,380 en nettleser når det første etterspør en nettside 199 00:07:19,380 --> 00:07:21,310 kan sende en HDP melding som dette. 200 00:07:21,310 --> 00:07:26,470 GET index.html bruker versjon 1.1 av protokollen som kalles HTTP. 201 00:07:26,470 --> 00:07:30,820 >> Nå i dette tilfellet, hvis en bad guy har en eller annen måte hadde tilgang til denne web-server 202 00:07:30,820 --> 00:07:33,990 og installeres på det til en utnytte så å si, 203 00:07:33,990 --> 00:07:36,990 han eller hun kan være i stand til å overbevise webserveren til å returnere dette. 204 00:07:36,990 --> 00:07:41,040 Ikke bare index.html seg selv som forespurt, men innebygd inni 205 00:07:41,040 --> 00:07:43,720 av at index.html filen kunne, selvfølgelig være andre eiendeler. 206 00:07:43,720 --> 00:07:47,230 Spesielt noe som exploit.SWF, 207 00:07:47,230 --> 00:07:50,620 en flash-fil som til slutt utnytter dette sikkerhets 208 00:07:50,620 --> 00:07:54,940 teknikk, heap feng shui, som er en fancy måte å si at koden 209 00:07:54,940 --> 00:07:59,940 innsiden av at flash-fil spray den såkalte haug inne av datamaskinens 210 00:07:59,940 --> 00:08:04,090 nettleser med alle forskjellige biter av minne som er utformet til slutt 211 00:08:04,090 --> 00:08:05,810 å overskrive store biter av minne her. 212 00:08:05,810 --> 00:08:09,150 >> Hvis du husker dette fra vår diskusjon i CS50 av haugen og stakken 213 00:08:09,150 --> 00:08:11,070 og minnehåndtering mer generelt. 214 00:08:11,070 --> 00:08:14,280 Nå minnet som er faktisk kastet på haugen 215 00:08:14,280 --> 00:08:16,280 er virkelig kalles flash vektorobjekter. 216 00:08:16,280 --> 00:08:17,870 Og dette er noe med som du kan bli kjent 217 00:08:17,870 --> 00:08:19,880 hvis du selv hadde programmert Flash før. 218 00:08:19,880 --> 00:08:24,070 Men en av disse objekter i særdeleshet er kjent som en flash media lydobjektet. 219 00:08:24,070 --> 00:08:28,190 >> Og her ligger en mulighet fordi hva dette utnytte deretter fortsetter å gjøre 220 00:08:28,190 --> 00:08:31,540 er korrupt denne del av hukommelse, dette objektet i minnet, 221 00:08:31,540 --> 00:08:36,640 slik at den prøver å gjøre denne heksadesimal adresse kjørbar, og dermed 222 00:08:36,640 --> 00:08:40,600 prøver å lure programmet til slutt å gjennomføre noen shell koden slik 223 00:08:40,600 --> 00:08:44,560 å snakke, eller bad guy kode, er at slutt lagret på denne adressen her, 224 00:08:44,560 --> 00:08:49,530 som ble injisert ved hjelp av nedlasting ubevisst den aktuelle Flash-fil. 225 00:08:49,530 --> 00:08:53,220 >> Nå sluttresultatet kan være uansett motstander ønsker å gjøre med datamaskinen. 226 00:08:53,220 --> 00:08:56,290 Han eller hun kan slette filene dine, flytte filer, e-post filene dine, 227 00:08:56,290 --> 00:08:59,960 eller egentlig gjøre noe som du selv kunne gjøre som eier av den aktuelle datamaskinen. 228 00:08:59,960 --> 00:09:01,600 Og det er derfor trusselen er så skummelt. 229 00:09:01,600 --> 00:09:04,370 Det gjør virkelig noen på Internett som nettstedet du 230 00:09:04,370 --> 00:09:08,590 kan besøke for å kjøre vilkårlig programmer på datamaskinen. 231 00:09:08,590 --> 00:09:11,550 >> Nå heldigvis, Microsoft svært nylig gitt ut en fiks for dette 232 00:09:11,550 --> 00:09:14,800 fordi problemet faktisk plagede Internet Explorer 6 233 00:09:14,800 --> 00:09:16,210 hele veien opp til og med 11. 234 00:09:16,210 --> 00:09:19,530 Så det har vært med oss ​​i ganske lang tid og ble først nylig oppdaget. 235 00:09:19,530 --> 00:09:23,120 Så hvis du har automatiske oppdateringer slått på, bør du være OK snart. 236 00:09:23,120 --> 00:09:26,340 Men bare for å være sikker, kan du sikkert bytte til en annen nettleser minst 237 00:09:26,340 --> 00:09:27,300 i mellomtiden. 238 00:09:27,300 --> 00:09:29,650 >> Nå viser det seg også at Microsoft meget sjenerøst 239 00:09:29,650 --> 00:09:33,640 også gitt ut en fiks for Windows XP, en eldre versjon av Windows som 240 00:09:33,640 --> 00:09:37,040 støtte var faktisk offisielt avviklet bare noen uker siden, 241 00:09:37,040 --> 00:09:40,880 men denne trusselen var så ille at de også rullet ut en fiks for at OS 242 00:09:40,880 --> 00:09:41,810 også. 243 00:09:41,810 --> 00:09:43,400 >> Nå i andre nyheter denne uken var dette. 244 00:09:43,400 --> 00:09:46,632 Atari 2600, en eldre spill konsollen som en fetter av meg 245 00:09:46,632 --> 00:09:49,340 hadde faktisk vokser opp på hvilke vi pleide å spille videospill når 246 00:09:49,340 --> 00:09:50,630 vi ville besøke huset deres. 247 00:09:50,630 --> 00:09:54,420 Nå i alle tilfelle, til at dette var i nyheten var følgende grunn. 248 00:09:54,420 --> 00:09:57,180 Tilbake på 80-tallet, har selskapet bak denne enheten, Atari, 249 00:09:57,180 --> 00:09:59,870 bestemte seg for å begrave i en deponi i New Mexico 250 00:09:59,870 --> 00:10:02,510 en hel haug av gamle spill og bruksanvisninger 251 00:10:02,510 --> 00:10:05,050 og lignende som ville ellers har gått usolgt. 252 00:10:05,050 --> 00:10:09,320 >> Nå over tid, begravelsen av disse spill blitt litt av en urban myte. 253 00:10:09,320 --> 00:10:12,690 Folk gjorde egentlig ikke vite sikkert hvorvidt dette faktisk hadde skjedd selv 254 00:10:12,690 --> 00:10:16,080 skjønt, som myten gikk selskapet hadde selv helte et lag med betong 255 00:10:16,080 --> 00:10:18,630 på toppen av alt i deponi for å hindre barna 256 00:10:18,630 --> 00:10:22,150 fra faktisk raslet gjennom det, prøver å finne gratis dataspill. 257 00:10:22,150 --> 00:10:26,310 Vel, det viser seg at en dokumentar er nå i gang nå i 2014. 258 00:10:26,310 --> 00:10:30,900 Og et team av gravemaskiner har prøvd å grave opp sannheten bak denne historien 259 00:10:30,900 --> 00:10:32,240 hvis det er faktisk det. 260 00:10:32,240 --> 00:10:33,330 >> Og gjett hva de fant? 261 00:10:33,330 --> 00:10:35,940 Vel, ikke akkurat dette fyren, men tusenvis 262 00:10:35,940 --> 00:10:38,220 kopier av spillet hans, som ble utgitt 263 00:10:38,220 --> 00:10:42,000 samtidig med utgivelsen av film, E.T. Den Utenomjordisk. 264 00:10:42,000 --> 00:10:47,040 Så ja, bare de siste dagene dusinvis og hundrevis om ikke tusenvis 265 00:10:47,040 --> 00:10:52,140 instans av disse patronene begynner å bli avdekket. 266 00:10:52,140 --> 00:10:56,280 >> Nå hvorfor gjorde de begrave slik et klart overbevisende spill? 267 00:10:56,280 --> 00:10:58,570 Vel, det viser seg at E.T. er faktisk kjent 268 00:10:58,570 --> 00:11:01,850 av mange for å være den verste videospill noensinne. 269 00:11:01,850 --> 00:11:04,080 I del, fordi de hadde så lite tid til å utvikle 270 00:11:04,080 --> 00:11:06,340 spillet før det spesielt jula, 271 00:11:06,340 --> 00:11:09,240 men også fordi den var spesielt vanskelig å spille. 272 00:11:09,240 --> 00:11:11,630 Dette, selvfølgelig, begs spørsmålet, 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 La oss ta en titt. 275 00:11:13,555 --> 00:11:14,388 [VIDEO GAME SPILLE] 276 00:11:14,388 --> 00:11:35,287 277 00:11:35,287 --> 00:11:37,870 Nå var det faktisk ikke grafikk som folk tok innvending 278 00:11:37,870 --> 00:11:41,070 til grunn, ja, dette var 80-tallet og dette var state of the art. 279 00:11:41,070 --> 00:11:42,840 Dette var faktisk min barndom her. 280 00:11:42,840 --> 00:11:44,900 Men det som var vanskelig om dette spillet var, en, 281 00:11:44,900 --> 00:11:46,920 du hadde en film ET rundt skjermen, ser 282 00:11:46,920 --> 00:11:49,820 for de små piksler, noe som representert Reeses Pieces. 283 00:11:49,820 --> 00:11:52,960 Men fangsten er også at hvis du falt inn i de mørkere diamant figurer, 284 00:11:52,960 --> 00:11:54,870 du vil falle inn i en gropen som var faktisk 285 00:11:54,870 --> 00:11:56,890 veldig vanskelig og kjedelig å komme ut av. 286 00:11:56,890 --> 00:11:59,570 Så dermed ble begravet ET. 287 00:11:59,570 --> 00:12:02,740 >> Nå også i ørkenen i sent var dette her i Wyoming. 288 00:12:02,740 --> 00:12:08,010 En kjernefysisk, som ikke må forveksles med [? nucular,?] kontrollsenter. 289 00:12:08,010 --> 00:12:10,920 Og faktisk, hvis du ser ned er det på undersiden av betong 290 00:12:10,920 --> 00:12:14,330 i nærheten av denne hvite pol, det er faktisk en Minuteman III rakett, 291 00:12:14,330 --> 00:12:18,230 en atomrakett, det er faktisk beskyttet av noen teknologi som er 292 00:12:18,230 --> 00:12:20,980 ikke på langt nær like moderne som du kunne håpe. 293 00:12:20,980 --> 00:12:24,344 En amerikansk TV-show, 60 Minutter, nylig avslørte dette. 294 00:12:24,344 --> 00:12:25,010 [VIDEOAVSPILLING] 295 00:12:25,010 --> 00:12:28,210 -Men utstyret er gammelt. 296 00:12:28,210 --> 00:12:30,480 Dette, for eksempel, er en av datamaskinene som 297 00:12:30,480 --> 00:12:33,380 ville motta en lansering bestille fra presidenten. 298 00:12:33,380 --> 00:12:35,720 Den bruker disketter. 299 00:12:35,720 --> 00:12:38,000 De virkelig gamle, store. 300 00:12:38,000 --> 00:12:41,920 Før du kom ned her, du hadde sannsynligvis aldri sett en? 301 00:12:41,920 --> 00:12:44,170 >> -Jeg har aldri sett en før Jeg kom ned i dette hullet. 302 00:12:44,170 --> 00:12:44,640 >> [END VIDEOAVSPILLING] 303 00:12:44,640 --> 00:12:46,730 >> Nå hvis du tenker du har sett disse diskene, 304 00:12:46,730 --> 00:12:49,680 disse 5 og 1/4-tommers disketter fra 1980-tallet, uh-uh. 305 00:12:49,680 --> 00:12:53,180 Dette er en 8-tommers diskettstasjon disk fra 1970-tallet. 306 00:12:53,180 --> 00:12:55,930 Nå CS50 egen Dan Coffey og jeg hadde også en mulighet 307 00:12:55,930 --> 00:12:58,117 å reise til Seattle, Washington nylig hvor 308 00:12:58,117 --> 00:12:59,450 vi besøkte våre venner hos Valve. 309 00:12:59,450 --> 00:13:03,870 Faktisk, kan du husker 60 sekunder av meg iført disse virtuelle virkelighet briller. 310 00:13:03,870 --> 00:13:07,030 >> Nå hadde vi også en mulighet til å chatte med tre av Valves ingeniører 311 00:13:07,030 --> 00:13:09,620 som snakket med oss ​​om hva det er som å jobbe hos Valve, 312 00:13:09,620 --> 00:13:13,290 men enda bedre, hva det er liker å utvikle dataspill. 313 00:13:13,290 --> 00:13:14,315 La oss ta en titt. 314 00:13:14,315 --> 00:13:14,600 >> [VIDEOAVSPILLING] 315 00:13:14,600 --> 00:13:15,433 >> [VIDEO GAME SPILLE] 316 00:13:15,433 --> 00:13:23,950 317 00:13:23,950 --> 00:13:26,420 -Mitt navn er Brian Jacobson. 318 00:13:26,420 --> 00:13:30,420 Jeg gjorde mitt veien til Valve slags i en litt omvei. 319 00:13:30,420 --> 00:13:33,710 Jeg var faktisk ikke en datamaskin programmerer i college. 320 00:13:33,710 --> 00:13:35,790 Og jeg var vant til å sikkerhets i videregående skole vesen 321 00:13:35,790 --> 00:13:39,300 i stand til å gjøre programmeringen og får ting fra idé til gjennomføring 322 00:13:39,300 --> 00:13:41,320 i løpet av få minutter eller timer. 323 00:13:41,320 --> 00:13:46,930 Jeg likte det raske tempoet i utviklingen og se mine ideer kommer til liv. 324 00:13:46,930 --> 00:13:48,780 >> -Mitt navn er Yahn Bernier. 325 00:13:48,780 --> 00:13:50,740 Jeg har vært her hos Valve i over 16 år. 326 00:13:50,740 --> 00:13:54,170 Så jeg endte opp med å skrive bare for moro et nivå editor for Quake 327 00:13:54,170 --> 00:13:57,564 kalt BSP, basert på binære plass partisjone trær. 328 00:13:57,564 --> 00:13:58,730 Det var liksom hovedretten. 329 00:13:58,730 --> 00:14:02,780 Og til slutt Gabe Newell, som var den grunnleggeren av Valve, og Mike Harrington 330 00:14:02,780 --> 00:14:06,254 sendte meg en email å si programvare utviklingsingeniør mulighet. 331 00:14:06,254 --> 00:14:07,170 -Mitt navn er John Cook. 332 00:14:07,170 --> 00:14:09,380 Jeg er en programvare ingeniør arbeider hos Valve. 333 00:14:09,380 --> 00:14:14,240 Jeg fokuserer på våre elektroniske systemer, skalering og arkitektur. 334 00:14:14,240 --> 00:14:16,060 >> En venn og jeg faktisk på universitetet var 335 00:14:16,060 --> 00:14:18,660 jobber med et spill som heter Team Fortress. 336 00:14:18,660 --> 00:14:22,810 Og vi bare gjort spillet, sette det opp på internett. 337 00:14:22,810 --> 00:14:25,130 Det var et tillegg til spillet, Quake, på den tiden. 338 00:14:25,130 --> 00:14:27,620 Så det var liksom en moderne forlengelse av det spillet. 339 00:14:27,620 --> 00:14:30,920 Etter at vi endte opp å komme i kontakt med Valve 340 00:14:30,920 --> 00:14:32,200 og kommer over her. 341 00:14:32,200 --> 00:14:36,535 >> -Vel, for meg grafikk klassen var trolig den mest aktuelt kurs 342 00:14:36,535 --> 00:14:39,960 at jeg tok på college for sikker. 343 00:14:39,960 --> 00:14:42,940 Trigonometri, lineær algebra. 344 00:14:42,940 --> 00:14:47,140 Jeg tok en robotikk kurs som hadde en haug med lineær algebra slags bakt 345 00:14:47,140 --> 00:14:52,030 inn i det, og som er en av de stenen matematiske begreper for noen 3D-grafikk. 346 00:14:52,030 --> 00:14:57,680 Det handler om orientering og gjør det matte av lignende, ser jeg over på deg, 347 00:14:57,680 --> 00:14:58,970 men jeg ønsker å sikte der borte. 348 00:14:58,970 --> 00:15:04,600 Og hvordan kan jeg rotere og hvordan jeg finne ut hvor jeg skal flytte eller ute. 349 00:15:04,600 --> 00:15:07,015 Det er alt lineær algebra. 350 00:15:07,015 --> 00:15:11,380 >> -Essensen av et første-person shooter er at jeg ser gjennom kanon 351 00:15:11,380 --> 00:15:13,630 med mine øyne og sikte på noe og trykke på avtrekkeren 352 00:15:13,630 --> 00:15:14,670 og jeg ønsker å treffe det. 353 00:15:14,670 --> 00:15:18,810 Så du må designe din teknologi for å håndtere ventetid. 354 00:15:18,810 --> 00:15:22,020 Og så John Carmack gikk tilbake og sa, oh, hva jeg må gjøre 355 00:15:22,020 --> 00:15:28,440 er forutsi på klienten resultere min spillerens innganger, 356 00:15:28,440 --> 00:15:30,336 og bare gjøre det og gjengi fra der vi 357 00:15:30,336 --> 00:15:33,460 tror han kommer til å være, og deretter la serveren komme tilbake og fikse det for meg. 358 00:15:33,460 --> 00:15:36,470 >> -Så når du tenker på ved hjelp av en spillmotor for å lage et spill, 359 00:15:36,470 --> 00:15:38,510 det er mange flere muligheter nå. 360 00:15:38,510 --> 00:15:41,675 >> -En spillmotor er snill av infrastrukturen 361 00:15:41,675 --> 00:15:42,800 der du gjør i spillet. 362 00:15:42,800 --> 00:15:46,560 Det er tingen ansvarlig for tegning verden, for å simulere verden, 363 00:15:46,560 --> 00:15:50,970 for å spille alle lydene, for å hjelpe din spillkode 364 00:15:50,970 --> 00:15:53,650 finne ut hva fienden AIs kommer til å gå gjøre. 365 00:15:53,650 --> 00:15:57,260 >> -Vanligvis er måten folk ville starte de ville ta noen mengden av den logikken 366 00:15:57,260 --> 00:15:58,020 og endre det. 367 00:15:58,020 --> 00:16:00,280 Like, OK, nå la oss bare endre rakettkaster 368 00:16:00,280 --> 00:16:04,240 å gjøre 200 skader i stedet om å gjøre 100 skader. 369 00:16:04,240 --> 00:16:08,580 Det er en veldig enkel, som, bare ta noen eksisterende stykke gameplay logikk 370 00:16:08,580 --> 00:16:10,360 og justere den til hvordan du liker. 371 00:16:10,360 --> 00:16:13,830 >> -Den andre høyere nivå lag blir vanligvis kalt spillkode. 372 00:16:13,830 --> 00:16:17,230 Og spillet kode er vanligvis ting som handler om spillereglene. 373 00:16:17,230 --> 00:16:21,156 Som det faktum at jeg har denne spesielle våpen 374 00:16:21,156 --> 00:16:22,530 og det fungerer på en bestemt måte. 375 00:16:22,530 --> 00:16:25,480 Eller det faktum at det finnes en headcrab monster som 376 00:16:25,480 --> 00:16:27,130 har disse spesielle atferd. 377 00:16:27,130 --> 00:16:30,800 Slike ting er vanligvis å finne som spillkode. 378 00:16:30,800 --> 00:16:34,790 >> -Og derfra, egentlig, med de slags stykker og prosessen med iterasjon, 379 00:16:34,790 --> 00:16:37,600 du kan gå fra noe sånt Quake til noe sånt som Half-Life. 380 00:16:37,600 --> 00:16:41,810 >> -Half-Life er en sci-fi, første-person shooter spill. 381 00:16:41,810 --> 00:16:45,340 Det er satt i en dystopisk verden. 382 00:16:45,340 --> 00:16:50,050 Den første Half-Life ble satt i denne underjordiske forskning anlegget 383 00:16:50,050 --> 00:16:51,100 kalt Black Mesa. 384 00:16:51,100 --> 00:16:53,940 Og du spilte en karakter heter Gordon Freeman. 385 00:16:53,940 --> 00:16:56,690 Og det var i utgangspunktet om en invasjon 386 00:16:56,690 --> 00:17:00,000 som ble provosert når et eksperiment som gikk galt. 387 00:17:00,000 --> 00:17:04,720 >> Og det andre spillet, Half-Life 2, ble satt ca 10 år senere, 388 00:17:04,720 --> 00:17:07,940 og i utgangspunktet, romvesenene hadde tatt over planeten. 389 00:17:07,940 --> 00:17:12,547 Og nå er du som Gordon Freeman hadde i utgangspunktet redde 390 00:17:12,547 --> 00:17:13,880 din venn, Alex, hvem du møter. 391 00:17:13,880 --> 00:17:17,960 Og prøve å slå tilbake romvesener og gjenvinne planeten. 392 00:17:17,960 --> 00:17:20,660 >> -Absolutt, prosjekter som Portal 2, var det bare 393 00:17:20,660 --> 00:17:24,742 et lite team, fem personer jobber med et spill idé. 394 00:17:24,742 --> 00:17:26,950 De fant noen ting de Tanken var interessant, 395 00:17:26,950 --> 00:17:28,283 kunne være interessant for et spill. 396 00:17:28,283 --> 00:17:29,490 De utvidet til 20 personer. 397 00:17:29,490 --> 00:17:31,355 De fleshed ut disse ideene. 398 00:17:31,355 --> 00:17:32,480 Du har lagt noen flere folk. 399 00:17:32,480 --> 00:17:35,827 >> De er like, OK, og nå er vi ønsker å sende på tre konsoller. 400 00:17:35,827 --> 00:17:36,910 Vi trenger mange flere mennesker. 401 00:17:36,910 --> 00:17:38,619 Som alle, kom og se på dette spillet. 402 00:17:38,619 --> 00:17:39,160 Det er kjempeflott. 403 00:17:39,160 --> 00:17:40,909 Den trenger bare en haug arbeid å få gjort. 404 00:17:40,909 --> 00:17:43,790 Så plutselig har du halve selskapet arbeider, 405 00:17:43,790 --> 00:17:47,100 du har 120 personer som jobber på dette spillet for å få det gjort. 406 00:17:47,100 --> 00:17:51,190 Selvfølgelig, antall prosjekter andre steder kontrakter, 407 00:17:51,190 --> 00:17:53,354 men alle er super glad fordi de vet 408 00:17:53,354 --> 00:17:55,520 de jobber med dette ting som er virkelig fantastisk. 409 00:17:55,520 --> 00:17:58,644 >> -En av de virkelig store ting om denne jobben og denne bransjen generelt 410 00:17:58,644 --> 00:18:00,684 er at ting forandrer seg hele tiden. 411 00:18:00,684 --> 00:18:02,600 Det som du er gjøre dette året kommer 412 00:18:02,600 --> 00:18:04,980 å være meget vanskelig fra ting du gjør det neste året. 413 00:18:04,980 --> 00:18:08,520 Og så det holder alt egentlig frisk, faktisk, og ganske spennende. 414 00:18:08,520 --> 00:18:11,757 Du er stadig å lære nye ting og gjøre nye typer ting. 415 00:18:11,757 --> 00:18:12,590 [END VIDEOAVSPILLING] 416 00:18:12,590 --> 00:18:13,969 DAVID: Det er det for CS50LIVE. 417 00:18:13,969 --> 00:18:15,760 Takk så mye til dette ukens bidragsytere. 418 00:18:15,760 --> 00:18:19,710 Takk så mye til CS50 egen Colton Ogden og teamet bak kamera. 419 00:18:19,710 --> 00:18:21,456 Dette var CS50. 420 00:18:21,456 --> 00:18:23,198 >> [MUSIC - LOS DEL RIO, "MACARENA"] 421 00:18:23,198 --> 00:19:18,955