>> [Música tocando]
EMPRESA: Olá, mundo.
Este é CS50LIVE.
Temos um bom episódio como para você.
O CEO do YouTube, um bug no Internet Explorer,
o pior jogo de vídeo que nunca, e uma viagem de campo para a Valve Software.
Mas, primeiro, uma viagem para Tóquio, no Japão onde o presidente Obama recentemente desempenhou
futebol com um grande amigo meu.
>> [REPRODUÇÃO]
-Wow.
Ele está se movendo.
>> -Eu posso chutar uma bola de futebol também.
Aqui vou eu.
>> -Ei, bom trabalho.
>> [FIM REPRODUÇÃO DE VÍDEO]
DAVID: Olá, mundo.
Estou aqui com o próprio Colton Ogden do CS50.
>> COLTON OGDEN: Olá, pessoal.
>> DAVID: E quem mais o que fazemos tem com a gente aqui hoje?
>> COLTON OGDEN: Esta é agora, a nossa amiguinho robótico da França.
DAVID: Então, eu realmente conheci NO juntamente com [? Rob Boden?]
quando ele e eu estávamos em Atlanta, Georgia algumas semanas atrás
como você pode recordar a SIGCSE, o interesse especial
Grupo de Ciências da Educação Computer, onde literalmente andando
o chão da sala de conferência foi esse cara.
Bem, como se vê, quando voltamos para o campus
descobrimos que o professor [Inaudível] do Laboratório de Robótica da Universidade de Harvard
realmente tinha uma Agora, aqui no campus.
E ela gentilmente nos permitiu programar-lo para você hoje.
COLTON OGDEN: Sim, e na verdade, David, Eu acho que agora quer dizer Olá a você
se você quer andar em torno da mesa aqui.
>> DAVID: Bem aqui?
Tudo bem.
>> EMPRESA: Olá, David.
Prazer em conhecê lo.
>> DAVID: Olá, agora.
Agite sua mão?
>> COLTON OGDEN: Agitar a mão para cima e para baixo.
>> DAVID: OK.
>> COLTON OGDEN: E depois ele vai ir em frente e se sentar.
E se você estiver interessado, Eu posso realmente mostrar-lhe
como eu era capaz de levá-lo para fazer todas essas coisas também.
>> DAVID: Sim, absolutamente.
>> COLTON OGDEN: Ele é um pouco off equilibrar esta manhã.
Ele não teve seu café ainda.
DAVID: Então, o que é isso que estamos vendo?
COLTON OGDEN: Então, nós estamos olhando para aqui é um gráfico do núcleo, que é agora
um ambiente de programação gráfica, o que é muito semelhante ao arranhões
CS50 que usa.
Aqui vemos que é criado -se como um diagrama de fluxo.
E nós temos um grupo destes pequenos blocos de construção aqui.
Agora, se vamos dar uma olhada em um presente por exemplo, é chamado de stand-up.
E este bloco diz levantar-se para o Agora, se ele está sentado
ou o que seja.
>> Então nós vemos ele vai para cabeça tátil, que basicamente
espera por um toque em cima de a cabeça, como você viu anteriormente.
Mover a meios mover-se em um x, y, e z direcção a um destino específico.
Aperto de mão é um módulo que eu escrevi, que basicamente diz: Olá, David.
Prazer em conhecê lo.
Espera por um aperto de mão.
Sente-se é o oposto de ficar de pé.
Ele vai ir em frente e se sentar.
E então, o movimento da cabeça é um circuito em que ele
moverá a cabeça em direções aleatórias.
>> DAVID: Interessante.
Assim, mesmo que estes não olhe como as peças de quebra-cabeça a partir do zero,
é realmente a mesma idéia.
E você está a fiação de um programa usando esses blocos de construção.
>> COLTON OGDEN: Sim, exatamente.
>> DAVID: Então você disse que fez um deles, aperto de mão.
Podemos ampliar esse?
>> COLTON OGDEN: Claro.
Vamos dar uma olhada aqui no aperto de mão.
E veremos que é criado muito semelhante ao outro diagrama de fluxo.
Começamos com o bloco Olá, que [inaudível] diz: Olá, David.
Prazer em conhecê lo.
Este aqui é um loop.
Diz, detectar o movimento do braço.
Por isso vai em um infinito espera loop até que seu braço
foi levantada cima e para baixo.
E, em seguida, uma vez que aconteceu, ele vai ir em frente e fazer essas coisas.
Definir rigidez OK e vá para a final, o que basicamente significa mandá-lo de volta
à sua posição padrão.
DAVID: Interessante.
Você está restrito a apenas usando este ambiente gráfico
programar-lo dessa forma?
>> COLTON OGDEN: Na verdade, não.
Se formos em frente e dê um clique duplo qualquer destes blocos de construção,
podemos ver que há realmente código python debaixo do capô,
ligar cada um destes blocos de construção.
>> DAVID: Ah, é verdade.
Então, para quem não conhece, python é uma linguagem interpretada,
muito similares em espírito à PHP, que usamos em CS50.
E assim como você pode usar PHP para programação web,
você também pode usá-lo na linha de comando.
E como Colton está fazendo aqui neste ambiente gráfico,
escrever programas e, em seguida, transmiti-lo via Wi-Fi -
COLTON OGDEN: Correto.
DAVID: - para agora.
Será que você tem algum tempo para ficar por aqui?
>> COLTON OGDEN: Absolutamente.
>> DAVID: Certo.
Bem, antes de Colton volta com nos para um pouco de uma surpresa,
agora - obtê-lo - tem 60 segundos dos ex-alunos CS50 audições
para se tornar o ensino companheiros.
[REPRODUÇÃO]
-Obrigado.
Obrigado a todos por estarem aqui.
>> -Ei, o Sr. Coelho.
>> -Bem-vindo a este tutorial on -
>> [Inaudível] divertir com bolinhos.
-Espere.
Pare.
>> -Então agora nós temos um problema.
-Não é.
E eu vou dizer por quê.
-A malha é a repetição, como -
>> -Uma espécie de caixa preta.
>> -OK.
Eu acho que eu entendo.
-Tudo bem.
Então agora eu estou em uma parte um pouco difícil.
>> -Isso mesmo.
8 bits formam um byte.
>> -Você toma um byte e você separá-lo em pedaços de quatro.
>> -Bip, bip, bip, bip, bip.
Bip, bip, bip, bip, bip.
>> -Parece muito complicado.
>> -Então, vamos fazer isso de novo.
>> -Se eu confundi-lo, por favor fique à vontade para me parar.
>> -Mas, espere um segundo.
>> -Bem, vamos olhar para trás, o slide e quebrar as coisas passo a passo.
>> -Se você se lembrar, a memória é quebrado em pedaços de bytes de tamanho.
>> -Então aqui nós temos o melhor cenário.
>> -Esta é uma considerável melhoria em relação -
>> -A navegador, como o Chrome.
>> -É sempre necessário para liberar qualquer -
-Pessoas -
-Você pode deparar.
E o código pode ficar um pouco pesado.
>> -E isso é tudo que você precisa.
>> -Boom!
>> DAVID: Agora CS50 própria Dan Coffey e eu recentemente
teve a oportunidade de viajar para fora para Mountain View, Califórnia,
que é onde o sede do Google é.
E nós tivemos a chance de conversar com Susan Wojcicki, o CEO do YouTube.
Na verdade, foi em Susan anos atrás, na garagem dos anos 90
que o próprio Google foi iniciado por Larry e Sergey.
>> Bem, acontece que Susan si mesma, na verdade, levou CS50
apenas alguns anos antes de mim.
E eu acho que é impressionante como em breve você vai ouvir o quão
tanto uma introdução ao computador ciência tão influenciado sua vida.
Ela gostaria de dizer Olá.
SUSAN Wojcicki: Olá, mundo.
Estou Susan Wojcicki.
Eu sou o CEO do YouTube.
E tomei CS50 quando eu era um sénior na Universidade de Harvard em 1990.
>> Eu era realmente uma história e literatura major.
E o meu júnior verão I percebi que talvez eu
queria aprender algo sobre computadores.
E assim voltei.
Tomei CS50.
Foi difícil, mas foi o classe mais incrível que eu tomei.
Ele mudou a forma como eu penso sobre tudo.
>> E quando eu me formei em Harvard em 1990, fui para o Vale do Silício
e eu tenho um emprego.
E eu tenho trabalhado em tecnologia desde então.
Então CS50 mudou minha vida.
Eu continuo a aprender e construir.
Ele me deu uma grande fundação.
E eu estou continuando a aprender cada dia, como as mudanças de tecnologia.
>> E eu acho que é maravilhoso que está tudo de tomá-lo
porque é assim que o mundo é vai mudar daqui para frente.
Não só vai ser mais e mais oportunidade e inovação.
Digital vai afetar nossa vive ainda mais do que já tem.
E é maravilhoso que você está tomando todas CS50.
Portanto, esta é CS50.
>> DAVID: Então, se você foi procurando um novo motivo
não usar um determinado navegador, aqui é boa para você.
Eu recebi recentemente - juntamente com todos os
na Universidade de Harvard - este e-mail aqui.
>> "Queridos Membros da Comunidade de Harvard.
O Departamento de Segurança Interna dos EUA recomenda que todos os usuários temporariamente
descontinuar o uso de Microsoft Internet Explorer, o IE,
devido a uma falha de segurança crítica. "
>> Isto é documentado na verdade em Microsoft Security Advisory 2963983.
Vulnerabilidade no Internet Explorer pode permitir a execução remota de código.
Agora, o que isso significa e qual é a ameaça?
Bem, considere esta diagrama aqui, que nós
usar em CS50 para falar sobre HTTP ou tráfego web.
Se temos aqui uma web servidor e, por outro lado
um browser - Internet Explorer neste caso - de curso,
um navegador quando se primeiro solicita uma página web
pode enviar uma mensagem HDP assim.
GET index.html usando a versão 1.1 do protocolo conhecido como HTTP.
>> Agora, neste caso, se um bandido tem de alguma forma teve acesso a este servidor web
e instalado um explorar, por assim dizer,
ele ou ela pode ser capaz de convencer o servidor web para retornar isso.
Não só se como index.html solicitado, mas incorporado dentro
desse arquivo index.html poderia, é claro, outros ativos.
Em particular, algo como exploit.SWF,
um arquivo flash que, finalmente, aproveita essa segurança
técnica, montão feng shui, que é uma maneira elegante de dizer que o código
Dentro dessa sprays de arquivos flash do chamado pilha no interior do computador do
navegador com todos os pedaços de diferentes memória que são projetados em última análise,
para substituir grandes pedaços de memória aqui.
>> Se você se lembrar isto de nossa discussão em CS50 da pilha ea pilha
e gerenciamento de memória em geral.
Agora, a memória que é realmente jogado na pilha
são realmente chamados objetos vetoriais em flash.
E isso é algo com que você pode estar familiarizado
se você mesmo tivesse programado o Flash antes.
Mas um desses objetos, em particular é conhecido como um objeto de som de mídia flash.
>> E aqui reside uma oportunidade porque o que esta façanha então começa a fazer
é corrupto este pedaço de memória, este objeto na memória,
de tal forma que ele tenta fazer isso executável endereço hexadecimal, assim
tentando enganar o programa, em última instância para a execução de algum código shell assim
para falar, ou o código de má cara, isso é em última análise, armazenados neste endereço aqui,
que foi injetado por meio de download sem saber que arquivo flash particular.
>> Agora, o resultado final poderia ser qualquer que seja o adversário quer fazer para o seu computador.
Ele ou ela pode apagar seus arquivos, mover seus arquivos, e-mail seus arquivos,
ou realmente fazer alguma coisa que você mesmo poderia fazer como o proprietário do computador.
E é por isso que a ameaça é tão assustador.
Ele permite verdadeiramente qualquer pessoa na internet cujo site você
podem visitar para executar arbitrária programas em seu computador.
>> Agora, felizmente, muito Microsoft recentemente lançou uma correção para esse
porque o problema realmente aflitos Internet Explorer 6
todo o caminho até a 11.
Por isso, tem estado conosco por algum tempo e só recentemente foi descoberto.
Então se você tem as atualizações automáticas ativado, você deve estar OK em breve.
Mas apenas para ser seguro, você poderia certamente mudar para outro navegador, pelo menos
no mesmo período.
>> Agora verifica-se, também, que Microsoft muito generosamente
também lançou uma correção para o Windows XP, uma versão anterior do Windows para o qual
apoio foi realmente oficialmente interrompido apenas algumas semanas atrás,
mas esta ameaça era tão ruim que eles também lançou uma correção para que o OS
bem.
>> Agora, em outra notícia desta semana foi isso.
O Atari 2600, um jogo mais antigo console que um primo meu
realmente tinha crescendo em que estamos habituados a jogar jogos de vídeo quando
iríamos visitar sua casa.
Agora, em qualquer caso, por que esta estava na notícia foi pelo seguinte motivo.
Nos anos 80, a empresa por trás deste dispositivo, Atari,
decidiu enterrar em um aterro sanitário, no Novo México
um monte de jogos antigos e manuais de instrução
e semelhantes que faria caso contrário, ter ido por vender.
>> Agora com o tempo, o enterro deles jogos tornam-se um pouco de um mito urbano.
As pessoas realmente não sei ao certo se isso tivesse realmente acontecido, mesmo
porém, como mito foi, a empresa tinha sequer derramou uma camada de concreto
em cima de tudo no aterro para evitar que as crianças
de realmente farfalhando através dele, tentando encontrar jogos de vídeo livres.
Bem, acontece que um documentário está em andamento agora em 2014.
E uma equipe de escavadores tem tentado para desenterrar a verdade por trás desta história
se é de fato lá.
>> E adivinha o que encontraram?
Bem, não exatamente este cara, mas milhares
de cópias de seu jogo, que foi lançado
coincidente com o lançamento do filme, E.T. O Extraterrestre.
Então, na verdade, apenas nos últimos dias dezenas e centenas, senão milhares
em última análise desses cartuchos estão começando a ser descobertos.
>> Agora, por que eles enterrar tal um jogo claramente convincente?
Bem, acontece que E.T. é realmente a fama
por muitos como o pior jogo de vídeo que nunca.
Em parte, porque eles tinham tão pouco tempo para desenvolver
o jogo antes que especial época do Natal,
mas também porque era particularmente difícil de jogar.
Isso, é claro, levanta a pergunta, podemos vê-lo?
Sim, nós podemos.
Vamos dar uma olhada.
[Jogando vídeo game]
Agora não era realmente o gráficos que as pessoas tomaram objeção
a, porque, na verdade, isso foi nos anos 80 e este era o estado da arte.
Na verdade, esta foi a minha infância aqui.
Mas o que era difícil sobre este jogo era, um,
você tinha um filme ET em torno a tela, olhando
para os pequenos pixels, o que representado Pieces de Reese.
Mas o problema também é que se você caiu para essas formas de diamante mais escuras,
você cair em um cova, que era, na verdade
muito difícil e tedioso para sair.
Então, assim, foi sepultado ET.
>> Agora também no deserto do final foi este aqui em Wyoming.
Um nuclear, não deve ser confundida com [? nucular,?] centro de controle.
E, na verdade, se você olhar para baixo existe sob o betão
perto deste pólo branco, não há na verdade um míssil Minuteman III,
um míssil nuclear, que é realmente protegido por uma tecnologia que é
não tão moderno como você poderia esperar.
Um programa de TV americano, 60 Minutos, revelou recentemente esta.
[REPRODUÇÃO]
-Mas o equipamento é antiga.
Isto, por exemplo, é um dos computadores que
iria receber um lançamento solicitar ao presidente.
Ele usa disquetes.
Os realmente velhos, grandes.
Antes de chegar aqui, você provavelmente, nunca tinha visto um?
>> -Eu nunca vi um até Eu tenho dentro deste buraco.
>> [FIM REPRODUÇÃO DE VÍDEO]
>> Agora, se você está pensando você já viu esses discos,
os 5 e 1/4-inch discos da década de 1980, uh-uh.
Este é um disquete de 8 polegadas disco da década de 1970.
Agora do CS50 próprio Dan Coffey e eu também tinha uma oportunidade
viajar para Seattle, Washington recentemente onde
visitamos nossos amigos na Valve.
Na verdade, você deve se lembrar de 60 segundos de me usando aqueles óculos de realidade virtual.
>> Agora nós também tivemos a oportunidade de conversar com três dos engenheiros da Valve
que nos falou sobre o que como é trabalhar na Valve,
mas melhor ainda, o que é gostaria de desenvolver jogos de vídeo.
Vamos dar uma olhada.
>> [REPRODUÇÃO]
>> [Jogando vídeo game]
-Meu nome é Brian Jacobson.
Eu fiz meu caminho para Válvula tipo de num percurso ligeiramente sinuosa.
Eu não era realmente um computador programador na faculdade.
E eu fui usado para fazer em ser o ensino médio
capaz de fazer a programação e obter coisas da ideia à implementação
em apenas alguns minutos ou horas.
Eu gostava que o ritmo acelerado de desenvolvimento e vendo as minhas idéias ganham vida.
>> -Meu nome é Yahn Bernier.
Estive aqui na Valve há mais de 16 anos.
Então acabei escrevendo apenas para divertir um editor de níveis para Quake
chamado BSP, com base no binário árvores de particionamento do espaço.
Isso era uma espécie de entrada.
E, eventualmente, Gabe Newell, que era o fundador da Valve, e Mike Harrington
enviou-me um e-mail dizendo software desenvolvimento oportunidade engenheiro.
-Meu nome é John Cook.
Eu sou um engenheiro de software trabalhando na Valve.
Concentro-me em nossos sistemas on-line, dimensionamento, e arquitetura.
>> Um amigo e eu realmente na universidade foram
trabalhando em um jogo chamado Team Fortress.
E nós só fez o jogo, colocá-lo na internet.
Foi uma adição ao jogo, terramoto, no momento.
Por isso, foi uma espécie de moderno extensão desse jogo.
Depois disso, nós acabamos entrar em contato com a Valve
e vindo para cá.
>> -Bem, para mim a classe gráfica foi provavelmente o curso mais aplicável
que eu tirei na faculdade, com certeza.
Trigonometria, álgebra linear.
Fiz um curso de robótica que tinha um monte de tipo de álgebra linear de cozido
para ele, e que é uma das Keystone conceitos de matemática para todos os gráficos 3D.
É tudo uma questão de orientação e fazendo a matemática de como, eu estou olhando para você,
mas eu quero apontar para lá.
E como faço para rodar e como eu descobrir onde eu estou indo ou olhando.
Isso é tudo álgebra linear.
>> -A essência de um jogo de tiro em primeira pessoa é que eu olho através dos sites de arma
com os meus olhos e visam algo e puxar o gatilho
e eu quero bater isso.
Então você tem que criar o seu A tecnologia para lidar com a latência.
E assim John Carmack voltou e disse: oh, o que eu preciso fazer
é prever no cliente a resultar entradas do meu jogador,
e apenas fazer isso e tornar de onde nós
acho que ele vai ser e depois deixá o servidor voltar e corrigi-lo para mim.
>> -Então, quando você está pensando em usando um motor de jogo para fazer um jogo,
há muito mais opções agora.
>> -Um motor de jogo é uma espécie da infra-estrutura
em que você faz no jogo.
É a coisa responsável por desenho do mundo, para simular o mundo,
para jogar todos os sons, para ajudar seu código do jogo
descobrir o que o inimigo AIs estão indo para ir fazer.
>> -Geralmente, a maneira como as pessoas começariam é que levaria uma certa quantidade de que a lógica
e alterá-lo.
Tipo, OK, agora vamos apenas mudar o lançador de foguetes
fazer 200 de dano em vez de fazer 100 de dano.
É uma forma muito simples, como, basta levar alguma peça existente da lógica gameplay
e ajustá-lo à forma como você gosta.
>> -A outra camada de alto nível é geralmente chamado de código do jogo.
E o código do jogo é geralmente o coisa que é tudo sobre as regras do jogo.
Como o fato de que eu tenho esta arma particular
e funciona de uma maneira particular.
Ou o fato de que não há um monstro que headcrab
tem estes comportamentos particulares.
Esses tipos de coisas são tipicamente de encontrar como código do jogo.
>> -E a partir daí, de verdade, com os tipo de peças e processo de iteração,
você pode ir de algo como Quake para algo como Half-Life.
>> -Half-Life é um sci-fi, jogo de tiro em primeira pessoa.
É ambientado em um mundo distópico.
O primeiro Half-Life foi criado em esta facilidade de pesquisa no subsolo
chamado Black Mesa.
E você teve um caráter chamado Gordon Freeman.
E foi basicamente sobre uma invasão alienígena
que foi provocado quando um experimento deu errado.
>> E o segundo jogo, Half-Life 2, foi ajustado a cerca de 10 anos mais tarde,
e, basicamente, os alienígenas tinha tomado todo o planeta.
E agora você, como Gordon Freeman teve que resgatar basicamente
seu amigo, Alex, que você se encontra.
E tentar derrotar o alienígenas e recuperar o planeta.
>> -Certamente, projetos como Portal 2, que era apenas
uma pequena equipe, cinco pessoas trabalhando em uma idéia do jogo.
Eles encontraram algumas coisas que eles pensamento eram interessantes,
poderia ser interessante para um jogo.
Eles se expandiu para 20 pessoas.
Eles concretizados essas idéias.
Você adicionou mais algumas pessoas.
>> Eles são como, OK, e agora nós quer enviar em três consoles.
Precisamos de muito mais pessoas.
Como todo mundo, venha olhar para este jogo.
É impressionante.
Ele só precisa de um bando de trabalhar para ficar pronto.
Então de repente você tem metade da empresa de trabalho,
você tem 120 pessoas trabalhando neste jogo para fazê-lo.
Obviamente, o número de projetos em outros lugares contratos,
mas todo mundo é super feliz, porque eles sabem
eles estão trabalhando neste coisa que é realmente incrível.
>> -Um dos realmente grandes coisas sobre este trabalho e esta indústria, em geral,
é que as coisas mudam o tempo todo.
A única coisa que você está fazendo este ano vai
ser muito difícil a partir do coisa que você faz no próximo ano.
E assim mantém tudo realmente fresca, na verdade, e muito emocionante.
Você está aprendendo continuamente novo coisas e fazendo novos tipos de coisas.
[FIM REPRODUÇÃO DE VÍDEO]
DAVID: Isso é tudo para CS50LIVE.
Muito obrigado a este contribuintes de semana.
Muito obrigado a própria Colton do CS50 Ogden ea equipe por trás das câmeras.
Este foi CS50.
>> [MUSIC - LOS DEL RIO, "Macarena"]