[MUSIK SPELA] NU: Hej, värld. Detta är CS50LIVE. Vi har en så bra episod för dig. VD för YouTube, en bugg i Internet Explorer, det värsta tv-spel någonsin, och en studieresa till Valve Software. Men först, en resa till Tokyo, Japan där president Obama nyligen spelat fotboll med en god vän till mig. [VIDEO SPELA] -Wow. Han rör sig. -Jag kan sparka en fotboll också. Här går jag. -Hej, bra jobb. [END VIDEOAVSPELNING] David: Hej, värld. Jag är här med CS50 egen Colton Ogden. COLTON OGDEN: Hej, alla. David: Och vem gör vi har med oss ​​här i dag? COLTON OGDEN: Detta är nu, vår lilla robot kompis från Frankrike. David: Jag träffade faktiskt NEJ vid sidan av [? Rob Boden?] när han och jag var i Atlanta, Georgien ett par veckor tillbaka som ni kanske minns på SIGCSE, Särskilda Intresse Grupp för datavetenskap utbildning, där bokstavligen gå runt konferensrummet golvet var den här killen. Tja som det visar sig, när vi kom tillbaka till campus Vi upptäckte att professor [OHÖRBAR] av Harvards robotlabb faktiskt hade en nu här på campus. Och hon vänligt tillät oss att programmera honom för dig idag. COLTON OGDEN: Ja, och faktiskt, David, Jag tror nu vill säga hej till dig Om du vill gå runt bordet här. David: Här? Okej. Okej. NU: Hej, David. TREVLIGT ATT TRÄFFAS. David: Hej, Nu. Skaka hans hand? COLTON OGDEN: Shake handen upp och ner. David: OK. COLTON OGDEN: Och sedan han kommer att gå vidare och sitta ner. Och om du är intresserad, Jag kan faktiskt visa dig hur jag kunde få honom att göra alla dessa saker också. David: Ja, absolut. COLTON OGDEN: Han är lite off balansera morse. Han har inte haft sitt kaffe ännu. David: Så vad är det vi ser? COLTON OGDEN: Så vi tittar på här är en kärna graf, som nu är en grafisk programmeringsmiljö, som är mycket lik Scratch att CS50 använder. Här ser vi den är inställd upp som ett flödesschema. Och vi har ett gäng av dessa små byggstenar här. Nu om vi tar en titt på den här till exempel, det kallas stand up. Och detta block säger stå upp för Nu, oavsett om han sitter ner eller vad som helst. Då ser vi att det går in i taktil huvud, som i princip väntar på en kran på toppen av huvudet som du såg tidigare. Flytta till organ rör sig i en x-, y-och z riktning till en specifik destination. Handslaget är en modul som jag skrev, som i princip säger, hej, David. TREVLIGT ATT TRÄFFAS. Väntar på ett handslag. Sitt ner är motsatsen till stå upp. Han kommer att gå vidare och sitta ner. Och sedan huvudrörelser är en loop som innebär att han kommer att röra huvudet i slumpmässiga riktningar. David: Intressant. Så även om dessa inte ser som pusselbitar från Scratch, det är egentligen samma idé. Och du kabeldragning ett program med användning av dessa byggstenar. COLTON OGDEN: Ja, exakt. David: Så du sa att du gjort en av dem, handskakning. Kan vi zooma in på den? COLTON OGDEN: Visst. Vi tar en titt här på handskakning. Och vi får se den är inställd mycket liknar den andra flödesdiagrammet. Vi börjar med hello blocket, vilket [OHÖRBAR] säger, hej, David. TREVLIGT ATT TRÄFFAS. Det här är en loop. Den säger, upptäcka armrörelse. Så det kommer i en oändlig loop vänta tills dess arm har höjts upp och ner. Och sedan en gång som har hänt, det kommer att gå vidare och göra dessa saker. Ställ stelhet OK och gå till slut, vilket i princip innebär att skicka honom tillbaka till sin standardläge. David: Intressant. Är du begränsad till endast använder denna grafisk miljö att programmera honom på det här sättet? COLTON OGDEN: Nej, faktiskt inte. Om vi ​​går vidare och dubbelklicka någon av dessa byggstenar, Vi kan se att det finns faktiskt python-kod under huven, driver var och en av dessa byggstenar. David: Ah, faktiskt. Så för dem obekanta, python är ett tolkat språk, mycket i samma anda som PHP, som vi använder i CS50. Och precis som du kan använda PHP för webbprogrammering, Du kan även använda den på kommandoraden. Och som Colton gör här i denna grafiska miljön, skriva program och sedan sänder den via Wi-Fi - COLTON OGDEN: Rätt. David: - till nu. Skulle du ha några tid att stanna kvar? COLTON OGDEN: Absolut. David: Okej. Tja, innan Colton kommer tillbaka med oss för lite av en överraskning, vi nu - få det -? har 60 sekunder av tidigare CS50 studenter audition att bli undervisning medmänniskor. [VIDEO SPELA] -Tack. Tack, alla, för att vara här. -Hej, Mr Bunny. -Välkommen till denna korta tutorial på - [OHÖRBAR] kul med Twinkies. -Vänta. Stopp. -Så nu har vi ett problem. -Det är inte. Och jag ska berätta varför. -En slinga är upprepning, liksom - -Ungefär en svart låda. -OK. Jag tror att jag får det. -Okej. Så nu är jag i en lite svåra. -Det stämmer. 8 bitar gör ett byte. -Du tar en byte och du separera den i bitar av fyra. -Pip, pip, pip, pip, pip. Pip, pip, pip, pip, pip. -Det verkar alltför komplicerat. -Så låt oss göra det igen. -Om jag förvirra dig, tveka inte att stoppa mig. -Men vänta en sekund. -Nå, låt oss titta tillbaka på bilden och bryta ner saker steg för steg. -Om du kommer ihåg, är minnet delas i bytestora bitar. -Så här har vi det bästa scenariot. -Detta är en avsevärd förbättring jämfört med - -En webbläsare, som Chrome. -Det är alltid nödvändigt att befria någon - -Folk - -Du kan köra över. Och koden kan få något besvärligt. -Och det är allt du behöver. -Boom! David: Nu CS50 egen Dan Coffey och jag nyligen haft tillfälle att resa ut Mountain View, Kalifornien, som är där högkvarter Google är. Och vi hade en chans att chatta med Susan Wojcicki, VD för YouTube. Det var faktiskt i Susans garage år sedan på 90-talet att Google själv var startades av Larry och Sergey. Tja, visar det sig att Susan själv faktiskt tog CS50 bara några år innan jag gjorde. Och jag tycker det är slående så du kommer snart att höra hur mycket en introduktion till datorn vetenskap så påverkade hennes liv. Hon vill säga hej. SUSAN Wojcicki: Hej, värld. Jag är Susan Wojcicki. Jag är VD på YouTube. Och jag tog CS50 när jag var en senior vid Harvard 1990. Jag var faktiskt en historia och litteratur större. Och min junior sommaren jag insåg att jag kanske ville lära sig något om datorer. Och så jag kom tillbaka. Jag tog CS50. Det var svårt, men det var det mest fantastiska klass jag tog. Det förändrade hur jag tänker på allt. Och när jag tog examen från Harvard 1990 åkte jag till Silicon Valley och jag fick ett jobb. Och jag har jobbat i tech sedan dess. Så CS50 förändrade mitt liv. Jag fortsätter att lära och bygga. Det gav mig en bra grund. Och jag fortsätter att lära sig varje dag som de tekniska förändringar. Och jag tycker det är underbart att ni alla tar det eftersom det är hur världen är kommer att förändras framöver. Det kommer bara att bli mer och mer möjligheter och innovation. Digital kommer att påverka vår lever ännu mer än den redan har. Och det är underbart att ni alla tar CS50. Så det här är CS50. David: Så om du har varit letar efter en ny anledning att inte använda en viss webbläsare, här är bra för dig. Jag fick nyligen - tillsammans med alla vid Harvard University - detta mail här. "Kära ledamöter av Harvard gemenskapen. Det amerikanska Department of Homeland Security rekommenderar att alla användare tillfälligt sluta använda Microsoft Internet Explorer, IE, på grund av att en kritisk säkerhetsbrist. " Detta dokumenteras faktiskt i Microsoft Security Advisory 2.963.983. Säkerhetsproblem i Internet Explorer möjliggör fjärrkörning av kod. Nu vad innebär det och vad är hotet? Tja, anser att detta diagram här, vilket vi användning i CS50 att prata om HTTP eller webbtrafik. Om vi ​​har här en webbsida servern och på den andra sidan en webbläsare - Internet Explorer i det här fallet - naturligtvis, en webbläsare när det först begär en webbsida kan skicka en HDP budskap som denna. GET index.html använder version 1.1 av det protokoll som kallas HTTP. Nu i detta fall, om en skurk har på något sätt haft tillgång till denna webbserver och installerat en utnyttja så att säga, han eller hon skulle kunna övertyga webbservern att returnera det. Inte bara index.html sig som begärts, men inbäddade inuti av att filen index.html kunde, naturligtvis vara andra tillgångar. I synnerhet något liknande exploit.SWF, en flash-fil som i slutändan drar fördel av den här säkerhets teknik, hög feng shui, som är ett finare sätt att säga att koden insidan av att flashfilen sprutar det sk heap insidan av datorns webbläsare med alla olika bitar av minne som är utformade i slutändan att skriva över stora bitar av minnet här. Om ni minns det här från vår diskussion i CS50 av högen och stack och minneshantering mer generellt. Nu det minne som är faktiskt kastas på högen är verkligen kallas flash vektorobjekt. Och detta är något med som ni kanske känner om du själv hade programmerade Flash innan. Men en av dessa objekt i synnerhet är känd som ett flashminnesljudobjekt. Och häri ligger en möjlighet eftersom vad detta utnyttjar sedan fortsätter att göra är fördärva denna bit av minne, detta objekt i minnet, sådan att den försöker att göra denna hexadecimal adress körbara, och därigenom försöker lura programmet till slut att utföra vissa skal koden så att tala, eller skurk kod, det är slutligen lagras på denna adress här, som injicerades genom att hämta omedvetet just den flash-fil. Nu slutresultatet kan vara oavsett motståndare vill göra med din dator. Han eller hon kan ta bort dina filer, flytta dina filer, skicka filer, eller egentligen göra något som du själv kunde göra som ägare till den datorn. Och det är därför hotet är så skrämmande. Det gör verkligen någon på Internet vars webbplats du kan besöka för att exekvera godtycklig program på din dator. Nu tack och lov, Microsoft mycket nyligen släppt en fix för detta eftersom problemet faktiskt drabbade Internet Explorer 6 hela vägen upp till 11. Så det har varit med oss ​​under ganska lång tid och har bara nyligen upptäckt. Så om du har automatiska uppdateringar påslagen, bör du vara OK snart. Men bara för att vara säker, kan du säkert byta till en annan webbläsare åtminstone under tiden. Nu visar det sig också att Microsoft mycket generöst även släppt en fix för Windows XP, en äldre version av Windows som stöd var faktiskt officiellt avbrytas för bara några veckor sedan, men detta hot var så dålig att de även rullat ut en fix för detta OS också. Nu i andra nyheter denna vecka var det. Atari 2600, en äldre spel konsol som en kusin till mig hade faktiskt växer upp som Vi brukade spela tv-spel när vi skulle besöka deras hus. Nu i alla fall, varför detta var i nyheter var av följande skäl. På 80-talet, företaget bakom den här enheten, Atari, beslutat att begrava i en deponi i New Mexico en hel massa gamla spel och bruksanvisningar och liknande som skulle annars ha gått osålda. Nu med tiden, nedgrävning av dessa spel blivit lite av en urban myt. Folk visste inte riktigt säkert om detta verkligen hade hänt även Men som myt gick, företaget hade till och hällde ett lager av betong ovanpå allt i deponi för att förhindra barn från faktiskt prasslande genom den, försöker hitta gratis tv-spel. Jo, det visar sig att en dokumentär Nu pågår nu under 2014. Och ett lag av grävmaskiner har försökt att gräva upp sanningen bakom denna historia om det är sannerligen där. Och gissa vad de hittade? Tja, inte precis det här kille, men tusentals kopior av hans spel, som släpptes sammanfallande med frisättning av den film, E.T. Den utomjordisk. Så ja, precis under de senaste dagarna dussintals och hundratals om inte tusentals i slutändan av dessa patroner börjar bli ojordade. Nu varför de begrava sådana en klart övertygande spel? Tja, visar det sig att E.T. är faktiskt känd av många vara den värsta tv-spel någonsin. Delvis därför att de hade så lite tid att utveckla spelet innan det särskilt julen, men också för att det var särskilt svårt att spela. Detta naturligtvis väcker fråga, kan vi se det? Ja, det kan vi. Låt oss ta en titt. [SPEL SPELA] Nu var det faktiskt inte grafik som folk tog invändning att eftersom, ja, var det 80-talet och detta var den toppmodern. I själva verket var detta min barndom här. Men det som var svårt om detta spel var, en, du hade en film ET runt skärmen, ser för de små bildpunkter, vilket representerade Reese Pieces. Men fångsten är också att om du föll in i de mörkare diamant former, du skulle falla i en grop som var faktiskt mycket svårt och jobbigt att ta sig ur. Så därför begravdes ET. Nu även i öknen i sen var det här i Wyoming. En nukleär, inte att förväxla med [? kärn,?] ledningscentral. Och faktum är att om du tittar ner där under betongen nära denna vita pole, det finns faktiskt en Minuteman III missil, en nukleär missil, det är faktiskt skyddas av någon teknik som är inte alls lika moderna som du kan hoppas. En amerikansk TV-show, 60 Minuter, avslöjade nyligen denna. [VIDEO SPELA] -Men utrustningen är gammal. Detta, till exempel, är en av de datorer som skulle få en lansering beställer från presidenten. Den använder disketter. De riktigt gamla, stora sådana. Innan du kom hit, du förmodligen hade aldrig sett en? -Jag har aldrig sett en tills Jag kom ner i det här hålet. [END VIDEOAVSPELNING] Nu om du tänker du har sett dessa skivor, dessa 5 och 1/4-tums skivor från 1980-talet, uh-uh. Detta är en 8-tums diskett skiva från 1970-talet. Nu CS50 egen Dan Coffey och jag hade också en möjlighet att resa till Seattle, Washington nyligen där Vi besökte våra vänner på Valve. I själva verket kan du hämta 60 sekunder av mig bär de virtual reality glasögon. Nu hade vi också en möjlighet att chatta med tre av Valve ingenjörer som talade med oss ​​om vad det är att arbeta på Valve, men ännu bättre, hur det är vilja utveckla tv-spel. Låt oss ta en titt. [VIDEO SPELA] [SPEL SPELA] -Mitt namn är Brian Jacobson. Jag gjorde min väg till Ventil slags i en något omväg. Jag var faktiskt inte en dator programmerare på college. Och jag var van att backa i gymnasiet varelse kunna göra programmering och få grejer från idé till genomförande på bara några minuter eller timmar. Jag njöt av att snabba utvecklingen och se mina idéer komma till liv. -Mitt namn är Yahn Bernier. Jag har varit här på Valve i över 16 år. Så jag slutade att skriva bara för kul en nivå redaktör för Quake heter BSP, baserad på binär space partitione träd. Det var typ av entree. Och så småningom Gabe Newell, som var den grundare av Valve, och Mike Harrington skickade mig ett mail säger programvara utvecklingsingenjör tillfälle. -Mitt namn är John Cook. Jag är en programvara ingenjör arbetar på Valve. Jag fokuserar på våra online-system, skalning och arkitektur. En vän och jag faktiskt på universitetet var arbetar på ett spel som heter Team Fortress. Och vi bara gjort spelet, sätta upp det på internet. Det var ett tillägg till den spel, Quake, på den tiden. Så det var typ av en modern förlängning av det spelet. Efter det, vi hamnade komma i kontakt med ventil och kommer hit. -Jo, för mig grafik klassen var förmodligen den mest tillämpliga kursen att jag tog på college för säker. Trigonometri, linjär algebra. Jag tog en robotteknik kurs som hade en gäng linjär algebra slags bakad in i det, och det är en av keystone matematiska begrepp för några 3D-grafik. Det handlar om orientering och göra matematik som att, jag tittar över på dig, men jag vill sikta där borta. Och hur gör jag rotera och hur gör jag räkna ut var jag ska flytta eller letar. Det är allt linjär algebra. -Kärnan i ett första-person shooter är att jag tittar igenom pistolsajter med mina ögon och syftar på något och trycka av och jag vill träffa det. Så du måste designa din teknik för att handskas med latens. Och så John Carmack gick tillbaka och sa, åh, vad jag behöver göra är förut på klienten resultera min spelares ingångar, och bara göra det och rendera från där vi tror att han kommer att bli och sedan låta servern komma tillbaka och fixa det åt mig. -Så när du funderar på med hjälp av en spelmotor för att göra ett spel, det finns mycket fler alternativ nu. -En spelmotor är snäll av infrastrukturen där du gör i spelet. Det är den sak som ansvarar för teckning om i världen, för att simulera hela världen, för att spela alla ljud, för att hjälpa ditt spel kod räkna ut vad fienden AIs kommer att gå göra. -Vanligtvis är hur människor skulle börja de skulle ta en viss mängd av den logiken och ändra den. Liksom, OK, nu ska vi bara ändra raketgevär att göra 200 skada istället att göra 100 skador. Det är en mycket enkel, liksom, bara ta några befintliga bit av spellogik och justera den till hur du vill. -Den andra högre skikt brukar kallas spelkoden. Och spelkoden är oftast den sak som handlar om spelreglerna. Liksom det faktum att jag har detta vapen och det fungerar på ett visst sätt. Eller det faktum att det finns en headcrab monster som har just dessa beteenden. Dessa typer av saker är vanligtvis att finna som spelkoden. -Och från det, egentligen, med de typ av bitar och processen med iterationen du kan gå från något som Quake till något i stil med Half-Life. -Half-Life är en sci-fi, first-person shooter spel. Det ligger i en dystopisk värld. Den första Half-Life var satt i denna underjordiskt forskningsutrymme heter Black Mesa. Och du spelade en karaktär namngav Gordon Freeman. Och det var i princip om en utomjordisk invasion som blev provocerad när ett experiment som gick fel. Och det andra spelet, Half-Life 2, sattes omkring 10 år senare, och i princip, utomjordingar hade tagit över planeten. Och nu är du som Gordon Freeman tvungen att i princip rädda din vän, Alex, som du möter. Och försök att slå tillbaka utomjordingar och återta planeten. -Visst, projekt som Portal 2, det var bara ett litet team, fem personer arbetar på en spelidé. De hittade några saker som de Tanken var intressant, skulle kunna vara intressant för ett spel. De expanderade till 20 personer. De konkretiseras dessa idéer. Du lade till några fler människor. De är som, OK, och nu vi önskar att sända på tre konsoler. Vi behöver mycket mer folk. Liksom alla, kom och titta på det här spelet. Det är häftigt. Den behöver bara en massa av arbete för att få gjort. Så plötsligt har du hälften av företag som arbetar, du har 120 personer som arbetar på detta spel för att få det gjort. Självklart är antalet projekt på andra håll avtal, men alla är super nöjda eftersom de vet de jobbar på detta sak som är riktigt häftigt. -En av de riktigt stora saker om detta arbete och denna industri i allmänhet är att saker och ting förändras hela tiden. Det som du är gör i år kommer sig vara mycket svårt från sak du gör det nästa år. Och så håller allt riktigt frisk, faktiskt, och ganska spännande. Du är hela tiden lära sig nya saker och göra nya typer av saker. [END VIDEOAVSPELNING] David: Det är allt för CS50LIVE. Tack så mycket för detta veckans bidragsgivare. Tack så mycket till CS50 egen Colton Ogden och teamet bakom kameran. Detta var CS50. [MUSIK - LOS DEL RIO, "MACARENA"]