[MUSIQUE JEU] MAINTENANT: Bonjour tout le monde. C'est CS50LIVE. Nous avons un bon épisode pour vous. Le PDG de YouTube, un bug dans Internet Explorer, le pire jeu jamais de vidéo, et une visite de terrain à Valve Software. Mais d'abord, un voyage à Tokyo, Japon où le président Obama a récemment joué football avec un bon ami à moi. [VIDEO LECTURE] -Wow. Il se déplace. -Je peux taper dans un ballon de football aussi. Ici je vais. -Hey, bon travail. [LECTURE VIDEO FIN] DAVID: Bonjour tout le monde. Je suis ici avec sa propre Colton Ogden CS50. COLTON OGDEN: Bonjour, tout le monde. DAVID: Et qui d'autre avons-nous avoir avec nous ici aujourd'hui? COLTON OGDEN: c'est maintenant, notre petit ami robotique de la France. DAVID: Donc, j'ai rencontré NO aux côtés de [? Rob Boden?] quand lui et moi étions à Atlanta, Géorgie il ya quelques semaines que vous pouvez rappeler à SIGCSE, l'intérêt spécial Groupe d'Informatique de l'éducation, où la marche littéralement le plancher de la salle de conférence était ce gars. Eh bien il se trouve que, quand nous sommes revenus sur le campus nous avons découvert que le professeur [Inaudible] de la robotique du laboratoire de Harvard effectivement eu un maintenant ici sur le campus. Et elle nous a gentiment permis à lui de programmer pour vous aujourd'hui. COLTON OGDEN: Oui, et en fait, David, Je pense que maintenant veut te dire bonjour si vous voulez marcher autour de la table ici. DAVID: Juste ici? Très bien. Très bien. MAINTENANT: Bonjour, David. Enchanté de faire votre connaissance. DAVID: Bonjour, maintenant. Serrer la main? COLTON OGDEN: Agiter sa main de haut en bas. DAVID: OK. COLTON OGDEN: Et puis il va aller de l'avant et de s'asseoir. Et si vous êtes intéressés, Je peux effectivement vous montrer comment j'ai pu le faire de faire toutes ces choses aussi. DAVID: Oui, absolument. COLTON OGDEN: Il est un peu hors d'équilibre ce matin. Il n'a pas encore pris son café. DAVID: Quel est donc ce que nous cherchons à? COLTON OGDEN: Donc, nous cherchons à Voici un graphique de base, qui est maintenant un environnement de programmation graphique, qui est très similaire à Scratch qui utilise CS50. Ici, nous voyons qu'il est mis en comme un diagramme de flux. Et nous avons un tas de ces petits blocs de construction ici. Maintenant, si nous prenons un coup d'oeil à celui-ci par exemple, on appelle ça se lever. Et ce bloc dit se battre pour le maintenant, si il est assis ou que ce soit. Ensuite, nous voyons qu'il va dans tête tactile, qui, fondamentalement, attend un robinet au-dessus de sa tête comme vous avez vu précédemment. Déplacez à moyen déplacer en x, y, et z direction vers une destination spécifique. Poignée de main est un module que j'ai écrit, qui dit en gros, bonjour, David. Enchanté de faire votre connaissance. Attend une poignée de main. Asseyez-vous, c'est le contraire de se lever. Il va aller de l'avant et de s'asseoir. Et puis mouvement de la tête est une boucle par laquelle il va bouger sa tête dans des directions aléatoires. DAVID: Intéressant. Ainsi, même si ceux-ci ne semblent pas comme les pièces du puzzle à partir de zéro, c'est vraiment la même idée. Et vous êtes le câblage d'un programme l'utilisation de ces blocs de construction. COLTON OGDEN: Oui, exactement. DAVID: Vous avez dit que vous avez fait l'un d'eux, poignée de main. Pouvons-nous faire un zoom sur celle-ci? COLTON OGDEN: Bien sûr. Nous allons jeter un coup d'oeil ici à poignée de main. Et nous allons voir qu'il est mis en place très proche de l'autre diagramme d'écoulement. Nous commençons avec le bloc de bonjour, qui [inaudible] dit bonjour, David. Enchanté de faire votre connaissance. Ce droit est ici une boucle. Il dit, détecter les mouvements de bras. Ainsi, il sera dans un infini boucle d'attente jusqu'à ce que son bras a été soulevée de haut en bas. Et puis une fois que c'est arrivé, ça va aller de l'avant et faire ces choses. Réglez rigidité OK et passez à la fin, ce qui signifie fondamentalement renvoyez-le à sa position par défaut. DAVID: Intéressant. Êtes-vous limité à seulement utilisant cet environnement graphique lui programmer de cette manière? COLTON OGDEN: En fait, non. Si nous allons de l'avant et double-cliquez l'un de ces blocs de construction, nous pouvons voir qu'il ya effectivement code python sous le capot, la mise sous tension de chacun de ces blocs de construction. DAVID: Ah, bien. Donc, pour ceux qui ne connaissent, python est un langage interprété, très similaire dans l'esprit PHP, que nous utilisons dans CS50. Et bien comme vous pouvez utiliser PHP pour la programmation web, vous pouvez également l'utiliser en ligne de commande. Et comme Colton fait ici dans cet environnement graphique, écriture de programmes, puis transmettre via le Wi-Fi - COLTON OGDEN: C'est exact. DAVID: - à maintenant. Souhaitez-vous avoir une certaine temps de rester? COLTON OGDEN: Absolument. DAVID: Très bien. Eh bien, avant Colton revient avec nous pour un peu une surprise, nous maintenant - obtenir -? avez 60 secondes des anciens élèves CS50 auditionner pour devenir enseignant boursiers. [VIDEO LECTURE] -Merci. Merci à tous d'être ici. -Hé, Monsieur Lapin. -Bienvenue dans ce petit tutoriel sur - [Inaudible] amusement avec Twinkies. -Attendez. Arrêtez. -Alors maintenant, nous avons un problème. -Ce n'est pas. Et je vais vous dire pourquoi. -Une boucle est la répétition, comme - -Une sorte de boîte noire. -OK. Je pense que je comprends. -Très bien. Alors maintenant, je suis dans une partie peu dur. -C'est vrai. 8 bits font un octet. Vous prenez un octet et vous séparer en morceaux de quatre. -Bip, bip, bip, bip, bip. Bip, bip, bip, bip, bip. -Il semble trop compliqué. -Alors, faisons encore une fois. -Si je vous confonds, s'il vous plaît n'hésitez pas à m'arrêter. -Mais attendez une seconde. -Eh bien, regardons en arrière à la diapositive et briser les choses étape par étape. -Si vous vous souvenez, la mémoire est cassé en morceaux octets de taille. -Nous avons donc ici le meilleur des cas. -Il s'agit d'un considérable amélioration par rapport à - -Un navigateur Web, comme Chrome. -Il est toujours nécessaire de libérer tout - -Les gens - Vous pouvez courir à travers. Et le code peut obtenir un peu lourd. -Et c'est tout ce dont vous avez besoin. -Boom! DAVID: Maintenant CS50 propre Dan Coffey et moi avons récemment eu l'occasion de voyager à l'extérieur à Mountain View, en Californie, qui est l'endroit où la siège de Google est. Et nous avons eu la chance de discuter avec Susan Wojcicki, le PDG de YouTube. Il était en fait dans Susan Il ya garage ans dans les années 90 que Google lui-même était commencé par Larry Page et Sergey Brin. Eh bien, il s'avère que Susan elle a effectivement eu CS50 quelques années avant moi. Et je pense qu'il est frappant comme vous allez bientôt entendre à quel point beaucoup une introduction à l'ordinateur la science tellement influencé sa vie. Elle aimerait dire bonjour. SUSAN Wójcicki: Bonjour tout le monde. Je suis Susan Wojcicki. Je suis le chef de la direction de YouTube. Et j'ai pris CS50 quand j'étais une personne âgée à Harvard en 1990. J'étais en fait une histoire et la littérature majeure. Et mon été jeune je réalisé que peut-être je voulu apprendre quelque chose sur les ordinateurs. Et alors je suis revenue. J'ai pris CS50. C'était dur, mais c'était la classe la plus incroyable que j'ai pris. Il a changé la façon dont je pense à tout. Et quand je suis diplômé de Harvard en 1990, je suis allé à la Silicon Valley et j'ai obtenu un emploi. Et j'ai travaillé dans la technologie depuis. Donc CS50 a changé ma vie. Je continue à apprendre et à construire. Il m'a donné une base solide. Et je continue d'apprendre tous les jour que les changements technologiques. Et je pense que c'est merveilleux que vous êtes tous prendre parce que c'est la façon dont le monde est va changer à l'avenir. Il va juste être de plus en plus de possibilités et de l'innovation. Numérique va affecter notre vit encore plus que ce qu'il a déjà. Et c'est merveilleux que vous êtes tous de prendre CS50. C'est donc CS50. DAVID: Donc, si vous avez été à la recherche d'une nouvelle raison de ne pas utiliser un certain navigateur, voici une bonne pour vous. J'ai récemment reçu - avec tout le monde à l'Université de Harvard - cet e-mail ici. "Chers membres de la Communauté de Harvard. Le Department of Homeland Security des États-Unis recommande que tous les utilisateurs temporairement cesser l'utilisation de Microsoft Internet Explorer, IE, en raison d'une faille de sécurité critique ". Ceci est documenté fait en Avis de sécurité Microsoft 2963983. Une vulnérabilité dans Internet Explorer pourrait permettre l'exécution de code à distance. Maintenant, qu'est-ce que cela signifie et quelle est la menace? Eh bien, pensez à ceci diagramme ici, qui nous utiliser dans CS50 parler Le trafic HTTP ou Web. Si nous avons ici une bande serveur et de l'autre côté un navigateur - Internet Explorer dans ce cas - bien sûr, un navigateur lors de sa première demande une page Web pourrait envoyer un message HDP comme ça. GET index.HTML avec la version 1.1 du protocole appelé protocole HTTP. Or, dans ce cas, si un méchant a eu en quelque sorte accès à ce serveur web et sur lequel est installé un exploiter pour ainsi dire, il ou elle pourrait être en mesure de convaincre le serveur web pour retourner ce produit. Non seulement elle-même comme index.HTML demandé, mais intégré à l'intérieur de ce fichier index.html pourrait, Bien entendu, d'autres actifs. En particulier, quelque chose comme exploit.SWF, un fichier flash qui a finalement profite de ce titre technique, tas feng shui, qui est une façon élégante de dire que le code l'intérieur de ce que les pulvérisations de fichiers flash l' dite tas à l'intérieur de l'ordinateur de page, avec tous les différents morceaux de mémoire qui sont conçus en définitive écraser gros morceaux de la mémoire ici. Si vous vous souvenez de notre discussion de ce CS50 dans le tas et la pile et la gestion de mémoire de façon plus générale. Maintenant la mémoire qui est effectivement jeté sur le tas sont vraiment appelés objets vectoriels flash. Et c'est quelque chose avec que vous connaissez peut-être si vous vous aviez programmé flash avant. Mais un de ces objets, en particulier est connu comme un objet de son mémoire flash. Et c'est là que réside l'occasion car ce cet exploit procède alors à faire est corrompu ce morceau de mémoire, cet objet en mémoire, telle qu'elle essaie de faire ce adresse hexadécimale exécutable, ce qui essayer de tromper le programme en fin de compte à l'exécution du code shell si de parler, ou le code de méchant, c'est finalement stocké à cette adresse ici, qui a été injecté par voie de téléchargement sans le savoir, ce fichier flash particulier. Maintenant, le résultat final pourrait être tout ce que l' adversaire veut faire à votre ordinateur. Il ou elle pourrait supprimer vos fichiers, déplacer vos fichiers, envoyer vos fichiers, ou vraiment faire quelque chose que vous vous pourraient faire en tant que propriétaire de cet ordinateur. Et c'est pourquoi la menace est si effrayant. Il permet vraiment n'importe qui sur la Internet dont le site vous peut visiter à exécuter arbitraire programmes sur votre ordinateur. Maintenant, heureusement, Microsoft très récemment publié un correctif pour ce parce que le problème effectivement affligés Internet Explorer 6 sur toute la hauteur à 11. Donc ça a été avec nous pendant un certain temps et a été découvert que récemment. Donc si vous avez des mises à jour automatiques activée, vous devriez être OK bientôt. Mais juste pour être sûr, vous pourriez sûrement passer à un autre navigateur au moins dans l'intervalle. Or, il s'avère aussi que Microsoft très généreusement également publié un correctif pour Windows XP, une ancienne version de Windows pour lequel soutien a été fait officiellement arrêté il ya quelques semaines, mais cette menace était si mauvais qu'ils également déployé un correctif pour ce système d'exploitation ainsi. Or, dans les autres nouvelles de cette semaine était la suivante. L'Atari 2600, un jeu plus console que mon cousin avait effectivement de plus en plus sur ce qui nous avons utilisé pour jouer à des jeux vidéo lorsque nous allions visiter leur maison. Maintenant, en tout cas, pourquoi il en était dans le nouvelles était pour la raison suivante. Retour dans les années 80, l'entreprise derrière ce dispositif, Atari, décidé d'enterrer dans un décharge au Nouveau-Mexique tout un tas de vieux jeux et manuels d'instructions et ainsi de suite qui serait autrement, aurait fait invendus. Maintenant avec le temps, l'enterrement de ces jeux deviennent un peu un mythe urbain. Les gens ne savent pas vraiment à coup sûr si ce qui s'était réellement passé, même si, en tant que mythe est allé, la société avaient même versé une couche de béton au-dessus de tout dans le décharge pour empêcher les enfants de fait bruissant à travers elle, en essayant de trouver des jeux vidéo gratuits. Eh bien, il s'avère que d'un documentaire est actuellement en cours maintenant en 2014. Et une équipe de pelles a essayé de déterrer la vérité derrière cette histoire si c'est bien là. Et devinez ce qu'ils ont trouvé? Eh bien, pas exactement ce type, mais des milliers de copies de son jeu, qui a été publié coïncide avec la sortie de la film, E.T. L'extraterrestre. Donc, en effet, seulement dans les derniers jours des dizaines et des centaines sinon des milliers en fin de compte de ces cartouches commencent à être mis au jour. Maintenant, pourquoi ont-ils enterrer comme un jeu clairement convaincant? Eh bien, il s'avère que E.T. est effectivement réputé par beaucoup comme le pire jeu vidéo jamais. En partie, parce qu'ils avaient si peu de temps à développer le jeu avant que notamment la saison de Noël, mais aussi parce qu'il était particulièrement difficile à jouer. Ceci, bien sûr, pose la question, pouvons-nous voir? Oui, nous le pouvons. Jetons un coup d'oeil. [Les jeux vidéo] Maintenant, il n'était pas vraiment le graphiques que les gens ont eu objection à raison, en effet, ce sont les années 80 et ce n'était l'état de la technique. En effet, ce fut mon enfance ici. Mais ce qui était difficile sur ce jeu était, un, vous aviez un film ET autour l'écran, à la recherche pour ces petits pixels, ce qui représenté Pièces de Reese. Mais le hic est que trop si vous tombiez dans ces formes de diamants les plus sombres, vous tomberiez dans un Pit qui était en fait très difficile et fastidieux de sortir. Ainsi fut donc enterré ET. Maintenant aussi dans le désert de était tard ce ici dans le Wyoming. Une nucléaire, à ne pas confondre avec [? nucular,?] centre de contrôle. Et en fait, si vous regardez en bas il en dessous du béton près de ce pôle blanc, il ya en fait un missile Minuteman III, un missile nucléaire, qui est en fait protégé par une technologie qui est pas aussi moderne que vous pourriez espérer. Une émission de télévision américaine, 60 Minutes, a récemment révélé cela. [VIDEO LECTURE] -Mais le matériel est ancien. C'est, par exemple, est l'un des ordinateurs qui recevraient un lancement ordre du président. Il utilise des disquettes. Les très vieux, grands. Avant vous avez ici, vous n'avait probablement jamais vu? Je n'avais jamais vu-un jusqu'à ce que Je suis descendu dans ce trou. [LECTURE VIDEO FIN] Maintenant, si vous pensez vous avez vu ces disques, les 5 et 1/4-inch disques partir des années 1980, uh-uh. Il s'agit d'une disquette 8 pouces disque depuis les années 1970. Maintenant propre Dan Coffey CS50 et j'ai eu aussi l'occasion pour se rendre à Seattle, Washington a récemment où nous avons visité nos amis chez Valve. En fait, vous souvenez peut-être 60 secondes de moi porter ces lunettes de réalité virtuelle. Maintenant, nous avons également eu l'occasion de discuter avec trois des ingénieurs de Valve qui nous a parlé de ce que c'est que de travailler chez Valve, mais mieux encore, que c'est souhaite développer des jeux vidéo. Jetons un coup d'oeil. [VIDEO LECTURE] [Les jeux vidéo] -Mon nom est Brian Jacobson. J'ai fait mon chemin à Valve type de dans un chemin un peu tortueux. Je n'étais pas en fait un ordinateur programmeur au collège. Et j'avais l'habitude de sauvegarder au lycée être en mesure de faire de la programmation et obtenir substance de l'idée à la mise en œuvre en quelques minutes ou quelques heures. J'ai apprécié que le rythme rapide du développement et de voir mes idées prendre vie. -Mon nom est Yahn Bernier. Je suis ici chez Valve depuis plus de 16 ans. J'ai donc fini par écrire juste pour plaisir d'un éditeur de niveau pour Quake BSP appelé, sur la base binaire arbres espace de partitionnement. C'était en quelque sorte de l'entrée. Et finalement, Gabe Newell, qui était le fondateur de Valve, et Mike Harrington m'a envoyé un logiciel disant email opportunité de développement de l'ingénieur. -Mon nom est John Cook. Je suis un ingénieur en logiciel travailler chez Valve. Je me concentre sur nos systèmes en ligne, mise à l'échelle, et de l'architecture. Un ami et moi effectivement à l'université étaient travailler sur un jeu appelé Team Fortress. Et nous venons de faire le jeu, mettre en place sur l'Internet. Il s'agissait d'une addition à la jeu, Quake, à l'époque. Donc, il était une sorte de moderne extension de ce match. Après cela, nous nous sommes retrouvés entrer en contact avec Valve et venir ici. -Eh bien, pour moi, la classe graphique était probablement la solution la plus applicable que j'ai pris au collège pour vous. Trigonométrie, algèbre linéaire. J'ai pris un cours de robotique qui a eu un groupe de l'algèbre linéaire type de four en elle, et c'est l'une des clé de voûte concepts mathématiques pour les graphiques 3D. Il s'agit de l'orientation et de faire la mathématiques de comme, je suis à la recherche sur de vous, mais je veux viser là-bas. Et comment puis-je tourner et comment puis-je comprendre où je me déplace ou à la recherche. C'est tout ce que l'algèbre linéaire. -L'essence d'un jeu de tir à la première personne c'est que je regarde à travers les sites d'armes à feu avec mes yeux et à but quelque chose et tirer sur la gâchette et je veux frapper que. Donc, vous devez concevoir votre la technologie pour faire face à la latence. Et si John Carmack est retourné et dit, oh, ce que je dois faire est de prévoir sur le client la entraîner les entrées de mon lecteur, et juste le faire et rendre d'où nous pense qu'il va être et laissez- le serveur revient et fixent pour moi. -Alors, quand vous pensez à l'aide d'un moteur de jeu pour faire un jeu, il ya beaucoup plus d'options maintenant. -Un moteur de jeu est une sorte de l'infrastructure dans laquelle vous faites le jeu. C'est la chose responsable de dessin le monde, pour simuler le monde, pour jouer tous les sons, pour aider votre code de jeu comprendre ce que l'ennemi IA vont aller faire. -Habituellement, la façon dont les gens commenceraient est ils prendraient une certaine quantité de cette logique et le modifier. Comme, OK, maintenant nous allons simplement changer le lanceur de fusée faire 200 points de dégâts à la place de faire 100 points de dégâts. C'est très simple, comme, il suffit de prendre un morceau de logique de jeu existant et ajuster à la façon dont vous le souhaitez. L'autre-couche de niveau plus élevé est généralement appelé code de jeu. Et le code du jeu est généralement le chose qui est tout au sujet des règles du jeu. Comme le fait que je n'ai cette arme et il fonctionne d'une manière particulière. Ou le fait qu'il n'y a un monstre de headcrab que a ces comportements particuliers. Ces sortes de choses sont généralement à trouver que le code du jeu. -Et à partir de là, vraiment, avec ceux type de pièces et le processus de l'itération, vous pouvez aller de quelque chose comme Quake à quelque chose comme Half-Life. -Half-Life est un film de science-fiction, la première personne jeu de tir. Il est situé dans un monde dystopique. Le premier Half-Life a été mis en ce centre de recherche souterrain appelé Black Mesa. Et vous avez joué un caractère du nom de Gordon Freeman. Et c'est essentiellement sur une invasion extraterrestre qui a été provoqué quand une expérience qui a mal tourné. Et le deuxième jeu, Half-Life 2, a été mis environ 10 ans plus tard, et fondamentalement, les étrangers avait repris la planète. Et maintenant, vous en tant que Gordon Freeman eu à sauver l'essentiel votre ami, Alex, qui que vous rencontrez. Et essayer de repousser l' étrangers et récupérer la planète. -Certes, des projets comme Portal 2, c'était juste une petite équipe, cinq personnes travailler sur une idée de jeu. Ils ont trouvé des choses qu'ils pensée étaient intéressantes, pourrait être intéressant pour un match. Ils ont élargi à 20 personnes. Ils étoffés ces idées. Vous avez ajouté un peu plus de gens. Ils sont comme, OK, et maintenant nous vouloir expédier sur trois consoles. Nous avons besoin de beaucoup plus de gens. Comme tout le monde, venez regarder ce match. C'est génial. Il a juste besoin d'un tas de travailler à se faire. Donc, tout à coup vous avez moitié de la société de travail, vous avez 120 personnes qui travaillent sur ce jeu pour le faire. Évidemment, le nombre de projets ailleurs contrats, mais tout le monde est super heureux parce qu'ils savent ils travaillent sur ce chose qui est vraiment génial. -Un des très grandes choses au sujet ce travail et cette industrie en général c'est que les choses changent tout le temps. La seule chose que vous êtes faire cette année va d'être très difficile à partir de la chose que vous faites de la prochaine année. Et il garde tout vraiment frais, en fait, et très excitant. Vous êtes constamment apprendre de nouvelles choses et faire de nouvelles sortes de choses. [LECTURE VIDEO FIN] DAVID: C'est tout pour CS50LIVE. Merci beaucoup à ce Les collaborateurs de la semaine. Merci beaucoup à propre Colton CS50 Ogden et l'équipe derrière la caméra. C'était CS50. [MUSIQUE - LOS DEL RIO, "MACARENA"]