[Musikgengivelse] NU: Hej, verden. Dette er CS50LIVE. Vi har sådan en god episode for dig. Den administrerende direktør for YouTube, en fejl i Internet Explorer, det værste videospil nogensinde, og en ekskursion til Valve Software. Men først en tur til Tokyo, Japan hvor præsident Obama for nylig spillet fodbold med en af ​​mine gode venner. [VIDEOAFSPILNING] -Wow. Han bevæger sig. -Jeg kan sparke en fodbold også. Her går jeg. -Hey, godt stykke arbejde. [END VIDEOAFSPILNING] DAVID: Hej, verden. Jeg er her med CS50 egen Colton Ogden. COLTON OGDEN: Hej, alle sammen. DAVID: Og hvem der ellers gør vi har med os her i dag? COLTON OGDEN: Dette er nu vores lille robot kammerat fra Frankrig. DAVID: Så faktisk mødte jeg NO sideløbende [? Rob Boden?] da han og jeg var i Atlanta, Georgien et par uger tilbage som du måske husker på SIGCSE, Special Interest Gruppe for Computer Science Education, hvor bogstaveligt rundt mødelokalet ordet var denne fyr. Nå da det viser sig, når vi kom tilbage til campus opdagede vi, at professor [Uhørligt] af Harvards robotteknologi lab faktisk havde en Nu her på campus. Og hun venligt tilladt os at programmere ham til dig i dag. COLTON OGDEN: Ja, og faktisk, David, Jeg tror nu ønsker at sige hej til dig hvis du ønsker at gå omkring bordet her. DAVID: Lige her? Ok. Ok. NU: Hej, David. Hyggeligt at møde dig. DAVID: Hej, nu. Ryst hånden? COLTON Ogden: Shake hånden op og ned. DAVID: OK. COLTON Ogden: Og så han vil gå videre og sidde ned. Og hvis du er interesseret, Jeg kan faktisk vise dig hvordan jeg var i stand til at få ham at gøre alle disse ting også. DAVID: Ja, absolut. COLTON Ogden: Han er lidt off balance i morges. Han har ikke haft sin kaffe endnu. DAVID: Så hvad er denne vi kigger på? COLTON Ogden: Så vi kigger på her er en kerne graf, der nu er et grafisk programmeringsmiljø, som er meget lig Scratch at CS50 bruger. Her ser vi det er indstillet op som et flowdiagram. Og vi har en flok af disse små byggesten her. Nu, hvis vi tager et kig på denne ene for eksempel, kaldes det stå op. Og denne blok siger stå op for Nuet, uanset om han sidder ned eller hvad. Så ser vi det går i taktile hoved, som dybest set venter et tryk på toppen af hans hoved som du så tidligere. Flyt til hjælp bevæger sig i en x, y og z retning til en bestemt destination. Håndtryk er et modul jeg skrev, der dybest set siger, hej, David. Hyggeligt at møde dig. Venter et håndtryk. Sid ned er det modsatte af at stå op. Han vil gå videre og sidde ned. Og derefter hovedet bevægelse er en sløjfe, hvorved han vil bevæge hovedet i tilfældige retninger. DAVID: Interessant. Så selv om disse ikke ser ligesom puslespilsbrikker fra bunden, det er virkelig den samme idé. Og du ledningsføring et program ved hjælp af disse byggesten. COLTON OGDEN: Ja, præcis. DAVID: Så du siger, du har foretaget en af ​​dem, håndtryk. Kan vi zoome ind på den ene? COLTON Ogden: Sure. Vi vil tage et kig her på håndtryk. Og vi vil se det er sat op meget svarende til den anden flowdiagram. Vi starter med hej blok, som [uhørligt] siger goddag, David. Hyggeligt at møde dig. Denne ret her er en løkke. Den siger, opdage arm bevægelse. Så det vil i en uendelig loop vente, indtil dets arm er blevet rejst op og ned. Og derefter en gang det er sket, det vil gå videre og gøre disse ting. Indstil stivhed OK og gå til enden, som dybest set betyder sende ham tilbage til sin udgangsposition. DAVID: Interessant. Er du begrænset til kun ved hjælp af denne grafiske miljø at programmere ham på denne måde? COLTON OGDEN: Faktisk, nej. Hvis vi går videre og dobbeltklik nogen af ​​disse byggesten Vi kan se, at der er faktisk python kode under hætten, kraftoverførsel hver af disse byggesten. DAVID: Ah, ja. Så for dem bekendt, python er et fortolket sprog, meget ens i ånd med PHP, som vi bruger i CS50. Og meget gerne du kan bruge PHP til web programmering, du kan også bruge det på kommandolinjen. Og som Colton gør her i denne grafisk miljø, skrive programmer og derefter sende den via Wi-Fi - COLTON Ogden: Korrekt. David: - til nu. Vil du have nogle tid til at holde sig rundt? COLTON Ogden: Helt sikkert. DAVID: Okay. Nå, før Colton kommer tilbage med os for en lille smule af en overraskelse, vi nu - få det -? har 60 sekunder af tidligere CS50 studerende audition at blive undervise medmennesker. [VIDEOAFSPILNING] -Tak. Tak, alle, for at være her. -Hey, Mr. Bunny. -Velkommen til denne korte tutorial på - [Uhørligt] sjov med Twinkies. -Vent. Stop. -Så nu har vi et problem. -Det er ikke. Og jeg har tænkt mig at fortælle dig hvorfor. -En løkke er gentagelser, ligesom - -Sort af en sort boks. -OK. Jeg tror, ​​jeg får det. -Okay. Så nu er jeg i en lidt hårde del. -Det er rigtigt. 8 bits gøre en byte. -Du tager en byte, og du adskille den i stykker af fire. -Bip, bip, bip, bip, bip. Bip, bip, bip, bip, bip. -Det virker alt for kompliceret. -Så lad os gøre det igen. -Hvis jeg forvirre dig, bedes velkommen til at stoppe mig. -Men vent et sekund. -Nå, lad os se tilbage på slæden og bryde ting ned trin for trin. -Hvis du kan huske, hukommelse er brudt op i byte stykker på størrelse. -Så her har vi i bedste fald. -Dette er en væsentlig forbedring i forhold til - -En webbrowser, ligesom Chrome. -Det er altid nødvendigt at frigøre nogen - -Folk - -Du kan køre på tværs. Og koden kan få lidt besværlig. -Og det er alt hvad du behøver. -Boom! DAVID: Nu CS50 egen Dan Coffey og jeg for nylig haft mulighed for at rejse ud til Mountain View, Californien, som er der, hvor hovedkvarter for Google er. Og vi havde en chance for at chatte med Susan Wojcicki, administrerende direktør for YouTube. Det var faktisk i Susans garage år siden i 90'erne at Google selv var startet af Larry og Sergey. Tja, det viser sig, at Susan selv tog faktisk CS50 blot et par år, før jeg gjorde. Og jeg tror, ​​det er slående som du vil snart høre lige hvordan meget en introduktion til computer videnskab så påvirket hendes liv. Hun ville gerne sige hej. SUSAN Wójcicki: Hej, verden. Jeg er Susan Wojcicki. Jeg er den administrerende direktør for YouTube. Og jeg tog CS50, da jeg var en senior på Harvard i 1990. Jeg var faktisk en historie og litteratur større. Og min junior sommer I indså, at jeg måske ønskede at lære noget om computere. Og så kom jeg tilbage. Jeg tog CS50. Det var svært, men det var mest fantastiske klasse jeg tog. Det ændrede hvordan jeg tænker om alt. Og når jeg dimitterede fra Harvard i 1990, gik jeg til Silicon Valley og jeg fik et job. Og jeg har arbejdet i tech lige siden. Så CS50 ændrede mit liv. Jeg fortsætter med at lære og bygge. Det gav mig en stor fundament. Og jeg fortsætter med at lære hver dag som de teknologiske ændringer. Og jeg tror, ​​det er vidunderligt at I alle tager det fordi det er, hvordan verden er kommer til at ændre fremadrettet. Der er bare at blive mere og flere muligheder og innovation. Digital kommer til at påvirke vores lever endnu mere end det allerede har. Og det er vidunderligt, at du er alle tager CS50. Så dette er CS50. DAVID: Så hvis du har været på udkig efter en ny grund ikke at bruge en bestemt browser, her er en god en for dig. Jeg modtog for nylig - sammen med alle ved Harvard University - denne e-mail her. "Kære medlemmer af Harvard Fællesskabet. Det amerikanske Department of Homeland Security anbefaler, at alle brugere midlertidigt ophøre med at anvende Microsoft Internet Explorer, IE, på grund af en kritisk sikkerhedshul. " Dette dokumenteres faktisk i Microsoft Security Advisory 2.963.983. Sårbarhed i Internet Explorer kan tillade fjernkørsel af programkode. Nu hvad betyder det og hvad er truslen? Nå, overveje dette diagram her, hvilket vi brug i CS50 til at tale om HTTP eller webtrafik. Hvis vi har her en web serveren og på den anden side en browser - Internet Explorer i dette tilfælde - selvfølgelig, en browser, når det først anmoder om en webside kan sende en HDP budskab som dette. GET index.html bruger version 1.1 af protokollen er kendt som HTTP. Nu i dette tilfælde, hvis en dårlig fyr har en eller anden måde havde adgang til dette web-server og installeret på den en udnytte så at sige, han eller hun kan være i stand til at overbevise web serveren til at returnere dette. Ikke kun index.html selv som anmodet om, men indlejret i af denne index.html fil kunne, selvfølgelig være andre aktiver. Især noget ligesom exploit.SWF, en Flash-fil, der i sidste ende drager fordel af denne sikkerhed teknik, heap feng shui, der er en fancy måde at sige, at koden indersiden af ​​at Flash-fil sprays såkaldte bunke inde i computerens browser med alle de forskellige bidder af hukommelse, der er udviklet i sidste ende at overskrive store bidder af hukommelse her. Hvis du husker dette fra vores diskussion i CS50 af bunken og stakken og hukommelse ledelse mere generelt. Nu den hukommelse, der er faktisk smidt på bunke er virkelig kaldes flash vektor objekter. Og det er noget med som du kan være bekendt hvis du selv havde programmeret Flash før. Men en af ​​disse objekter i særdeleshed er kendt som et flash-lyd objekt. Og heri ligger en mulighed, fordi hvad dette udnytte fortsætter derefter med at gøre er korrupt denne luns af hukommelse, dette objekt i hukommelsen, sådan, at den forsøger at gøre dette hexadecimal adresse eksekverbare, hvorved forsøger at narre programmet i sidste ende til udførelse nogle shell kode, så til at tale, eller dårlig fyr kode, der er sidste ende lagret ved denne adresse her, som blev injiceret ved hjælp af hente ubevidst at især flash-fil. Nu kan det endelige resultat være, hvad den modstander ønsker at gøre til din computer. Han eller hun kunne slette dine filer, flytte dine filer, e-mail dine filer, eller virkelig gøre noget, som du selv kunne gøre som ejeren af ​​denne computer. Og det er derfor, at truslen er så skræmmende. Det giver virkelig alle på internet hvis hjemmeside du kunne besøge for at udføre vilkårlig programmer på din computer. Nu heldigvis, Microsoft meget for nylig udgivet en rettelse til dette fordi problemet faktisk plagede Internet Explorer 6 hele vejen op gennem 11.. Så det har været med os i temmelig lang tid og blev først opdaget for nylig. Så hvis du har automatiske opdateringer tændt, skal du være OK snart. Men bare for at være sikker, kunne du sikkert skifte til en anden browser på mindst i mellemtiden. Nu viser det sig også, at Microsoft meget generøst også udgivet en rettelse til Windows XP, en ældre version af Windows, for hvilke støtte var faktisk officielt afbrydes blot et par uger siden, men denne trussel var så slemt, at de også udrullet en rettelse til denne OS samt. Nu i andre nyheder i denne uge var dette. Den Atari 2600, en ældre spil konsol, en fætter af mine havde faktisk vokser op som vi plejede at spille videospil, når vi ville besøge deres hus. Nu i alle tilfælde, hvorfor dette var i Nyheden var af følgende grund. Tilbage i 80'erne, virksomheden bag denne enhed, Atari besluttet at begrave i en losseplads i New Mexico en hel bunke af gamle spil og brugsanvisninger og lignende, der ville ellers gået usolgte. Nu over tid, begravelse af disse spil bliver lidt af en vandrehistorie. Folk vidste ikke rigtig, for sikker om dette havde faktisk skete selv dog, som myten gik virksomheden havde selv hældte et lag af beton på toppen af ​​alt i deponering for at forhindre børn fra faktisk raslende gennem det, forsøger at finde gratis videospil. Tja, det viser sig, at en dokumentarfilm er nu i gang nu i 2014. Og et hold af gravemaskiner har forsøgt at grave op sandheden bag denne historie hvis det er faktisk der. Og gæt hvad de fandt? Nå, ikke ligefrem det fyr, men tusinder kopier af sit spil, som blev udgivet sammenfaldende med udgivelsen af film, E.T. The Extraterrestrial. Så ja, bare i de sidste par dage snesevis og hundredvis om ikke tusindvis i sidste ende af disse patroner er begyndt at blive afdækket. Nu hvorfor gjorde de begrave sådan en klart overbevisende spil? Tja, det viser sig, at E.T. faktisk siges af mange for at være den værste videospil nogensinde. I del, fordi de havde så lidt tid til at udvikle spillet før der især juletiden, men også fordi det var særligt svært at spille. Dette, selvfølgelig, rejser spørgsmål, kan vi se det? Ja, det kan vi. Lad os tage et kig. [VIDEOSPIL AFSPILNING] Nu var det faktisk ikke grafik, folk tog indvending til, fordi, ja, det var 80'erne og dette var stade. Faktisk, det var min barndom her. Men hvad var svært om dette spil var en, du havde en film ET rundt skærmen, ser for de små pixels, hvilket repræsenterede Reese brikker. Men fangsten er også, at hvis du faldt ind i de mørkere diamant figurer, du ville falde i en pit, der var faktisk meget hårdt og besværligt at komme ud af. Så derfor blev begravet ET. Nu også i ørkenen i sen var dette her i Wyoming. En nukleare, ikke at forveksle med [? nucular,?] kontrolcenter. Og i virkeligheden, hvis man ser ned der under betonen nær denne hvide pol, der er faktisk en Minuteman III missil, et atommissil, det er faktisk beskyttet af nogle teknologi, der er ikke nær så moderne som du kunne håbe. En amerikansk tv-show, 60 Minutter, for nylig afsløret dette. [VIDEOAFSPILNING] -Men udstyret er gammel. Dette er for eksempel en af ​​de computere, ville modtage en lancering bestille fra præsidenten. Det bruger disketter. De virkelig gamle, de store. Før du kom herned, du sandsynligvis aldrig havde set en? -Jeg havde aldrig tidligere set en indtil Jeg kom ned i dette hul. [END VIDEOAFSPILNING] Nu, hvis du tænker du har set disse diske, de 5 og 1/4-inch diske fra 1980'erne, uh-uh. Dette er en 8-tommers diskettedrev disk fra 1970'erne. Nu CS50 egen Dan Coffey og jeg havde også en mulighed at rejse til Seattle, Washington for nylig, hvor vi besøgte vores venner hos Valve. I virkeligheden, kan du huske 60 sekunder af mig iført de virtual reality briller. Nu havde vi også en mulighed for at chatte med tre af Valves ingeniører der talte til os om, hvad det er ligesom at arbejde på Valve, men bedre endnu, hvad det er gerne udvikle videospil. Lad os tage et kig. [VIDEOAFSPILNING] [VIDEOSPIL AFSPILNING] -Mit navn er Brian Jacobson. Jeg gjorde min vej til Valve slags i en lidt omvej. Jeg var faktisk ikke en computer programmør i college. Og jeg blev brugt til at bakke i gymnasiet væsen stand til at gøre programmeringen og få ting fra idé til implementering på blot et par minutter eller timer. Jeg nød at hastige udvikling og se mine ideer kommer til livet. -Mit navn er Yahn Bernier. Jeg har været her hos Valve for over 16 år. Så jeg endte med at skrive bare for sjov en level editor til Quake kaldet BSP, baseret på det binære space partitionering træer. Det var en slags entree. Og til sidst Gabe Newell, som var den grundlægger af Valve, og Mike Harrington sendte mig en e-mail siger software udviklingsingeniør lejlighed. -Mit navn er John Cook. Jeg er en software ingeniør arbejder hos Valve. Jeg fokuserer på vores online-systemer, skalering og arkitektur. En ven og jeg faktisk på universitetet var arbejder på et spil kaldet Team Fortress. Og vi har lige lavet spillet, sætte det op på internettet. Det var en tilføjelse til spil, Quake, på det tidspunkt. Så det var en slags moderne udvidelse af det spil. Efter at vi endte komme i kontakt med Valve og kommer over her. -Tja, for mig den grafiske klassen var formentlig den mest anvendelige kursus at jeg tog i college for sikker. Trigonometri, lineær algebra. Jeg tog en robotteknologi kursus, der havde en bundt af lineær algebra slags bagt ind i det, og det er en af ​​hjørnestenen matematiske begreber til eventuelle 3D-grafik. Det handler om orientering og gør matematik ligesom, jeg ser over på dig, men jeg ønsker at sigte derovre. Og hvordan kan jeg rotere og hvordan kan jeg regne ud, hvor jeg flytter eller leder. Det er alt lineær algebra. Essensen af ​​en first-person shooter er, at jeg ser gennem pistol sites med mine øjne og sigte på noget og trykke på aftrækkeren og jeg ønsker at ramme det. Så du er nødt til at designe dit teknologi til at beskæftige sig med latenstid. Og så John Carmack gik tilbage og sagde, åh, hvad jeg skal gøre er forudsige på klienten resultere min spillerens input, og bare gøre det, og render, hvorfra vi tror han kommer til at være, og derefter lade serveren komme tilbage og ordne det for mig. -Så når du tænker ved hjælp af et spil motor til at lave et spil, der er en masse flere muligheder nu. -Et spil motor er venlig af infrastrukturen hvor du gøre spillet. Det er de ting der er ansvarlig for tegning verden, til simulering af verden, til afspilning af alle de lyde, for at hjælpe dit spil kode regne ud, hvad fjenden Ægthedsindikatorer kommer til at gå gøre. -Normalt den måde, folk ville starte er de ville tage en vis mængde af denne logik og ændre det. Ligesom, OK, lad os nu bare ændre raketkaster at gøre 200 skader i stedet gøre 100 skader. Det er en meget enkel, ligesom, bare tage nogle af de eksisterende stykke gameplay logik og tweak det til, hvordan du kan lide. -Den anden højere lag er normalt kaldes spillets kode. Og spillets kode er normalt den ting, der handler om spillereglerne. Ligesom det faktum, at jeg har dette våben og det virker på en bestemt måde. Eller det faktum, at der er en headcrab monster, har disse særlige adfærd. Disse slags ting er typisk at finde som vildt kode. -Og derfra, virkelig, med dem, der form af stykker og iterationsprocessen, du kan gå fra noget som Quake til noget som Half-Life. -Half-Life er en sci-fi, first-person shooter spil. Det er angivet i en dystopisk verden. Den første Half-Life blev sat i denne underjordiske forskningsanlæg kaldet Black Mesa. Og du spillede en karakter opkaldt Gordon Freeman. Og det var dybest set om en alien invasion der blev provokeret når et eksperiment gik galt. Og det andet spil, Half-Life 2, blev sat omkring 10 år senere, og dybest set, udlændinge havde overtaget planeten. Og nu er du som Gordon Freeman skulle stort set redde din ven, Alex, hvem du møder. Og prøv at slå tilbage udlændinge og genvinde planeten. -Bestemt, projekter som Portal 2, det var bare et lille team, fem personer arbejder på et spil idé. De fandt nogle ting, de Tanken var interessant, kunne være interessant for et spil. De udvidet til 20 personer. De konkretiseret disse ideer. Du har tilføjet nogle flere mennesker. De er ligesom, OK, og nu har vi ønsker at sende på tre konsoller. Vi har brug for mange flere mennesker. Ligesom alle, kom se på dette spil. Det er awesome. Det behøver blot en flok arbejde for at få gjort. Så pludselig har du halvdelen af ​​virksomheden arbejder, du har 120 mennesker, der arbejder på dette spil for at få det gjort. Det er klart, at antallet af projekter andre steder kontrakter, men alle er super glade, fordi de ved, de arbejder på dette ting, der er virkelig awesome. -En af de virkelig gode ting ved dette job, og denne industri i almindelighed er, at tingene ændrer sig hele tiden. De ting, at du er gør dette år går at være meget vanskeligt fra ting du gør det næste år. Og så det holder alt virkelig frisk, faktisk, og temmelig spændende. Du er hele tiden at lære nyt ting og gør nye slags ting. [END VIDEOAFSPILNING] DAVID: Det er det for CS50LIVE. Tak så meget til denne uges bidragydere. Tak så meget til CS50 egen Colton Ogden og holdet bag kameraet. Dette var CS50. [MUSIC - LOS DEL RIO "MACARENA"]