1 00:00:00,000 --> 00:00:00,625 >> [Música tocando] 2 00:00:00,625 --> 00:00:11,341 3 00:00:11,341 --> 00:00:12,090 EMPRESA: Olá, mundo. 4 00:00:12,090 --> 00:00:14,330 Este é CS50LIVE. 5 00:00:14,330 --> 00:00:17,792 Temos um bom episódio como para você. 6 00:00:17,792 --> 00:00:22,110 O CEO do YouTube, um bug no Internet Explorer, 7 00:00:22,110 --> 00:00:26,750 o pior jogo de vídeo que nunca, e uma viagem de campo para a Valve Software. 8 00:00:26,750 --> 00:00:33,040 Mas, primeiro, uma viagem para Tóquio, no Japão onde o presidente Obama recentemente desempenhou 9 00:00:33,040 --> 00:00:36,066 futebol com um grande amigo meu. 10 00:00:36,066 --> 00:00:37,050 >> [REPRODUÇÃO] 11 00:00:37,050 --> 00:00:43,930 12 00:00:43,930 --> 00:00:44,430 -Wow. 13 00:00:44,430 --> 00:00:45,414 Ele está se movendo. 14 00:00:45,414 --> 00:00:47,382 >> -Eu posso chutar uma bola de futebol também. 15 00:00:47,382 --> 00:00:49,842 Aqui vou eu. 16 00:00:49,842 --> 00:00:53,286 >> -Ei, bom trabalho. 17 00:00:53,286 --> 00:00:54,687 >> [FIM REPRODUÇÃO DE VÍDEO] 18 00:00:54,687 --> 00:00:55,520 DAVID: Olá, mundo. 19 00:00:55,520 --> 00:00:57,110 Estou aqui com o próprio Colton Ogden do CS50. 20 00:00:57,110 --> 00:00:58,430 >> COLTON OGDEN: Olá, pessoal. 21 00:00:58,430 --> 00:00:59,940 >> DAVID: E quem mais o que fazemos tem com a gente aqui hoje? 22 00:00:59,940 --> 00:01:02,606 >> COLTON OGDEN: Esta é agora, a nossa amiguinho robótico da França. 23 00:01:02,606 --> 00:01:05,299 DAVID: Então, eu realmente conheci NO juntamente com [? Rob Boden?] 24 00:01:05,299 --> 00:01:07,590 quando ele e eu estávamos em Atlanta, Georgia algumas semanas atrás 25 00:01:07,590 --> 00:01:09,890 como você pode recordar a SIGCSE, o interesse especial 26 00:01:09,890 --> 00:01:12,940 Grupo de Ciências da Educação Computer, onde literalmente andando 27 00:01:12,940 --> 00:01:14,919 o chão da sala de conferência foi esse cara. 28 00:01:14,919 --> 00:01:16,960 Bem, como se vê, quando voltamos para o campus 29 00:01:16,960 --> 00:01:20,360 descobrimos que o professor [Inaudível] do Laboratório de Robótica da Universidade de Harvard 30 00:01:20,360 --> 00:01:22,220 realmente tinha uma Agora, aqui no campus. 31 00:01:22,220 --> 00:01:24,742 E ela gentilmente nos permitiu programar-lo para você hoje. 32 00:01:24,742 --> 00:01:27,950 COLTON OGDEN: Sim, e na verdade, David, Eu acho que agora quer dizer Olá a você 33 00:01:27,950 --> 00:01:30,450 se você quer andar em torno da mesa aqui. 34 00:01:30,450 --> 00:01:32,815 >> DAVID: Bem aqui? 35 00:01:32,815 --> 00:01:33,315 Tudo bem. 36 00:01:33,315 --> 00:01:36,060 37 00:01:36,060 --> 00:01:36,560 Tudo bem. 38 00:01:36,560 --> 00:01:39,400 39 00:01:39,400 --> 00:01:40,650 >> EMPRESA: Olá, David. 40 00:01:40,650 --> 00:01:42,040 Prazer em conhecê lo. 41 00:01:42,040 --> 00:01:43,960 >> DAVID: Olá, agora. 42 00:01:43,960 --> 00:01:45,000 Agite sua mão? 43 00:01:45,000 --> 00:01:48,510 >> COLTON OGDEN: Agitar a mão para cima e para baixo. 44 00:01:48,510 --> 00:01:50,310 >> DAVID: OK. 45 00:01:50,310 --> 00:01:52,435 >> COLTON OGDEN: E depois ele vai ir em frente e se sentar. 46 00:01:52,435 --> 00:01:54,476 E se você estiver interessado, Eu posso realmente mostrar-lhe 47 00:01:54,476 --> 00:01:56,715 como eu era capaz de levá-lo para fazer todas essas coisas também. 48 00:01:56,715 --> 00:01:57,200 >> DAVID: Sim, absolutamente. 49 00:01:57,200 --> 00:01:58,320 >> COLTON OGDEN: Ele é um pouco off equilibrar esta manhã. 50 00:01:58,320 --> 00:02:00,174 Ele não teve seu café ainda. 51 00:02:00,174 --> 00:02:01,840 DAVID: Então, o que é isso que estamos vendo? 52 00:02:01,840 --> 00:02:04,680 COLTON OGDEN: Então, nós estamos olhando para aqui é um gráfico do núcleo, que é agora 53 00:02:04,680 --> 00:02:07,920 um ambiente de programação gráfica, o que é muito semelhante ao arranhões 54 00:02:07,920 --> 00:02:09,317 CS50 que usa. 55 00:02:09,317 --> 00:02:11,150 Aqui vemos que é criado -se como um diagrama de fluxo. 56 00:02:11,150 --> 00:02:13,370 E nós temos um grupo destes pequenos blocos de construção aqui. 57 00:02:13,370 --> 00:02:16,203 Agora, se vamos dar uma olhada em um presente por exemplo, é chamado de stand-up. 58 00:02:16,203 --> 00:02:19,190 E este bloco diz levantar-se para o Agora, se ele está sentado 59 00:02:19,190 --> 00:02:20,320 ou o que seja. 60 00:02:20,320 --> 00:02:22,990 >> Então nós vemos ele vai para cabeça tátil, que basicamente 61 00:02:22,990 --> 00:02:26,070 espera por um toque em cima de a cabeça, como você viu anteriormente. 62 00:02:26,070 --> 00:02:31,190 Mover a meios mover-se em um x, y, e z direcção a um destino específico. 63 00:02:31,190 --> 00:02:33,980 Aperto de mão é um módulo que eu escrevi, que basicamente diz: Olá, David. 64 00:02:33,980 --> 00:02:34,688 Prazer em conhecê lo. 65 00:02:34,688 --> 00:02:36,089 Espera por um aperto de mão. 66 00:02:36,089 --> 00:02:37,630 Sente-se é o oposto de ficar de pé. 67 00:02:37,630 --> 00:02:38,796 Ele vai ir em frente e se sentar. 68 00:02:38,796 --> 00:02:40,610 E então, o movimento da cabeça é um circuito em que ele 69 00:02:40,610 --> 00:02:42,090 moverá a cabeça em direções aleatórias. 70 00:02:42,090 --> 00:02:42,520 >> DAVID: Interessante. 71 00:02:42,520 --> 00:02:44,890 Assim, mesmo que estes não olhe como as peças de quebra-cabeça a partir do zero, 72 00:02:44,890 --> 00:02:45,950 é realmente a mesma idéia. 73 00:02:45,950 --> 00:02:48,210 E você está a fiação de um programa usando esses blocos de construção. 74 00:02:48,210 --> 00:02:49,020 >> COLTON OGDEN: Sim, exatamente. 75 00:02:49,020 --> 00:02:50,590 >> DAVID: Então você disse que fez um deles, aperto de mão. 76 00:02:50,590 --> 00:02:51,990 Podemos ampliar esse? 77 00:02:51,990 --> 00:02:52,131 >> COLTON OGDEN: Claro. 78 00:02:52,131 --> 00:02:53,642 Vamos dar uma olhada aqui no aperto de mão. 79 00:02:53,642 --> 00:02:56,350 E veremos que é criado muito semelhante ao outro diagrama de fluxo. 80 00:02:56,350 --> 00:02:58,850 Começamos com o bloco Olá, que [inaudível] diz: Olá, David. 81 00:02:58,850 --> 00:03:00,030 Prazer em conhecê lo. 82 00:03:00,030 --> 00:03:01,430 Este aqui é um loop. 83 00:03:01,430 --> 00:03:02,940 Diz, detectar o movimento do braço. 84 00:03:02,940 --> 00:03:05,230 Por isso vai em um infinito espera loop até que seu braço 85 00:03:05,230 --> 00:03:06,620 foi levantada cima e para baixo. 86 00:03:06,620 --> 00:03:09,370 E, em seguida, uma vez que aconteceu, ele vai ir em frente e fazer essas coisas. 87 00:03:09,370 --> 00:03:13,280 Definir rigidez OK e vá para a final, o que basicamente significa mandá-lo de volta 88 00:03:13,280 --> 00:03:14,309 à sua posição padrão. 89 00:03:14,309 --> 00:03:15,100 DAVID: Interessante. 90 00:03:15,100 --> 00:03:17,910 Você está restrito a apenas usando este ambiente gráfico 91 00:03:17,910 --> 00:03:19,070 programar-lo dessa forma? 92 00:03:19,070 --> 00:03:19,820 >> COLTON OGDEN: Na verdade, não. 93 00:03:19,820 --> 00:03:21,950 Se formos em frente e dê um clique duplo qualquer destes blocos de construção, 94 00:03:21,950 --> 00:03:24,420 podemos ver que há realmente código python debaixo do capô, 95 00:03:24,420 --> 00:03:26,000 ligar cada um destes blocos de construção. 96 00:03:26,000 --> 00:03:26,750 >> DAVID: Ah, é verdade. 97 00:03:26,750 --> 00:03:29,250 Então, para quem não conhece, python é uma linguagem interpretada, 98 00:03:29,250 --> 00:03:32,240 muito similares em espírito à PHP, que usamos em CS50. 99 00:03:32,240 --> 00:03:35,344 E assim como você pode usar PHP para programação web, 100 00:03:35,344 --> 00:03:37,010 você também pode usá-lo na linha de comando. 101 00:03:37,010 --> 00:03:39,426 E como Colton está fazendo aqui neste ambiente gráfico, 102 00:03:39,426 --> 00:03:41,674 escrever programas e, em seguida, transmiti-lo via Wi-Fi - 103 00:03:41,674 --> 00:03:42,590 COLTON OGDEN: Correto. 104 00:03:42,590 --> 00:03:43,310 DAVID: - para agora. 105 00:03:43,310 --> 00:03:44,550 Será que você tem algum tempo para ficar por aqui? 106 00:03:44,550 --> 00:03:45,350 >> COLTON OGDEN: Absolutamente. 107 00:03:45,350 --> 00:03:45,710 >> DAVID: Certo. 108 00:03:45,710 --> 00:03:48,970 Bem, antes de Colton volta com nos para um pouco de uma surpresa, 109 00:03:48,970 --> 00:03:54,470 agora - obtê-lo - tem 60 segundos dos ex-alunos CS50 audições 110 00:03:54,470 --> 00:03:55,844 para se tornar o ensino companheiros. 111 00:03:55,844 --> 00:03:56,510 [REPRODUÇÃO] 112 00:03:56,510 --> 00:03:57,411 -Obrigado. 113 00:03:57,411 --> 00:03:58,910 Obrigado a todos por estarem aqui. 114 00:03:58,910 --> 00:04:00,510 >> -Ei, o Sr. Coelho. 115 00:04:00,510 --> 00:04:02,120 >> -Bem-vindo a este tutorial on - 116 00:04:02,120 --> 00:04:03,810 >> [Inaudível] divertir com bolinhos. 117 00:04:03,810 --> 00:04:04,310 -Espere. 118 00:04:04,310 --> 00:04:05,040 Pare. 119 00:04:05,040 --> 00:04:07,121 >> -Então agora nós temos um problema. 120 00:04:07,121 --> 00:04:07,620 -Não é. 121 00:04:07,620 --> 00:04:08,869 E eu vou dizer por quê. 122 00:04:08,869 --> 00:04:10,860 -A malha é a repetição, como - 123 00:04:10,860 --> 00:04:12,970 >> -Uma espécie de caixa preta. 124 00:04:12,970 --> 00:04:13,935 >> -OK. 125 00:04:13,935 --> 00:04:15,160 Eu acho que eu entendo. 126 00:04:15,160 --> 00:04:15,660 -Tudo bem. 127 00:04:15,660 --> 00:04:17,140 Então agora eu estou em uma parte um pouco difícil. 128 00:04:17,140 --> 00:04:18,800 >> -Isso mesmo. 129 00:04:18,800 --> 00:04:20,485 8 bits formam um byte. 130 00:04:20,485 --> 00:04:24,176 >> -Você toma um byte e você separá-lo em pedaços de quatro. 131 00:04:24,176 --> 00:04:26,423 >> -Bip, bip, bip, bip, bip. 132 00:04:26,423 --> 00:04:28,018 Bip, bip, bip, bip, bip. 133 00:04:28,018 --> 00:04:29,380 >> -Parece muito complicado. 134 00:04:29,380 --> 00:04:30,460 >> -Então, vamos fazer isso de novo. 135 00:04:30,460 --> 00:04:32,580 >> -Se eu confundi-lo, por favor fique à vontade para me parar. 136 00:04:32,580 --> 00:04:33,620 >> -Mas, espere um segundo. 137 00:04:33,620 --> 00:04:36,940 >> -Bem, vamos olhar para trás, o slide e quebrar as coisas passo a passo. 138 00:04:36,940 --> 00:04:41,720 >> -Se você se lembrar, a memória é quebrado em pedaços de bytes de tamanho. 139 00:04:41,720 --> 00:04:44,080 >> -Então aqui nós temos o melhor cenário. 140 00:04:44,080 --> 00:04:46,290 >> -Esta é uma considerável melhoria em relação - 141 00:04:46,290 --> 00:04:47,715 >> -A navegador, como o Chrome. 142 00:04:47,715 --> 00:04:49,421 >> -É sempre necessário para liberar qualquer - 143 00:04:49,421 --> 00:04:49,920 -Pessoas - 144 00:04:49,920 --> 00:04:50,880 -Você pode deparar. 145 00:04:50,880 --> 00:04:53,460 E o código pode ficar um pouco pesado. 146 00:04:53,460 --> 00:04:55,640 >> -E isso é tudo que você precisa. 147 00:04:55,640 --> 00:04:56,960 >> -Boom! 148 00:04:56,960 --> 00:04:59,140 >> DAVID: Agora CS50 própria Dan Coffey e eu recentemente 149 00:04:59,140 --> 00:05:01,850 teve a oportunidade de viajar para fora para Mountain View, Califórnia, 150 00:05:01,850 --> 00:05:03,740 que é onde o sede do Google é. 151 00:05:03,740 --> 00:05:07,350 E nós tivemos a chance de conversar com Susan Wojcicki, o CEO do YouTube. 152 00:05:07,350 --> 00:05:10,920 Na verdade, foi em Susan anos atrás, na garagem dos anos 90 153 00:05:10,920 --> 00:05:14,620 que o próprio Google foi iniciado por Larry e Sergey. 154 00:05:14,620 --> 00:05:17,430 >> Bem, acontece que Susan si mesma, na verdade, levou CS50 155 00:05:17,430 --> 00:05:18,950 apenas alguns anos antes de mim. 156 00:05:18,950 --> 00:05:21,450 E eu acho que é impressionante como em breve você vai ouvir o quão 157 00:05:21,450 --> 00:05:25,040 tanto uma introdução ao computador ciência tão influenciado sua vida. 158 00:05:25,040 --> 00:05:26,892 Ela gostaria de dizer Olá. 159 00:05:26,892 --> 00:05:28,100 SUSAN Wojcicki: Olá, mundo. 160 00:05:28,100 --> 00:05:29,620 Estou Susan Wojcicki. 161 00:05:29,620 --> 00:05:31,500 Eu sou o CEO do YouTube. 162 00:05:31,500 --> 00:05:36,570 E tomei CS50 quando eu era um sénior na Universidade de Harvard em 1990. 163 00:05:36,570 --> 00:05:38,710 >> Eu era realmente uma história e literatura major. 164 00:05:38,710 --> 00:05:44,180 E o meu júnior verão I percebi que talvez eu 165 00:05:44,180 --> 00:05:46,450 queria aprender algo sobre computadores. 166 00:05:46,450 --> 00:05:48,350 E assim voltei. 167 00:05:48,350 --> 00:05:49,870 Tomei CS50. 168 00:05:49,870 --> 00:05:54,340 Foi difícil, mas foi o classe mais incrível que eu tomei. 169 00:05:54,340 --> 00:05:57,030 Ele mudou a forma como eu penso sobre tudo. 170 00:05:57,030 --> 00:06:03,200 >> E quando eu me formei em Harvard em 1990, fui para o Vale do Silício 171 00:06:03,200 --> 00:06:04,500 e eu tenho um emprego. 172 00:06:04,500 --> 00:06:07,490 E eu tenho trabalhado em tecnologia desde então. 173 00:06:07,490 --> 00:06:09,780 Então CS50 mudou minha vida. 174 00:06:09,780 --> 00:06:12,320 Eu continuo a aprender e construir. 175 00:06:12,320 --> 00:06:13,870 Ele me deu uma grande fundação. 176 00:06:13,870 --> 00:06:17,100 E eu estou continuando a aprender cada dia, como as mudanças de tecnologia. 177 00:06:17,100 --> 00:06:19,660 >> E eu acho que é maravilhoso que está tudo de tomá-lo 178 00:06:19,660 --> 00:06:22,840 porque é assim que o mundo é vai mudar daqui para frente. 179 00:06:22,840 --> 00:06:27,490 Não só vai ser mais e mais oportunidade e inovação. 180 00:06:27,490 --> 00:06:31,010 Digital vai afetar nossa vive ainda mais do que já tem. 181 00:06:31,010 --> 00:06:33,870 E é maravilhoso que você está tomando todas CS50. 182 00:06:33,870 --> 00:06:35,890 Portanto, esta é CS50. 183 00:06:35,890 --> 00:06:38,080 >> DAVID: Então, se você foi procurando um novo motivo 184 00:06:38,080 --> 00:06:41,502 não usar um determinado navegador, aqui é boa para você. 185 00:06:41,502 --> 00:06:43,210 Eu recebi recentemente - juntamente com todos os 186 00:06:43,210 --> 00:06:45,120 na Universidade de Harvard - este e-mail aqui. 187 00:06:45,120 --> 00:06:46,910 >> "Queridos Membros da Comunidade de Harvard. 188 00:06:46,910 --> 00:06:50,930 O Departamento de Segurança Interna dos EUA recomenda que todos os usuários temporariamente 189 00:06:50,930 --> 00:06:54,350 descontinuar o uso de Microsoft Internet Explorer, o IE, 190 00:06:54,350 --> 00:06:56,270 devido a uma falha de segurança crítica. " 191 00:06:56,270 --> 00:07:01,250 >> Isto é documentado na verdade em Microsoft Security Advisory 2963983. 192 00:07:01,250 --> 00:07:05,242 Vulnerabilidade no Internet Explorer pode permitir a execução remota de código. 193 00:07:05,242 --> 00:07:07,200 Agora, o que isso significa e qual é a ameaça? 194 00:07:07,200 --> 00:07:08,950 Bem, considere esta diagrama aqui, que nós 195 00:07:08,950 --> 00:07:12,160 usar em CS50 para falar sobre HTTP ou tráfego web. 196 00:07:12,160 --> 00:07:15,140 Se temos aqui uma web servidor e, por outro lado 197 00:07:15,140 --> 00:07:17,589 um browser - Internet Explorer neste caso - de curso, 198 00:07:17,589 --> 00:07:19,380 um navegador quando se primeiro solicita uma página web 199 00:07:19,380 --> 00:07:21,310 pode enviar uma mensagem HDP assim. 200 00:07:21,310 --> 00:07:26,470 GET index.html usando a versão 1.1 do protocolo conhecido como HTTP. 201 00:07:26,470 --> 00:07:30,820 >> Agora, neste caso, se um bandido tem de alguma forma teve acesso a este servidor web 202 00:07:30,820 --> 00:07:33,990 e instalado um explorar, por assim dizer, 203 00:07:33,990 --> 00:07:36,990 ele ou ela pode ser capaz de convencer o servidor web para retornar isso. 204 00:07:36,990 --> 00:07:41,040 Não só se como index.html solicitado, mas incorporado dentro 205 00:07:41,040 --> 00:07:43,720 desse arquivo index.html poderia, é claro, outros ativos. 206 00:07:43,720 --> 00:07:47,230 Em particular, algo como exploit.SWF, 207 00:07:47,230 --> 00:07:50,620 um arquivo flash que, finalmente, aproveita essa segurança 208 00:07:50,620 --> 00:07:54,940 técnica, montão feng shui, que é uma maneira elegante de dizer que o código 209 00:07:54,940 --> 00:07:59,940 Dentro dessa sprays de arquivos flash do chamado pilha no interior do computador do 210 00:07:59,940 --> 00:08:04,090 navegador com todos os pedaços de diferentes memória que são projetados em última análise, 211 00:08:04,090 --> 00:08:05,810 para substituir grandes pedaços de memória aqui. 212 00:08:05,810 --> 00:08:09,150 >> Se você se lembrar isto de nossa discussão em CS50 da pilha ea pilha 213 00:08:09,150 --> 00:08:11,070 e gerenciamento de memória em geral. 214 00:08:11,070 --> 00:08:14,280 Agora, a memória que é realmente jogado na pilha 215 00:08:14,280 --> 00:08:16,280 são realmente chamados objetos vetoriais em flash. 216 00:08:16,280 --> 00:08:17,870 E isso é algo com que você pode estar familiarizado 217 00:08:17,870 --> 00:08:19,880 se você mesmo tivesse programado o Flash antes. 218 00:08:19,880 --> 00:08:24,070 Mas um desses objetos, em particular é conhecido como um objeto de som de mídia flash. 219 00:08:24,070 --> 00:08:28,190 >> E aqui reside uma oportunidade porque o que esta façanha então começa a fazer 220 00:08:28,190 --> 00:08:31,540 é corrupto este pedaço de memória, este objeto na memória, 221 00:08:31,540 --> 00:08:36,640 de tal forma que ele tenta fazer isso executável endereço hexadecimal, assim 222 00:08:36,640 --> 00:08:40,600 tentando enganar o programa, em última instância para a execução de algum código shell assim 223 00:08:40,600 --> 00:08:44,560 para falar, ou o código de má cara, isso é em última análise, armazenados neste endereço aqui, 224 00:08:44,560 --> 00:08:49,530 que foi injetado por meio de download sem saber que arquivo flash particular. 225 00:08:49,530 --> 00:08:53,220 >> Agora, o resultado final poderia ser qualquer que seja o adversário quer fazer para o seu computador. 226 00:08:53,220 --> 00:08:56,290 Ele ou ela pode apagar seus arquivos, mover seus arquivos, e-mail seus arquivos, 227 00:08:56,290 --> 00:08:59,960 ou realmente fazer alguma coisa que você mesmo poderia fazer como o proprietário do computador. 228 00:08:59,960 --> 00:09:01,600 E é por isso que a ameaça é tão assustador. 229 00:09:01,600 --> 00:09:04,370 Ele permite verdadeiramente qualquer pessoa na internet cujo site você 230 00:09:04,370 --> 00:09:08,590 podem visitar para executar arbitrária programas em seu computador. 231 00:09:08,590 --> 00:09:11,550 >> Agora, felizmente, muito Microsoft recentemente lançou uma correção para esse 232 00:09:11,550 --> 00:09:14,800 porque o problema realmente aflitos Internet Explorer 6 233 00:09:14,800 --> 00:09:16,210 todo o caminho até a 11. 234 00:09:16,210 --> 00:09:19,530 Por isso, tem estado conosco por algum tempo e só recentemente foi descoberto. 235 00:09:19,530 --> 00:09:23,120 Então se você tem as atualizações automáticas ativado, você deve estar OK em breve. 236 00:09:23,120 --> 00:09:26,340 Mas apenas para ser seguro, você poderia certamente mudar para outro navegador, pelo menos 237 00:09:26,340 --> 00:09:27,300 no mesmo período. 238 00:09:27,300 --> 00:09:29,650 >> Agora verifica-se, também, que Microsoft muito generosamente 239 00:09:29,650 --> 00:09:33,640 também lançou uma correção para o Windows XP, uma versão anterior do Windows para o qual 240 00:09:33,640 --> 00:09:37,040 apoio foi realmente oficialmente interrompido apenas algumas semanas atrás, 241 00:09:37,040 --> 00:09:40,880 mas esta ameaça era tão ruim que eles também lançou uma correção para que o OS 242 00:09:40,880 --> 00:09:41,810 bem. 243 00:09:41,810 --> 00:09:43,400 >> Agora, em outra notícia desta semana foi isso. 244 00:09:43,400 --> 00:09:46,632 O Atari 2600, um jogo mais antigo console que um primo meu 245 00:09:46,632 --> 00:09:49,340 realmente tinha crescendo em que estamos habituados a jogar jogos de vídeo quando 246 00:09:49,340 --> 00:09:50,630 iríamos visitar sua casa. 247 00:09:50,630 --> 00:09:54,420 Agora, em qualquer caso, por que esta estava na notícia foi pelo seguinte motivo. 248 00:09:54,420 --> 00:09:57,180 Nos anos 80, a empresa por trás deste dispositivo, Atari, 249 00:09:57,180 --> 00:09:59,870 decidiu enterrar em um aterro sanitário, no Novo México 250 00:09:59,870 --> 00:10:02,510 um monte de jogos antigos e manuais de instrução 251 00:10:02,510 --> 00:10:05,050 e semelhantes que faria caso contrário, ter ido por vender. 252 00:10:05,050 --> 00:10:09,320 >> Agora com o tempo, o enterro deles jogos tornam-se um pouco de um mito urbano. 253 00:10:09,320 --> 00:10:12,690 As pessoas realmente não sei ao certo se isso tivesse realmente acontecido, mesmo 254 00:10:12,690 --> 00:10:16,080 porém, como mito foi, a empresa tinha sequer derramou uma camada de concreto 255 00:10:16,080 --> 00:10:18,630 em cima de tudo no aterro para evitar que as crianças 256 00:10:18,630 --> 00:10:22,150 de realmente farfalhando através dele, tentando encontrar jogos de vídeo livres. 257 00:10:22,150 --> 00:10:26,310 Bem, acontece que um documentário está em andamento agora em 2014. 258 00:10:26,310 --> 00:10:30,900 E uma equipe de escavadores tem tentado para desenterrar a verdade por trás desta história 259 00:10:30,900 --> 00:10:32,240 se é de fato lá. 260 00:10:32,240 --> 00:10:33,330 >> E adivinha o que encontraram? 261 00:10:33,330 --> 00:10:35,940 Bem, não exatamente este cara, mas milhares 262 00:10:35,940 --> 00:10:38,220 de cópias de seu jogo, que foi lançado 263 00:10:38,220 --> 00:10:42,000 coincidente com o lançamento do filme, E.T. O Extraterrestre. 264 00:10:42,000 --> 00:10:47,040 Então, na verdade, apenas nos últimos dias dezenas e centenas, senão milhares 265 00:10:47,040 --> 00:10:52,140 em última análise desses cartuchos estão começando a ser descobertos. 266 00:10:52,140 --> 00:10:56,280 >> Agora, por que eles enterrar tal um jogo claramente convincente? 267 00:10:56,280 --> 00:10:58,570 Bem, acontece que E.T. é realmente a fama 268 00:10:58,570 --> 00:11:01,850 por muitos como o pior jogo de vídeo que nunca. 269 00:11:01,850 --> 00:11:04,080 Em parte, porque eles tinham tão pouco tempo para desenvolver 270 00:11:04,080 --> 00:11:06,340 o jogo antes que especial época do Natal, 271 00:11:06,340 --> 00:11:09,240 mas também porque era particularmente difícil de jogar. 272 00:11:09,240 --> 00:11:11,630 Isso, é claro, levanta a pergunta, podemos vê-lo? 273 00:11:11,630 --> 00:11:12,610 Sim, nós podemos. 274 00:11:12,610 --> 00:11:13,555 Vamos dar uma olhada. 275 00:11:13,555 --> 00:11:14,388 [Jogando vídeo game] 276 00:11:14,388 --> 00:11:35,287 277 00:11:35,287 --> 00:11:37,870 Agora não era realmente o gráficos que as pessoas tomaram objeção 278 00:11:37,870 --> 00:11:41,070 a, porque, na verdade, isso foi nos anos 80 e este era o estado da arte. 279 00:11:41,070 --> 00:11:42,840 Na verdade, esta foi a minha infância aqui. 280 00:11:42,840 --> 00:11:44,900 Mas o que era difícil sobre este jogo era, um, 281 00:11:44,900 --> 00:11:46,920 você tinha um filme ET em torno a tela, olhando 282 00:11:46,920 --> 00:11:49,820 para os pequenos pixels, o que representado Pieces de Reese. 283 00:11:49,820 --> 00:11:52,960 Mas o problema também é que se você caiu para essas formas de diamante mais escuras, 284 00:11:52,960 --> 00:11:54,870 você cair em um cova, que era, na verdade 285 00:11:54,870 --> 00:11:56,890 muito difícil e tedioso para sair. 286 00:11:56,890 --> 00:11:59,570 Então, assim, foi sepultado ET. 287 00:11:59,570 --> 00:12:02,740 >> Agora também no deserto do final foi este aqui em Wyoming. 288 00:12:02,740 --> 00:12:08,010 Um nuclear, não deve ser confundida com [? nucular,?] centro de controle. 289 00:12:08,010 --> 00:12:10,920 E, na verdade, se você olhar para baixo existe sob o betão 290 00:12:10,920 --> 00:12:14,330 perto deste pólo branco, não há na verdade um míssil Minuteman III, 291 00:12:14,330 --> 00:12:18,230 um míssil nuclear, que é realmente protegido por uma tecnologia que é 292 00:12:18,230 --> 00:12:20,980 não tão moderno como você poderia esperar. 293 00:12:20,980 --> 00:12:24,344 Um programa de TV americano, 60 Minutos, revelou recentemente esta. 294 00:12:24,344 --> 00:12:25,010 [REPRODUÇÃO] 295 00:12:25,010 --> 00:12:28,210 -Mas o equipamento é antiga. 296 00:12:28,210 --> 00:12:30,480 Isto, por exemplo, é um dos computadores que 297 00:12:30,480 --> 00:12:33,380 iria receber um lançamento solicitar ao presidente. 298 00:12:33,380 --> 00:12:35,720 Ele usa disquetes. 299 00:12:35,720 --> 00:12:38,000 Os realmente velhos, grandes. 300 00:12:38,000 --> 00:12:41,920 Antes de chegar aqui, você provavelmente, nunca tinha visto um? 301 00:12:41,920 --> 00:12:44,170 >> -Eu nunca vi um até Eu tenho dentro deste buraco. 302 00:12:44,170 --> 00:12:44,640 >> [FIM REPRODUÇÃO DE VÍDEO] 303 00:12:44,640 --> 00:12:46,730 >> Agora, se você está pensando você já viu esses discos, 304 00:12:46,730 --> 00:12:49,680 os 5 e 1/4-inch discos da década de 1980, uh-uh. 305 00:12:49,680 --> 00:12:53,180 Este é um disquete de 8 polegadas disco da década de 1970. 306 00:12:53,180 --> 00:12:55,930 Agora do CS50 próprio Dan Coffey e eu também tinha uma oportunidade 307 00:12:55,930 --> 00:12:58,117 viajar para Seattle, Washington recentemente onde 308 00:12:58,117 --> 00:12:59,450 visitamos nossos amigos na Valve. 309 00:12:59,450 --> 00:13:03,870 Na verdade, você deve se lembrar de 60 segundos de me usando aqueles óculos de realidade virtual. 310 00:13:03,870 --> 00:13:07,030 >> Agora nós também tivemos a oportunidade de conversar com três dos engenheiros da Valve 311 00:13:07,030 --> 00:13:09,620 que nos falou sobre o que como é trabalhar na Valve, 312 00:13:09,620 --> 00:13:13,290 mas melhor ainda, o que é gostaria de desenvolver jogos de vídeo. 313 00:13:13,290 --> 00:13:14,315 Vamos dar uma olhada. 314 00:13:14,315 --> 00:13:14,600 >> [REPRODUÇÃO] 315 00:13:14,600 --> 00:13:15,433 >> [Jogando vídeo game] 316 00:13:15,433 --> 00:13:23,950 317 00:13:23,950 --> 00:13:26,420 -Meu nome é Brian Jacobson. 318 00:13:26,420 --> 00:13:30,420 Eu fiz meu caminho para Válvula tipo de num percurso ligeiramente sinuosa. 319 00:13:30,420 --> 00:13:33,710 Eu não era realmente um computador programador na faculdade. 320 00:13:33,710 --> 00:13:35,790 E eu fui usado para fazer em ser o ensino médio 321 00:13:35,790 --> 00:13:39,300 capaz de fazer a programação e obter coisas da ideia à implementação 322 00:13:39,300 --> 00:13:41,320 em apenas alguns minutos ou horas. 323 00:13:41,320 --> 00:13:46,930 Eu gostava que o ritmo acelerado de desenvolvimento e vendo as minhas idéias ganham vida. 324 00:13:46,930 --> 00:13:48,780 >> -Meu nome é Yahn Bernier. 325 00:13:48,780 --> 00:13:50,740 Estive aqui na Valve há mais de 16 anos. 326 00:13:50,740 --> 00:13:54,170 Então acabei escrevendo apenas para divertir um editor de níveis para Quake 327 00:13:54,170 --> 00:13:57,564 chamado BSP, com base no binário árvores de particionamento do espaço. 328 00:13:57,564 --> 00:13:58,730 Isso era uma espécie de entrada. 329 00:13:58,730 --> 00:14:02,780 E, eventualmente, Gabe Newell, que era o fundador da Valve, e Mike Harrington 330 00:14:02,780 --> 00:14:06,254 enviou-me um e-mail dizendo software desenvolvimento oportunidade engenheiro. 331 00:14:06,254 --> 00:14:07,170 -Meu nome é John Cook. 332 00:14:07,170 --> 00:14:09,380 Eu sou um engenheiro de software trabalhando na Valve. 333 00:14:09,380 --> 00:14:14,240 Concentro-me em nossos sistemas on-line, dimensionamento, e arquitetura. 334 00:14:14,240 --> 00:14:16,060 >> Um amigo e eu realmente na universidade foram 335 00:14:16,060 --> 00:14:18,660 trabalhando em um jogo chamado Team Fortress. 336 00:14:18,660 --> 00:14:22,810 E nós só fez o jogo, colocá-lo na internet. 337 00:14:22,810 --> 00:14:25,130 Foi uma adição ao jogo, terramoto, no momento. 338 00:14:25,130 --> 00:14:27,620 Por isso, foi uma espécie de moderno extensão desse jogo. 339 00:14:27,620 --> 00:14:30,920 Depois disso, nós acabamos entrar em contato com a Valve 340 00:14:30,920 --> 00:14:32,200 e vindo para cá. 341 00:14:32,200 --> 00:14:36,535 >> -Bem, para mim a classe gráfica foi provavelmente o curso mais aplicável 342 00:14:36,535 --> 00:14:39,960 que eu tirei na faculdade, com certeza. 343 00:14:39,960 --> 00:14:42,940 Trigonometria, álgebra linear. 344 00:14:42,940 --> 00:14:47,140 Fiz um curso de robótica que tinha um monte de tipo de álgebra linear de cozido 345 00:14:47,140 --> 00:14:52,030 para ele, e que é uma das Keystone conceitos de matemática para todos os gráficos 3D. 346 00:14:52,030 --> 00:14:57,680 É tudo uma questão de orientação e fazendo a matemática de como, eu estou olhando para você, 347 00:14:57,680 --> 00:14:58,970 mas eu quero apontar para lá. 348 00:14:58,970 --> 00:15:04,600 E como faço para rodar e como eu descobrir onde eu estou indo ou olhando. 349 00:15:04,600 --> 00:15:07,015 Isso é tudo álgebra linear. 350 00:15:07,015 --> 00:15:11,380 >> -A essência de um jogo de tiro em primeira pessoa é que eu olho através dos sites de arma 351 00:15:11,380 --> 00:15:13,630 com os meus olhos e visam algo e puxar o gatilho 352 00:15:13,630 --> 00:15:14,670 e eu quero bater isso. 353 00:15:14,670 --> 00:15:18,810 Então você tem que criar o seu A tecnologia para lidar com a latência. 354 00:15:18,810 --> 00:15:22,020 E assim John Carmack voltou e disse: oh, o que eu preciso fazer 355 00:15:22,020 --> 00:15:28,440 é prever no cliente a resultar entradas do meu jogador, 356 00:15:28,440 --> 00:15:30,336 e apenas fazer isso e tornar de onde nós 357 00:15:30,336 --> 00:15:33,460 acho que ele vai ser e depois deixá o servidor voltar e corrigi-lo para mim. 358 00:15:33,460 --> 00:15:36,470 >> -Então, quando você está pensando em usando um motor de jogo para fazer um jogo, 359 00:15:36,470 --> 00:15:38,510 há muito mais opções agora. 360 00:15:38,510 --> 00:15:41,675 >> -Um motor de jogo é uma espécie da infra-estrutura 361 00:15:41,675 --> 00:15:42,800 em que você faz no jogo. 362 00:15:42,800 --> 00:15:46,560 É a coisa responsável por desenho do mundo, para simular o mundo, 363 00:15:46,560 --> 00:15:50,970 para jogar todos os sons, para ajudar seu código do jogo 364 00:15:50,970 --> 00:15:53,650 descobrir o que o inimigo AIs estão indo para ir fazer. 365 00:15:53,650 --> 00:15:57,260 >> -Geralmente, a maneira como as pessoas começariam é que levaria uma certa quantidade de que a lógica 366 00:15:57,260 --> 00:15:58,020 e alterá-lo. 367 00:15:58,020 --> 00:16:00,280 Tipo, OK, agora vamos apenas mudar o lançador de foguetes 368 00:16:00,280 --> 00:16:04,240 fazer 200 de dano em vez de fazer 100 de dano. 369 00:16:04,240 --> 00:16:08,580 É uma forma muito simples, como, basta levar alguma peça existente da lógica gameplay 370 00:16:08,580 --> 00:16:10,360 e ajustá-lo à forma como você gosta. 371 00:16:10,360 --> 00:16:13,830 >> -A outra camada de alto nível é geralmente chamado de código do jogo. 372 00:16:13,830 --> 00:16:17,230 E o código do jogo é geralmente o coisa que é tudo sobre as regras do jogo. 373 00:16:17,230 --> 00:16:21,156 Como o fato de que eu tenho esta arma particular 374 00:16:21,156 --> 00:16:22,530 e funciona de uma maneira particular. 375 00:16:22,530 --> 00:16:25,480 Ou o fato de que não há um monstro que headcrab 376 00:16:25,480 --> 00:16:27,130 tem estes comportamentos particulares. 377 00:16:27,130 --> 00:16:30,800 Esses tipos de coisas são tipicamente de encontrar como código do jogo. 378 00:16:30,800 --> 00:16:34,790 >> -E a partir daí, de verdade, com os tipo de peças e processo de iteração, 379 00:16:34,790 --> 00:16:37,600 você pode ir de algo como Quake para algo como Half-Life. 380 00:16:37,600 --> 00:16:41,810 >> -Half-Life é um sci-fi, jogo de tiro em primeira pessoa. 381 00:16:41,810 --> 00:16:45,340 É ambientado em um mundo distópico. 382 00:16:45,340 --> 00:16:50,050 O primeiro Half-Life foi criado em esta facilidade de pesquisa no subsolo 383 00:16:50,050 --> 00:16:51,100 chamado Black Mesa. 384 00:16:51,100 --> 00:16:53,940 E você teve um caráter chamado Gordon Freeman. 385 00:16:53,940 --> 00:16:56,690 E foi basicamente sobre uma invasão alienígena 386 00:16:56,690 --> 00:17:00,000 que foi provocado quando um experimento deu errado. 387 00:17:00,000 --> 00:17:04,720 >> E o segundo jogo, Half-Life 2, foi ajustado a cerca de 10 anos mais tarde, 388 00:17:04,720 --> 00:17:07,940 e, basicamente, os alienígenas tinha tomado todo o planeta. 389 00:17:07,940 --> 00:17:12,547 E agora você, como Gordon Freeman teve que resgatar basicamente 390 00:17:12,547 --> 00:17:13,880 seu amigo, Alex, que você se encontra. 391 00:17:13,880 --> 00:17:17,960 E tentar derrotar o alienígenas e recuperar o planeta. 392 00:17:17,960 --> 00:17:20,660 >> -Certamente, projetos como Portal 2, que era apenas 393 00:17:20,660 --> 00:17:24,742 uma pequena equipe, cinco pessoas trabalhando em uma idéia do jogo. 394 00:17:24,742 --> 00:17:26,950 Eles encontraram algumas coisas que eles pensamento eram interessantes, 395 00:17:26,950 --> 00:17:28,283 poderia ser interessante para um jogo. 396 00:17:28,283 --> 00:17:29,490 Eles se expandiu para 20 pessoas. 397 00:17:29,490 --> 00:17:31,355 Eles concretizados essas idéias. 398 00:17:31,355 --> 00:17:32,480 Você adicionou mais algumas pessoas. 399 00:17:32,480 --> 00:17:35,827 >> Eles são como, OK, e agora nós quer enviar em três consoles. 400 00:17:35,827 --> 00:17:36,910 Precisamos de muito mais pessoas. 401 00:17:36,910 --> 00:17:38,619 Como todo mundo, venha olhar para este jogo. 402 00:17:38,619 --> 00:17:39,160 É impressionante. 403 00:17:39,160 --> 00:17:40,909 Ele só precisa de um bando de trabalhar para ficar pronto. 404 00:17:40,909 --> 00:17:43,790 Então de repente você tem metade da empresa de trabalho, 405 00:17:43,790 --> 00:17:47,100 você tem 120 pessoas trabalhando neste jogo para fazê-lo. 406 00:17:47,100 --> 00:17:51,190 Obviamente, o número de projetos em outros lugares contratos, 407 00:17:51,190 --> 00:17:53,354 mas todo mundo é super feliz, porque eles sabem 408 00:17:53,354 --> 00:17:55,520 eles estão trabalhando neste coisa que é realmente incrível. 409 00:17:55,520 --> 00:17:58,644 >> -Um dos realmente grandes coisas sobre este trabalho e esta indústria, em geral, 410 00:17:58,644 --> 00:18:00,684 é que as coisas mudam o tempo todo. 411 00:18:00,684 --> 00:18:02,600 A única coisa que você está fazendo este ano vai 412 00:18:02,600 --> 00:18:04,980 ser muito difícil a partir do coisa que você faz no próximo ano. 413 00:18:04,980 --> 00:18:08,520 E assim mantém tudo realmente fresca, na verdade, e muito emocionante. 414 00:18:08,520 --> 00:18:11,757 Você está aprendendo continuamente novo coisas e fazendo novos tipos de coisas. 415 00:18:11,757 --> 00:18:12,590 [FIM REPRODUÇÃO DE VÍDEO] 416 00:18:12,590 --> 00:18:13,969 DAVID: Isso é tudo para CS50LIVE. 417 00:18:13,969 --> 00:18:15,760 Muito obrigado a este contribuintes de semana. 418 00:18:15,760 --> 00:18:19,710 Muito obrigado a própria Colton do CS50 Ogden ea equipe por trás das câmeras. 419 00:18:19,710 --> 00:18:21,456 Este foi CS50. 420 00:18:21,456 --> 00:18:23,198 >> [MUSIC - LOS DEL RIO, "Macarena"] 421 00:18:23,198 --> 00:19:18,955