[Redare a muzicii] ACUM: Bună ziua, lume. Acest lucru este CS50LIVE. Avem un astfel de episod bun pentru tine. CEO-ul de pe YouTube, A bug in Internet Explorer, cel mai prost joc video vreodată, și o excursie la Valve Software. Dar, mai întâi, o excursie la Tokyo, Japonia în cazul în care președintele Obama a jucat recent fotbal cu un bun prieten de-al meu. [VIDEO PLAYBACK] -Wow. Se mișcă. -I pot da prea o minge de fotbal. Aici mă duc. -Hei, bună treabă. [END VIDEO PLAYBACK] DAVID: Bună ziua, lume. Sunt aici cu CS50 propria Colton Ogden. COLTON OGDEN: Buna ziua, toată lumea. DAVID: Și ​​cine face noi avem cu noi azi aici? COLTON OGDEN: Aceasta este acum, nostru amice robotic din Franța. DAVID: Deci, m-am întâlnit de fapt NU alături [? Rob Boden?] când el și am fost în Atlanta, Georgia câteva săptămâni înapoi După cum vă amintiți, la SIGCSE, interesul deosebit Grup de Informatică Educație, în cazul în care pur și simplu de mers pe jos în jurul etaj sala de conferințe a fost de acest tip. Ei bine, așa cum se dovedește, atunci când ne-am întors în campus am descoperit că profesorul [Inaudibil] de la Harvard robotica laborator de fapt, a avut o Acum, aici în campus. Și ea cu amabilitate ne-a permis să-l programeze pentru tine azi. COLTON OGDEN: Da, și, de fapt, David, Cred că acum vrea să te salute dacă vrei să mergi în jurul mesei aici. DAVID: Chiar aici? Bine. Bine. ACUM: Bună, David. Îmi pare bine. DAVID: Buna ziua, acum. Strâng mâna? COLTON OGDEN: Shake mâna în sus și în jos. DAVID: OK. COLTON OGDEN: Și apoi el va merge mai departe și stai jos. Și dacă sunteți interesat, Vă pot arăta de fapt, cum am fost în stare să-l de a face toate aceste lucruri prea. DAVID: Da, absolut. COLTON OGDEN: E un pic off echilibru în această dimineață. El nu a avut cafeaua încă. DAVID: Deci, ce este aceasta ne uităm la? COLTON OGDEN: Deci ne uităm la aici este un grafic de bază, care este acum un mediu de programare grafic, care este foarte similar cu Scratch care CS50 foloseste. Aici vedem este setat ca pe o schemă. Și avem o grămadă de aceste mici blocuri de aici. Acum, dacă ne uităm la asta de exemplu, se numește stand-up. Și acest bloc spune ridice în picioare pentru Acum, dacă el stă în jos sau orice altceva. Apoi, vom vedea merge în cap tactil, care, practic, așteaptă un robinet pe partea de sus a cap cum ați văzut mai devreme. Mutare la mijloc se mute într-un x, y și z direcție la o anumită destinație. Strângere de mână este un modul care am scris, care spune, practic, salut, David. Îmi pare bine. Așteaptă o strângere de mână. Stai jos este opusul a se ridice în picioare. El va merge mai departe și stai jos. Și apoi mișcarea capului este o buclă prin care se va muta capul în direcții aleatoare. DAVID: Interesant. Deci, chiar dacă acestea nu te uita ca piesele puzzle-ului de la zero, este într-adevăr aceeași idee. Și tu cablare un program de folosind aceste blocuri. COLTON OGDEN: Da, exact. DAVID: Deci, ai spus că ai făcut unul dintre ele, strângere de mână. Putem mări pe asta? COLTON OGDEN: Sigur. Vom arunca o privire aici, la strângere de mână. Și vom vedea că este înființat foarte similar cu alte diagrama. Ne-am începe cu blocul salut, care [inaudibil] spune, salut, David. Îmi pare bine. Acest drept este aici o buclă. Se spune, detecta mișcarea brațului. Deci, va fi într-un infinit bucla așteptați până când brațul său a fost ridicat în sus și în jos. Și apoi, o dată ce sa întâmplat, ea va merge mai departe și de a face aceste lucruri. Set rigiditate OK și mergeți la capăt, ceea ce înseamnă, practic, îl trimite înapoi la poziția implicit. DAVID: Interesant. Esti limitat la doar folosind acest mediu grafic să-l program în acest fel? COLTON OGDEN: De fapt, nu. Dacă mergem mai departe și faceți dublu clic oricare dintre aceste blocuri, putem vedea că există de fapt, cod python sub capota, alimentarea fiecare dintre aceste blocuri. DAVID: Ah, într-adevăr. Deci, pentru cei nefamiliarizati, python este un limbaj interpretat, foarte similare în spirit de PHP, pe care le folosim în CS50. Și, la fel ca tine se poate folosi PHP de programare web, puteți utiliza, de asemenea, la linia de comandă. Și, după cum Colton este de a face aici în acest mediu grafic, scrierea de programe și apoi transmiterea acesteia prin intermediul Wi-Fi - COLTON OGDEN: Corect. DAVID: - în prezent. Ai avea ceva timp pentru a lipi în jurul? COLTON OGDEN: Absolut. DAVID: În regulă. Ei bine, înainte de a se întoarce cu Colton ne pentru un pic de o surpriza, noi acum - se obține? - 60 de secunde de foști studenți CS50 vizionari pentru a deveni predare semenii. [VIDEO PLAYBACK] -Multumesc. Vă mulțumesc, toată lumea, pentru a fi aici. -Hei, domnule Bunny. -Bine ați venit la acest tutorial scurt pe - [Inaudibil] distracție cu Twinkies. -Stai. Opri. -Deci, acum avem o problemă. -Nu este. Și am de gând să-ți spun de ce. -O buclă este repetiție, cum ar fi - -Un fel de cutie neagră. -OK. Cred că m-am prins. -În regulă. Deci acum sunt într-o parte ușor greu. -Asta-i drept. 8 biți face un octet. -Iei un octet și tu separa-l în bucăți de patru. -Beep, beep, beep, beep, beep. Beep, beep, beep, beep, beep. -Se pare prea complicat. -Deci, hai sa facem asta din nou. -Daca te-am confundat, vă rugăm să nu ezitați să mă opresc. -Dar, stai o secundă. -Ei bine, să ne uităm înapoi la slide și sparge lucruri în jos pas cu pas. -Dacă vă amintiți, memorie este rupt în bucăți octet-size. -Deci, aici avem cel mai bun caz. -Aceasta este o considerabilă îmbunătățire peste - -Un browser web, cum ar fi Chrome. -Este întotdeauna necesar pentru a elibera orice - -Oameni - -Aveți dreptul să executați peste. Și codul poate obține oarecum greoaie. -Și asta este tot ce ai nevoie. -Boom! DAVID: Acum CS50 propriu Dan Coffey și eu recent a avut o oportunitate de a călători în la Mountain View, California, care este în cazul în care sediul central al Google este. Și am avut șansa de a discuta cu Susan Wojcicki, CEO al YouTube. Acesta a fost de fapt în Susan garaj ani în urmă, în anii '90 că Google în sine a fost început de Larry și Sergey. Ei bine, se pare că Susan ea de fapt a luat CS50 doar câțiva ani înainte de a le-am făcut. Și cred că e frapant după cum veți auzi în curând cât de mult o introducere la calculator știință atât de influențat viața ei. Ar vrea să-l salut. SUSAN Wojcicki: Bună ziua, lume. Sunt Susan Wojcicki. Sunt CEO al YouTube. Și am luat CS50 când am fost un senior de la Harvard în 1990. Am fost de fapt o istorie și majore literatură. Și meu junior de vara I a dat seama că poate am a vrut să învețe ceva despre computere. Și așa m-am întors. Am luat CS50. A fost greu, dar a fost clasa cea mai uimitoare am luat. Acesta a schimbat modul în care cred despre tot. Și când am absolvit de la Harvard în 1990, m-am dus la Silicon Valley și am primit un loc de muncă. Și am fost de lucru în tech de atunci. Deci, CS50-a schimbat viața mea. Am continua să învețe și de a construi. Acesta mi-a dat o fundatie mare. Și eu sunt în continuare pentru a afla fiecare zi ca schimbarile tehnologice. Și cred că e minunat că sunteți toți lua-o pentru că este modul în care lumea este va schimba merge mai departe. Nu doar va fi mai mult și mai multe oportunități și inovație. Digital va afecta noastre traieste chiar mai mult decât are deja. Și e minunat că sunteți de a lua toate CS50. Deci, aceasta este CS50. DAVID: Deci, dacă ați fost în căutarea pentru un nou motiv nu de a utiliza un anumit browser, aici e unul bun pentru tine. Recent am primit - împreună cu toată lumea de la Universitatea Harvard - acest e-mail aici. "Dragi membri ai Comunității Harvard. Departamentul pentru Securitate Internă al Statelor Unite recomandă ca toți utilizatorii temporar întrerupe administrarea de Microsoft Internet Explorer, IE, din cauza unui defect critic de securitate. " Acest lucru este documentat de fapt în Microsoft Security Advisory 2963983. Vulnerabilitate în Internet Explorer ar putea permite executarea de cod de la distanță. Acum, ce înseamnă acest lucru și ceea ce este amenințarea? Ei bine, ia în considerare acest diagrama aici, pe care ne-am utilizarea în CS50 pentru a vorbi despre HTTP sau de trafic web. Dacă avem aici un web serverului și pe de altă parte un browser - Internet Explorer în acest caz - desigur, un browser atunci când primul solicită o pagină web s-ar putea trimite un mesaj HDP ca aceasta. GET index.html folosind versiunea 1.1 protocolului cunoscut ca HTTP. Acum, în acest caz, în cazul în care un tip rău a avut cumva acces la acest server de web și instalat pe ea o exploata ca să spunem așa, el sau ea ar putea fi capabil de a convinge serverul de web pentru a reveni acest lucru. Nu numai index.html în sine ca solicitat, dar încorporate în interiorul de care fișier index.html ar putea, Desigur, fie alte active. În special, ceva ca exploit.SWF, un fișier flash, care în cele din urmă profită de această garanție tehnica, morman Feng Shui, care este un mod fantezist de a spune că acest cod în interiorul că spray-uri de fișiere Flash așa-numitul grămadă interiorul Computerul Browser-ul cu toate bucati diferite de memorie care sunt proiectate în cele din urmă pentru a suprascrie bucăți mari de memorie aici. Dacă vă amintiți acest lucru din discuția noastră în CS50 de heap si stiva și de gestionare a memoriei mai general. Acum, memoria care este de fapt, aruncat pe grămada sunt într-adevăr numit obiecte vectoriale Flash. Și acest lucru este ceva cu care s-ar putea să fie familiarizat dacă te-ai avut programat Flash înainte. Dar una dintre aceste obiecte, în special este cunoscut ca un obiect sunet mass-media flash. Și aici se află o oportunitate, deoarece ce acest exploata trece apoi pentru a face este corupt această bucată de memorie, acest obiect în memorie, astfel că încearcă să facă acest lucru executabil adresa hexazecimal, astfel încercarea de a pacali programul în cele din urmă pentru a executa un cod coajă așa de a vorbi, sau codul de tip rău, asta e în cele din urmă depozitate la aceasta adresa de aici, care a fost injectat cu titlu de descărcare în necunoștință de faptul că fișier flash special. Acum, rezultatul final ar putea fi orice adversar vrea să facă la computer. El sau ea ar putea șterge fișierele, muta fișiere, e-mail fișiere, sau într-adevăr ceva care te ar putea face ca proprietar de acel computer. Și de aceea amenințarea este atât de înfricoșător. Acesta permite cu adevărat oricine de pe internet al cărui tine site-ul s-ar putea vizita pentru a executa arbitrar programele de pe computer. Acum, din fericire, foarte Microsoft a lansat recent un fix pentru aceasta pentru că problema de fapt afectat Internet Explorer 6 tot drumul până prin 11. Asa ca a fost cu noi de ceva timp și a fost descoperit abia recent. Deci, dacă aveți actualizările automate pornit, ar trebui să fie bine în curând. Dar doar pentru a fi în siguranță, ai putea cu siguranță comuta la un alt browser, cel puțin între timp. Acum, se pare că prea Microsoft foarte generos a lansat, de asemenea, un remediu pentru Windows XP, o versiune mai veche de Windows pentru care de sprijin a fost de fapt oficial întrerupt în urmă cu doar câteva săptămâni, dar această amenințare a fost așa de rău că aceștia de asemenea, a lansat o fix pentru care sistemul de operare de asemenea. Acum, în altă ordine de idei în această săptămână a fost aceasta. Atari 2600, un joc mai vechi consola că un văr de-al meu de fapt, a crescut pe care am folosit pentru a juca jocuri video atunci când ne-ar vizita casa lor. Acum, în orice caz, de ce acest lucru a fost în știri a fost pentru următorul motiv. Înapoi în anii '80, compania în spatele acestui dispozitiv, Atari, a decis să-și îngroape într-un depozit de deșeuri în New Mexico o grămadă de jocuri vechi și manuale de utilizare și așa ar fi altfel au plecat nevândute. Acum, în timp, înmormântarea a acestor jocuri deveni un pic de un mit urban. Oamenii nu știu cu adevărat sigur dacă acest lucru sa întâmplat de fapt, chiar deși, ca mit mers, compania a turnat chiar un strat de beton pe partea de sus de tot în depozit de deșeuri pentru a preveni copii de fapt, foșnetul prin ea, încercarea de a găsi jocuri video gratuite. Ei bine, se pare că un documentar este acum în curs de desfășurare în prezent în 2014. Și o echipă de excavatoare a fost încercarea de pentru a dezgropa adevărul din spatele acestei povești dacă e într-adevăr acolo. Și ghici ce-au găsit? Ei bine, nu tocmai acest tip, dar mii de de copii ale jocului său, care a fost lansat coincide cu lansarea a film, E.T. Extraterestre. Deci, într-adevăr, doar în ultimele zile zeci și sute, dacă nu mii de în cele din urmă din aceste cartușe încep să fie descoperite. Acum, de ce au îngropa astfel de un joc în mod clar convingătoare? Ei bine, se pare că E.T. este, de fapt reputate de mulți a fi cel mai prost joc video vreodată. În parte, pentru că au avut atât de puțin timp pentru a dezvolta joc înainte ca special sezon de Crăciun, dar, de asemenea, că a fost deosebit de greu pentru a juca. Aceasta, desigur, imploră întrebare, putem să-l vedem? Da, putem. Să aruncăm o privire. [VIDEO GAME JOC] Acum nu a fost de fapt grafice pe care oamenii au avut obiecții pentru că, într-adevăr, aceasta a fost în anii '80 și aceasta a fost stadiul actual al tehnologiei. Într-adevăr, aceasta a fost copilăria mea aici. Dar ceea ce a fost dificil despre acest joc a fost, unul, ai avut un film ET in jurul ecranului, în căutarea pentru cei mici pixeli, care reprezentat Reese lui Pieces. Dar în care captura este de asemenea că, dacă ai căzut în aceste forme întunecate de diamante, v-ar cădea într-o groapă care a fost de fapt foarte greu și obositor pentru a ieși din. Deci, prin urmare, a fost îngropat ET. Acum, de asemenea, în deșertul târziu era aici în Wyoming. Un nuclear, a nu se confunda cu [? nucular,?] centru de control. Și, de fapt, dacă te uiți în jos există sub betonul aproape de acest pol alb, nu e de fapt, o rachetă Minuteman III, o rachetă nucleară, care este de fapt protejat de o tehnologie care este nu aproape la fel de moderne ca s-ar putea spera. Un show TV american, 60 Minute, a dezvăluit recent acest lucru. [VIDEO PLAYBACK] -Dar echipamentul este vechi. Aceasta, de exemplu, este unul dintre computerele pe care va primi o lansare comanda de la președinte. Acesta utilizează dischete. Cele foarte vechi, cele mari. Înainte de a te-a adus aici, probabil nu a văzut niciodată o? Mi-ar mai văzut unul până Am coborât în ​​gaura asta. [END VIDEO PLAYBACK] Acum, dacă vă gândiți le-ați văzut aceste discuri, aceste 5 și 1/4-inch discuri din anii 1980, uh-uh. Aceasta este o dischetă de 8 inch disc din anii 1970. Acum CS50 propriu Dan Coffey și am avut, de asemenea, o oportunitate să călătorească în Seattle, Washington recent în cazul în care am vizitat prietenii nostri de la Valve. De fapt, s-ar putea aminti 60 de secunde de mine purtarea acestor ochelari de realitate virtuala. Acum, am avut, de asemenea, o oportunitate de a chat-ul cu trei de ingineri Valve care ne-a vorbit despre ceea ce e ca pentru a lucra la Valve, dar mai bine, ceea ce e dori să dezvolte jocuri video. Să aruncăm o privire. [VIDEO PLAYBACK] [VIDEO GAME JOC] -Numele meu este Brian Jacobson. Am făcut drum la Valve fel de într-un traseu ușor ocolită. Eu nu am fost de fapt un calculator programator în colegiu. Și am fost folosit pentru a sprijini în liceu fiind capabil să facă programare și de a lua chestii de la idee la implementare în doar câteva minute sau ore. M-am bucurat că ritmul rapid de dezvoltare și văzând ideile mele vin la viață. -Numele meu este Yahn Bernier. Am fost aici de la Valve de peste 16 ani. Așa că am ajuns să scriu doar pentru distractiv de un editor de nivel pentru Quake numit BSP, bazat pe binar copaci spațiu de partiționare. Că a fost un fel de antreu. Și în cele din urmă Gabe Newell, care a fost fondatorul Valve, și Mike Harrington mi-a trimis un e-mail spunând software dezvoltare posibilitatea de inginer. -Numele meu este John Cook. Sunt un inginer de software de lucru de la Valve. Am concentra pe sistemele noastre on-line, scalarea, și arhitectura. Un prieten si am de fapt, în universitate au fost lucrează la un joc numit Team Fortress. Și ne-am făcut jocul, pune-l pe internet. A fost un plus față de joc, Quake, la momentul respectiv. Deci, a fost un fel de moderne extensie de acest joc. După aceea, am ajuns a intra în contact cu Valve și vin aici. -Ei bine, pentru mine clasa de grafica a fost Probabil cursul cel mai aplicabil că am luat la facultate pentru sigur. Trigonometrie, algebra liniară. Mi-am luat un curs de robotica care a avut o buchet de tip algebra liniara de copt în ea, și că este una dintre cheia de boltă concepte matematice pentru orice grafica 3D. Este vorba de orientare și de a face matematica place, mă uit pe la tine, dar vreau să vizeze acolo. Și cum pot roti și cum eu dau seama unde mă mut sau cautati. Asta este tot algebra liniară. -Esența de un shooter first-person este că mă uit prin intermediul site-uri de arma cu ochii mei și obiectiv la ceva și apeși pe trăgaci si vreau sa lovit asta. Deci, va trebui să design-ul Tehnologia de a face cu latență. Și așa John Carmack s-au întors și a zis:, oh, ce trebuie să fac se prezice pe client rezulta intrări jucător meu, și chiar face acest lucru și da de unde am Cred că va fi și apoi să serverul veni înapoi și fixați-l pentru mine. -Deci, atunci când te gândești folosind un motor de joc pentru a face un joc, există o mulțime mai multe opțiuni acum. -Un motor de joc este un fel infrastructurii în care voi face jocul. Este un lucru responsabil pentru desen lume, pentru simularea lumii, pentru a juca toate sunetele, pentru a ajuta codul joc dau seama de ce inamicul IA sunt de gând să meargă face. -De obicei, modul în care oamenii ar începe este le-ar lua o anumită cantitate de logica și-l schimba. Cum ar fi, OK, acum hai sa schimba lansatorul de rachete pentru a face 200 de daune în loc de a face 100 de daune. Este un foarte simplu, cum ar fi, să ia doar unele bucata de logica joc existent și tweak-l la modul în care vă place. -Celălalt strat de nivel superior este de obicei numit cod de joc. Și codul de joc este, de obicei, lucru care e tot despre regulile jocului. Cum ar fi faptul că am această armă special și funcționează într-un mod special. Sau faptul că nu există un monstru care headcrab are aceste comportamente particulare. Aceste tipuri de lucruri sunt de obicei, pentru a găsi ca cod de joc. -Și de acolo, într-adevăr, cu cele un fel de piese și procesul de repetare, poti sa te duci de la ceva de genul Quake la ceva de genul Half-Life. -Half-Life este un sci-fi, first-person shooter joc. Este situat într-o lume distopica. Primul Half-Life a fost stabilit în această facilitate de cercetare subteran numit Black Mesa. Și ai jucat un caracter pe nume Gordon Freeman. Și a fost, practic, despre o invazie extraterestră care a fost provocat când un experiment mers prost. Și al doilea joc, Half-Life 2, a fost stabilit aproximativ 10 de ani mai târziu, și practic, străinilor a luat asupra planetei. Și acum tu ca Gordon Freeman A trebuit să salveze practic prietenul tău, Alex, care te cunosc. Și să încerce să bată înapoi străinilor și revendica planeta. -Desigur, proiecte cum ar fi Portal 2, a fost doar o echipă mică, cinci persoane lucrează la o idee de joc. Ei au descoperit unele lucruri pe care le gândire au fost interesante, ar putea fi interesant pentru un joc. Ei au extins la 20 de persoane. Ei prescurtate acele idei. Ai adăugat unele mai multe persoane. Sunt ca, OK, iar acum ne-am Vreau să expedieze pe trei console. Avem nevoie de mult mai mulți oameni. Ca toata lumea, vin uita-te la acest joc. E minunat. Este nevoie de doar o adunatura de locul de muncă pentru a obține făcut. Deci, dintr-o dată ai jumătate din compania de lucru, Ai 120 de oameni care lucrează în acest joc pentru a obține făcut-o. Evident, numărul de proiecte de altă parte contracte, dar toată lumea este super fericit pentru că ei știu acestea sunt de lucru cu privire la acest lucru care este cu adevărat minunat. -Unul dintre lucrurile cu adevărat mari despre acest loc de muncă și această industrie, în general, este că lucrurile se schimbă tot timpul. Lucru pe care esti face în acest an se va a fi foarte dificil din lucru pe care îl face în anul următor. Și așa se păstrează totul într-adevăr proaspete, de fapt, și destul de interesant. Te continuu de învățare nou lucruri și de a face noi tipuri de lucruri. [END VIDEO PLAYBACK] DAVID: Asta e pentru CS50LIVE. Multumesc foarte mult pentru acest contribuabili săptămână. Multumesc mult pentru propria lui Colton CS50 Ogden și echipa din spatele camerei. Acest lucru a fost CS50. [MUSIC - LOS DEL RIO, "MACARENA"]