1 00:00:01,491 --> 00:01:38,659 [Powered by Google Translate] [Reprodução de música] 2 00:05:18,350 --> 00:05:20,630 DAVID J. MALAN: Este é CS50. 3 00:05:20,630 --> 00:05:23,610 Então, eu estava onde você está agora, há alguns anos. 4 00:05:23,610 --> 00:05:27,850 E quando eu era calouro na época, eu não estava realmente em 5 00:05:27,850 --> 00:05:30,350 este caminho de fazer ciência da computação, engenharia de fazer. 6 00:05:30,350 --> 00:05:33,650 Na verdade, eu vim a este lugar como um concentrador de governo. 7 00:05:33,650 --> 00:05:35,430 Eu estava, na escola, um garoto que 8 00:05:35,430 --> 00:05:36,770 gostava de coisas como história. 9 00:05:36,770 --> 00:05:39,350 Eu gostei direito constitucional, tipo de Inglês e matemática. 10 00:05:39,350 --> 00:05:41,300 É como uma espécie de bem-arredondado, mas não o fez 11 00:05:41,300 --> 00:05:43,290 necessariamente conhecer as coisas que eu não tinha sido 12 00:05:43,290 --> 00:05:44,380 ensinados na escola. 13 00:05:44,380 --> 00:05:47,060 E assim o primeiro ano, eu tinha esse medo em que mesmo 14 00:05:47,060 --> 00:05:49,730 embora eu gostava de computadores, jogado jogos de computador e os 15 00:05:49,730 --> 00:05:52,080 gosto, eu certamente nunca pensei em mim como um 16 00:05:52,080 --> 00:05:54,830 pessoa computador, um cientista da computação. 17 00:05:54,830 --> 00:05:56,705 E, francamente, eu pensei que meus amigos na escola que 18 00:05:56,705 --> 00:06:01,840 estavam tomando ciência da computação foram pouco de um geeks. 19 00:06:01,840 --> 00:06:04,910 E ainda assim, quando eu cheguei aqui no campus, houve 20 00:06:04,910 --> 00:06:06,240 Neste curso, CS50. 21 00:06:06,240 --> 00:06:09,640 >> E na época, que tinha a reputação de ser realmente 22 00:06:09,640 --> 00:06:10,480 algo para tomar cuidado. 23 00:06:10,480 --> 00:06:11,560 Foi um bom curso. 24 00:06:11,560 --> 00:06:13,425 Foi um curso divertido. 25 00:06:13,425 --> 00:06:16,850 Mas você tinha que começar realmente que o pé na porta. 26 00:06:16,850 --> 00:06:19,950 E mesmo que eu não cruzar essa primeiro ano limite. 27 00:06:19,950 --> 00:06:23,330 E eu segui meu caminho de ser um concentrador de governo, indo 28 00:06:23,330 --> 00:06:25,190 através como muitos dos pré-requisitos como eu poderia, 29 00:06:25,190 --> 00:06:28,010 cross-contando coisas para gen ed ou núcleo e similares. 30 00:06:28,010 --> 00:06:30,290 E então, no segundo ano, por alguma razão, eu tenho o 31 00:06:30,290 --> 00:06:33,450 coragem de pisar no Centro de Ciência B, onde foi CS50. 32 00:06:33,450 --> 00:06:36,150 Um cientista da computação muito famoso com o nome de Brian 33 00:06:36,150 --> 00:06:38,530 Kernighan estava ensinando aqui que ano. 34 00:06:38,530 --> 00:06:42,490 E mesmo assim, eu só estava disposta a realmente preencher 35 00:06:42,490 --> 00:06:45,600 meu cartão de estudo, tendo esta classe de aprovação / reprovação. 36 00:06:45,600 --> 00:06:47,590 Eu olhei em torno de mim e eu achei todos neste de um 37 00:06:47,590 --> 00:06:49,550 tenho que saber mais sobre como a ciência da computação, cerca de 38 00:06:49,550 --> 00:06:50,750 programação, sobre computadores. 39 00:06:50,750 --> 00:06:52,370 Todo mundo deve ser a programação, nesta sala, 40 00:06:52,370 --> 00:06:53,510 uma vez que eles eram 12. 41 00:06:53,510 --> 00:06:55,330 Mas, de fato, que não foi o caso. 42 00:06:55,330 --> 00:06:58,660 E assim, o último dia, quinta a segunda-feira do semestre, 43 00:06:58,660 --> 00:07:01,410 eu dar esse salto e mudar de aprovação / reprovação a um 44 00:07:01,410 --> 00:07:04,120 classe da letra e acabou mudando a minha concentração que 45 00:07:04,120 --> 00:07:05,330 mesmo dia para a ciência da computação. 46 00:07:05,330 --> 00:07:07,870 >> Agora, isso não é o nosso objetivo nesta classe, para transformá-lo todos 47 00:07:07,870 --> 00:07:10,500 em ciência da computação concentradores, mas realmente para 48 00:07:10,500 --> 00:07:13,420 propor que há uma oportunidade nesta área e 49 00:07:13,420 --> 00:07:16,500 em outros campos com os quais você pode ser bastante familiarizado 50 00:07:16,500 --> 00:07:18,750 dado que escolas costumam seguir uma bastante 51 00:07:18,750 --> 00:07:23,140 percurso curricular padrão, mas se aventurar em, no CS50, em 52 00:07:23,140 --> 00:07:24,030 novas águas. 53 00:07:24,030 --> 00:07:27,040 E se você está sentado aqui hoje pensando que você não 54 00:07:27,040 --> 00:07:31,130 realmente pertencem, assim como a maioria das pessoas à sua direita e 55 00:07:31,130 --> 00:07:31,980 à sua esquerda. 56 00:07:31,980 --> 00:07:36,640 De fato, no ano passado, 76% dos alunos desta classe não tinha 57 00:07:36,640 --> 00:07:37,840 experiência anterior. 58 00:07:37,840 --> 00:07:40,550 Assim, ao contrário do que se poderia pensar, a maioria das pessoas 59 00:07:40,550 --> 00:07:43,630 sentado aqui hoje não, de fato, ter qualquer prévia 60 00:07:43,630 --> 00:07:44,970 experiência. 61 00:07:44,970 --> 00:07:49,890 18% tiveram uma classe CS e 6% tomaram dois ou mais. 62 00:07:49,890 --> 00:07:52,440 Enquanto isso, pedimos aos nossos alunos todos os anos para descrever 63 00:07:52,440 --> 00:07:54,440 se em termos de nível de conforto. 64 00:07:54,440 --> 00:07:56,870 E não há uma definição deste. 65 00:07:56,870 --> 00:07:58,730 Você só tipo de saber que se você não está muito 66 00:07:58,730 --> 00:08:00,340 confortável em CS50. 67 00:08:00,340 --> 00:08:04,270 E no ano passado, tivemos 55% dessa fatia de torta verde aqui 68 00:08:04,270 --> 00:08:06,720 auto-descrição como menos confortáveis, os alunos que 69 00:08:06,720 --> 00:08:09,390 francamente não tinha idéia de por que eles mesmo comprei o curso de 70 00:08:09,390 --> 00:08:10,340 no primeiro dia. 71 00:08:10,340 --> 00:08:14,010 Mas os 55% mesmo permaneceu conosco até o final do prazo, como fez 72 00:08:14,010 --> 00:08:17,770 35% que estavam em algum lugar entre os mais confortável 73 00:08:17,770 --> 00:08:19,960 e os menos confortável. 74 00:08:19,960 --> 00:08:21,350 >> Então, o que é a informática? 75 00:08:21,350 --> 00:08:23,680 Bem na escola, e, realmente, mais geralmente fora 76 00:08:23,680 --> 00:08:25,670 lá estes dias, não há essa percepção ou esta 77 00:08:25,670 --> 00:08:28,260 equívoco ciência da computação que é a programação. 78 00:08:28,260 --> 00:08:30,700 E isso é absolutamente um aspecto de ciência da computação. 79 00:08:30,700 --> 00:08:33,100 Mas a programação, qualquer que seja a língua é, é realmente apenas um 80 00:08:33,100 --> 00:08:35,760 ferramenta que cientistas da computação usam para resolver problemas, ou 81 00:08:35,760 --> 00:08:38,710 no domínio da ciência da computação ou cada vez mais estes 82 00:08:38,710 --> 00:08:41,710 dia nas ciências físicas, nas ciências naturais, em 83 00:08:41,710 --> 00:08:45,180 medicina, em ciências humanas, para analisar grandes conjuntos de dados. 84 00:08:45,180 --> 00:08:47,660 Em qualquer lugar agora há computador e dados, há uma 85 00:08:47,660 --> 00:08:52,250 oportunidade de aplicar as lições aprendidas em uma classe como CS50. 86 00:08:52,250 --> 00:08:55,050 >> Então, vamos resolver um problema que um cientista da computação pode ir 87 00:08:55,050 --> 00:08:58,760 sobre a resolução e tentar colocar um pouco de jargão, coloque um pouco 88 00:08:58,760 --> 00:09:01,750 estrutura conceitual, em torno do que de outra forma poderiam ser algum 89 00:09:01,750 --> 00:09:03,250 bastante idéia abstrata. 90 00:09:03,250 --> 00:09:05,170 Portanto, este é um telefone. 91 00:09:05,170 --> 00:09:07,100 Você não vê essas coisas com muita freqüência, embora a faculdade 92 00:09:07,100 --> 00:09:09,690 ainda parece ter estas nas casas e dormitórios. 93 00:09:09,690 --> 00:09:11,940 Mas de volta no dia em que você queria usar um telefone como 94 00:09:11,940 --> 00:09:13,880 isso, não havia nenhum livro endereço eletrônico 95 00:09:13,880 --> 00:09:14,620 em seu telefone celular. 96 00:09:14,620 --> 00:09:16,130 Em vez disso, você puxou-se algo 97 00:09:16,130 --> 00:09:17,330 conhecido como uma lista telefônica. 98 00:09:17,330 --> 00:09:20,970 E esses livros de telefone tinha cerca de 1.000 páginas, normalmente. 99 00:09:20,970 --> 00:09:23,800 Eles foram classificados de A a Z. E você simplesmente tinha de encontrar a 100 00:09:23,800 --> 00:09:26,390 página direita para encontrar a pessoa que você está procurando, a fim de 101 00:09:26,390 --> 00:09:28,890 encontrar o seu nome e seu número de telefone. 102 00:09:28,890 --> 00:09:30,060 Agora, como é que você vai olhar para cima 103 00:09:30,060 --> 00:09:31,000 alguém neste livro? 104 00:09:31,000 --> 00:09:33,670 >> Suponha que o meu objetivo é dar o meu amigo, Mike Smith, uma chamada. 105 00:09:33,670 --> 00:09:35,680 Bem, como eu faço para encontrar Mike Smith? 106 00:09:35,680 --> 00:09:38,840 Bem, uma aproximação muito razoável, se ingênua e 107 00:09:38,840 --> 00:09:42,080 ineficiente, seria começar por aqui e começar a lançar para o 108 00:09:42,080 --> 00:09:46,630 página 4 página 5 página 6, e tipo de forma linear, ao longo 109 00:09:46,630 --> 00:09:48,490 uma linha reta, passar por este livro de telefone. 110 00:09:48,490 --> 00:09:50,920 E apesar de que vai ser tedioso, se Mike 111 00:09:50,920 --> 00:09:53,550 Smith está neste livro, estou finalmente vai chegar a ele 112 00:09:53,550 --> 00:09:56,660 quando eu finalmente virar para a seção S deste livro. 113 00:09:56,660 --> 00:09:58,670 Agora, é claro, você não precisa ser um cientista da computação para 114 00:09:58,670 --> 00:10:00,840 sei que esta é uma maneira estúpida de resolver este problema. 115 00:10:00,840 --> 00:10:02,350 O que seria um ser humano típico fazer? 116 00:10:06,310 --> 00:10:07,550 Bem feito. 117 00:10:07,550 --> 00:10:09,230 Então você ia virar para o meio, certo. 118 00:10:09,230 --> 00:10:12,050 Então você virar aproximadamente ao meio, olha aqui, e me parece 119 00:10:12,050 --> 00:10:14,520 para me encontrar na seção M. 120 00:10:14,520 --> 00:10:17,710 OK, então M não é claramente o que eu estou procurando. 121 00:10:17,710 --> 00:10:20,070 E de Mike para a direita, por assim dizer, desta seção. 122 00:10:20,070 --> 00:10:22,930 E como alguns de vocês já viram antes, podemos agora literalmente 123 00:10:22,930 --> 00:10:26,670 continuar a rasgar este problema pela metade. 124 00:10:26,670 --> 00:10:31,720 >> [Aplausos] 125 00:10:31,720 --> 00:10:32,930 Você realmente não deve ser impressionado. 126 00:10:32,930 --> 00:10:34,820 Desmantelá-la a costura não é realmente tão difícil. 127 00:10:34,820 --> 00:10:36,040 As pessoas reais fazê-lo desta forma. 128 00:10:36,040 --> 00:10:39,510 Mas, até a costura, agora temos dois problemas, cada um dos 129 00:10:39,510 --> 00:10:40,360 que é a metade do tamanho. 130 00:10:40,360 --> 00:10:43,430 E nós podemos literalmente jogar que metade do problema de distância. 131 00:10:43,430 --> 00:10:46,450 Agora nos resta não com 1.000 páginas, mas, digamos, 500. 132 00:10:46,450 --> 00:10:47,450 Então agora o que eu faço? 133 00:10:47,450 --> 00:10:50,080 Assim, um ser humano típico vai aproximadamente no centro, de novo. 134 00:10:50,080 --> 00:10:52,000 E eu me encontrar uma seção R. 135 00:10:52,000 --> 00:10:52,950 Assim não chegamos lá. 136 00:10:52,950 --> 00:10:55,890 Então, novamente, eu posso rasgar este problema pela metade. 137 00:10:55,890 --> 00:10:56,395 [Aplausos] 138 00:10:56,395 --> 00:10:57,645 Obrigado. 139 00:10:59,870 --> 00:11:03,260 Então agora eu só tenho cerca de 250 páginas. 140 00:11:03,260 --> 00:11:05,580 E eu posso fazer isso de novo e de novo e de novo e ir de 141 00:11:05,580 --> 00:11:09,200 125 para cerca de 60 a 30 a 15 e assim por diante. 142 00:11:09,200 --> 00:11:13,880 E, finalmente, eu vou ser reduzidos a uma das páginas em S 143 00:11:13,880 --> 00:11:17,370 que, se ele está na lista telefônica, Mike Smith deve ser. 144 00:11:17,370 --> 00:11:19,980 >> Agora, isso é, obviamente, um algoritmo bastante razoável, 145 00:11:19,980 --> 00:11:22,200 e é um algoritmo de um tempo de uso no presente processo. 146 00:11:22,200 --> 00:11:24,790 Mas o que podemos classificar de tirar isso? 147 00:11:24,790 --> 00:11:27,640 Bem, a primeira abordagem, corrigir se ingênuo embora 148 00:11:27,640 --> 00:11:30,130 Foi, pode ser descrito por esta linha recta. 149 00:11:30,130 --> 00:11:32,920 Assim, se no eixo-x aqui dizemos que isto é o tamanho da 150 00:11:32,920 --> 00:11:36,240 problema, assim como o eixo x vai para a direita, o 151 00:11:36,240 --> 00:11:37,400 problema fica maior. 152 00:11:37,400 --> 00:11:38,940 O que significa ser maior no 153 00:11:38,940 --> 00:11:40,140 contexto deste problema? 154 00:11:40,140 --> 00:11:41,750 Mais páginas do livro de telefone. 155 00:11:41,750 --> 00:11:43,750 Há mais alguma coisa que podemos quantificar. 156 00:11:43,750 --> 00:11:45,530 No eixo y, do tempo de resolver. 157 00:11:45,530 --> 00:11:49,650 Assim como o eixo sobe, presumivelmente leva mais tempo. 158 00:11:49,650 --> 00:11:52,640 Assim que a abordagem da primeira linearmente busca da página 1 159 00:11:52,640 --> 00:11:57,050 para dot dot dot página 1000 é um procedimento linear, linear 160 00:11:57,050 --> 00:11:59,020 algoritmo ou processo. 161 00:11:59,020 --> 00:12:00,990 E podemos descrevê-lo por esta linha reta. 162 00:12:00,990 --> 00:12:04,050 Se eu adicionar mais uma página do livro de telefone, que vai, em 163 00:12:04,050 --> 00:12:06,630 o pior caso, leva-me mais um flip página 164 00:12:06,630 --> 00:12:07,810 para encontrar Mike Smith. 165 00:12:07,810 --> 00:12:11,700 Se eu adicionar 100 páginas, 100 a mais flips ou unidades de tempo. 166 00:12:11,700 --> 00:12:13,210 >> Agora, eu posso ser um pouco esperto com isso. 167 00:12:13,210 --> 00:12:15,410 Eu não preciso de realmente transformá-lo uma página de cada vez. 168 00:12:15,410 --> 00:12:18,060 Eu posso fazer coisas como dois em um momento ou 4 de cada vez. 169 00:12:18,060 --> 00:12:20,220 Mas mesmo isso não é tudo que fundamentalmente melhor. 170 00:12:20,220 --> 00:12:23,030 Mesmo que seja 2 de cada vez, sim, que tipo de move este 171 00:12:23,030 --> 00:12:27,410 linha de baixo um pouco, e isso significa que ele leva menos tempo determinado 172 00:12:27,410 --> 00:12:28,730 o mesmo número de páginas. 173 00:12:28,730 --> 00:12:30,430 Mas não é fundamentalmente melhor. 174 00:12:30,430 --> 00:12:33,080 Mas o que acabamos de fazer, eo que tudo que você faz 175 00:12:33,080 --> 00:12:34,160 instintivamente? 176 00:12:34,160 --> 00:12:37,350 Você realmente conseguiu um pouco algo como isto, 177 00:12:37,350 --> 00:12:42,020 tempo logarítmico, pelo que o problema pode crescer e crescer e 178 00:12:42,020 --> 00:12:45,210 crescer mas o custo de resolver este problema, o tempo 179 00:12:45,210 --> 00:12:47,330 necessário para resolver o problema, não 180 00:12:47,330 --> 00:12:49,270 crescer tão rápido. 181 00:12:49,270 --> 00:12:52,880 Esta seria uma curva logarítmica, log de n, em que n é 182 00:12:52,880 --> 00:12:55,480 Apenas o tamanho do problema, o número de páginas deste 183 00:12:55,480 --> 00:12:56,180 livro de telefone. 184 00:12:56,180 --> 00:12:57,650 E o que isso significa em termos reais? 185 00:12:57,650 --> 00:13:00,500 Bem, se temos como 500 pessoas nesta sala agora, 186 00:13:00,500 --> 00:13:02,330 ou melhor, se temos - 187 00:13:02,330 --> 00:13:05,520 metáfora de mistura, não fiz esse exemplo ainda este ano - 188 00:13:05,520 --> 00:13:08,900 por isso, se temos 500 páginas do livro de telefone e nós dobrar a 189 00:13:08,900 --> 00:13:12,660 1000, neste modelo mais inteligente de lançar 190 00:13:12,660 --> 00:13:15,370 para o meio, quantas lágrimas mais page que é preciso para ir 191 00:13:15,370 --> 00:13:17,390 a partir de 500 páginas de 1000? 192 00:13:17,390 --> 00:13:19,510 Bem, só uma lágrima página adicional. 193 00:13:19,510 --> 00:13:22,440 Se você me entregou um livro de telefone para 2.000 páginas, não é grande coisa. 194 00:13:22,440 --> 00:13:25,070 Eu só rasgar um tempo adicional. 195 00:13:25,070 --> 00:13:28,860 >> Assim, em resumo, o tamanho do problema pode crescer muito mais rapidamente 196 00:13:28,860 --> 00:13:30,650 do que o custo de realmente resolvê-lo. 197 00:13:30,650 --> 00:13:32,890 Agora, este é apenas um algoritmo tal. 198 00:13:32,890 --> 00:13:35,480 Há outras que podem ser resolvidos da mesma forma. 199 00:13:35,480 --> 00:13:36,630 E então por que não fazemos isso? 200 00:13:36,630 --> 00:13:39,650 Se você me agradar, ainda que sem jeito aqui em Sanders, ir 201 00:13:39,650 --> 00:13:42,950 à frente, todo mundo, se você pudesse se levantar e no lugar. 202 00:13:46,420 --> 00:13:49,040 Como você pode ver na tela aqui, este é um algoritmo, uma 203 00:13:49,040 --> 00:13:52,110 processo, um programa de computador se você quiser, a ser executado pelo 204 00:13:52,110 --> 00:13:53,850 seres humanos que tem apenas 3 etapas. 205 00:13:53,850 --> 00:13:55,010 Nós já estamos no passo 1. 206 00:13:55,010 --> 00:13:55,840 Você já se levantou. 207 00:13:55,840 --> 00:13:58,120 E agora pensar a si mesmo o número 1. 208 00:13:58,120 --> 00:13:59,310 Esse é o seu número atual. 209 00:13:59,310 --> 00:14:00,990 Todo mundo aqui é o número 1. 210 00:14:00,990 --> 00:14:04,360 Etapa 2, se envolver com alguém em pé, adicionar seus números 211 00:14:04,360 --> 00:14:07,155 juntos, e então adotar a soma como seu novo número. 212 00:14:15,760 --> 00:14:18,730 Um de vocês deve sentar-se, depois repita. 213 00:14:29,260 --> 00:14:33,715 >> COLUNA 1: 205. 214 00:14:33,715 --> 00:14:34,210 DAVID J. MALAN: O que é isso? 215 00:14:34,210 --> 00:14:35,200 COLUNA 1: 205. 216 00:14:35,200 --> 00:14:36,450 DAVID J. MALAN: OK. 217 00:14:43,120 --> 00:14:44,605 SPEAKER 2: Ele tem os outros. 218 00:14:58,120 --> 00:14:58,780 DAVID J. MALAN: 205? 219 00:14:58,780 --> 00:14:59,666 SPEAKER 3: Yeah. 220 00:14:59,666 --> 00:15:00,092 DAVID J. MALAN: OK. 221 00:15:00,092 --> 00:15:00,518 3. 222 00:15:00,518 --> 00:15:02,040 SPEAKER 4: 400. 223 00:15:02,040 --> 00:15:02,350 SPEAKER 5: 5. 224 00:15:02,350 --> 00:15:04,640 700. 225 00:15:04,640 --> 00:15:05,890 DAVID J. MALAN: Tudo bem. 226 00:15:09,110 --> 00:15:11,965 Neste ponto, cada vez menos pessoas devem estar de pé. 227 00:15:14,690 --> 00:15:17,860 Este é onde fica mais complicado. 228 00:15:17,860 --> 00:15:18,660 Alguém aqui. 229 00:15:18,660 --> 00:15:19,910 Aqui. 230 00:15:28,490 --> 00:15:31,170 A pior parte é que você também tem que fazer muito verbalmente 231 00:15:31,170 --> 00:15:33,830 aritmética na frente de centenas de Harvard 232 00:15:33,830 --> 00:15:35,080 graduandos. 233 00:15:40,790 --> 00:15:41,820 OK. 234 00:15:41,820 --> 00:15:43,140 Pouco mais de um bug aqui. 235 00:15:43,140 --> 00:15:43,490 Okay. 236 00:15:43,490 --> 00:15:44,490 Qual é o seu número? 237 00:15:44,490 --> 00:15:45,390 SPEAKER 6: Nine. 238 00:15:45,390 --> 00:15:45,815 DAVID J. MALAN: O que é isso? 239 00:15:45,815 --> 00:15:46,330 SPEAKER 6: Nine. 240 00:15:46,330 --> 00:15:47,040 DAVID J. MALAN: Nine. 241 00:15:47,040 --> 00:15:49,740 Okay. 242 00:15:49,740 --> 00:15:52,388 Qual é o seu número? 243 00:15:52,388 --> 00:15:53,780 COLUNA 7: 179. 244 00:15:53,780 --> 00:15:55,570 DAVID J. MALAN: 179? 245 00:15:55,570 --> 00:15:56,330 Okay. 246 00:15:56,330 --> 00:15:56,470 Bom. 247 00:15:56,470 --> 00:15:57,280 Então, 188. 248 00:15:57,280 --> 00:15:58,430 Então, vocês podem sentar-se. 249 00:15:58,430 --> 00:15:59,090 Qual é o seu número? 250 00:15:59,090 --> 00:16:00,090 SPEAKER 8: 118. 251 00:16:00,090 --> 00:16:02,260 DAVID J. MALAN: 118. 252 00:16:02,260 --> 00:16:05,310 Alguns graduação inteligente começar a fazer as contas. 253 00:16:05,310 --> 00:16:05,590 Okay. 254 00:16:05,590 --> 00:16:07,050 118, 188. 255 00:16:07,050 --> 00:16:10,022 O que mais temos? 256 00:16:10,022 --> 00:16:10,990 SPEAKER 9: 71. 257 00:16:10,990 --> 00:16:13,884 DAVID J. MALAN: 71. 258 00:16:13,884 --> 00:16:14,310 COLUNA 10: 79. 259 00:16:14,310 --> 00:16:15,510 DAVID J. MALAN: 79. 260 00:16:15,510 --> 00:16:17,100 Okay. 261 00:16:17,100 --> 00:16:18,080 COLUNA 11: 47. 262 00:16:18,080 --> 00:16:19,100 DAVID J. MALAN: 47. 263 00:16:19,100 --> 00:16:21,100 Que, pessoal docente, que nos dá quantos? 264 00:16:24,100 --> 00:16:27,690 705 é a resposta. 265 00:16:27,690 --> 00:16:29,905 E isso é, de fato, exatamente correto. 266 00:16:35,060 --> 00:16:36,970 Não, nós estávamos realmente um pouco lá fora. 267 00:16:36,970 --> 00:16:40,435 >> Mas como isso deve ter funcionado? 268 00:16:40,435 --> 00:16:41,940 O que deveria ter acontecido? 269 00:16:41,940 --> 00:16:45,560 Assim, a cada iteração do algoritmo, que começou com 270 00:16:45,560 --> 00:16:48,000 um número de pessoas em pé, e que foi o 271 00:16:48,000 --> 00:16:49,350 total de número n em primeiro lugar. 272 00:16:49,350 --> 00:16:51,750 Em seguida, a metade de você se sentou, e fomos para mais de 2 n. 273 00:16:51,750 --> 00:16:52,830 Em seguida, a metade de você se sentou. 274 00:16:52,830 --> 00:16:56,310 Fomos para n mais de 4, n superior a 8, n mais de 16, e assim por diante, 275 00:16:56,310 --> 00:16:59,080 até que, mesmo que o tipo de desintegração que no 276 00:16:59,080 --> 00:17:02,000 final, em teoria, ter todos emparelhados em sacada e 277 00:17:02,000 --> 00:17:05,780 mezanino e orquestra aqui, teríamos apenas um solitário 278 00:17:05,780 --> 00:17:11,790 pessoa de pé, com um valor total, neste caso, de 705. 279 00:17:11,790 --> 00:17:14,460 Agora, o que isso significa, porém, para o tempo de execução? 280 00:17:14,460 --> 00:17:16,829 Bem, se eu pensar sobre como o ser humano tinha feito isso manualmente. 281 00:17:16,829 --> 00:17:19,819 Eu teria começado bastante ingenuamente, mas corretamente com 1, 282 00:17:19,819 --> 00:17:23,740 2, 3, 4, 5, 6, 7, 8, e assim por diante. 283 00:17:23,740 --> 00:17:24,920 Leva algum tempo. 284 00:17:24,920 --> 00:17:25,980 Então eu posso fazer melhor, certo? 285 00:17:25,980 --> 00:17:27,690 Na escola, você não apenas contar em queridos. 286 00:17:27,690 --> 00:17:28,109 Você conta nos dois. 287 00:17:28,109 --> 00:17:30,050 Então, 2, 4, 6, 8, 10, 12. 288 00:17:30,050 --> 00:17:31,630 E isso fica muito mais rápido. 289 00:17:31,630 --> 00:17:34,620 Mas agora, fundamentalmente, aproveitando o coletivo 290 00:17:34,620 --> 00:17:37,070 inteligência de todos nesta sala, podemos alcançar um 291 00:17:37,070 --> 00:17:40,660 conter muito mais como esta, em que agora o número do 292 00:17:40,660 --> 00:17:42,450 pessoas nesta sala pode dobrar. 293 00:17:42,450 --> 00:17:45,940 Mais 700 pessoas entram este espaço para 1.400 pessoas, 294 00:17:45,940 --> 00:17:49,680 mas isso só nos leva mais uma iteração do 295 00:17:49,680 --> 00:17:50,880 algoritmo para resolver. 296 00:17:50,880 --> 00:17:53,170 >> E assim, cada vez mais nos dias de hoje, quando temos estes enorme 297 00:17:53,170 --> 00:17:55,860 conjuntos de dados no Facebook e Google e similares, é 298 00:17:55,860 --> 00:17:58,710 resolução de problemas com um pouco de discernimento, este bocado de 299 00:17:58,710 --> 00:18:02,280 esperteza, que está permitindo-nos cada vez mais para fazer muito, muito 300 00:18:02,280 --> 00:18:05,150 coisas mais poderosas com os computadores de hoje. 301 00:18:05,150 --> 00:18:07,340 Se você gosta desse tipo de coisa, você pode ter visto em 302 00:18:07,340 --> 00:18:10,650 Dia Facebook CS50 do próprio enigma chegando neste sábado. 303 00:18:10,650 --> 00:18:12,580 Se você gostaria de participar em algo como 304 00:18:12,580 --> 00:18:17,010 este pelo qual você, em 2 ou 3 ou 4 equipes de 4, gostaria de 305 00:18:17,010 --> 00:18:20,820 resolver alguns enigmas como este, você tem uma chance 306 00:18:20,820 --> 00:18:23,510 para ganhar alguns prémios fabulosos, entre os quais está um Wii e alguns 307 00:18:23,510 --> 00:18:25,900 cartões de presente ou alguns ganhos Facebook outro. 308 00:18:25,900 --> 00:18:28,660 Este sábado, meio-dia às 03:00, vá para 309 00:18:28,660 --> 00:18:33,440 cs50.net/rsvp para tal. 310 00:18:33,440 --> 00:18:35,940 E este slide é online, se você gostaria de brincar. 311 00:18:35,940 --> 00:18:38,010 Os problemas deste ano devem ser novos. 312 00:18:38,010 --> 00:18:40,210 >> Você pode notar na sala de aula, também, tudo o mais 313 00:18:40,210 --> 00:18:41,210 câmeras este ano. 314 00:18:41,210 --> 00:18:45,180 Assim, não só o curso ser filmado da maneira usual, CS50 315 00:18:45,180 --> 00:18:47,760 também podem tomar parte em um documentário sobre a maior 316 00:18:47,760 --> 00:18:50,370 educação que está a olhar para a experiência transformadora 317 00:18:50,370 --> 00:18:53,000 que um aluno pode ter estes dias em uma graduação 318 00:18:53,000 --> 00:18:53,870 curso do estudo. 319 00:18:53,870 --> 00:18:56,990 Então, para esses, então, não só estaremos filmando para 320 00:18:56,990 --> 00:19:00,170 que, estaremos filmando, bem como para cada vez mais a nossa 321 00:19:00,170 --> 00:19:03,670 audiência on-line, bem como em algumas ocasiões esta audiência aqui. 322 00:19:03,670 --> 00:19:05,880 Assim, congratulamo-nos com a classe este ano a nossa Harvard 323 00:19:05,880 --> 00:19:08,190 Alunos da Escola de Extensão, Escola Superior de Design, 324 00:19:08,190 --> 00:19:10,470 Educação, da escola de negócios, a Escola Kennedy, 325 00:19:10,470 --> 00:19:12,970 a faculdade de direito, bem como um número de alunos de 326 00:19:12,970 --> 00:19:16,140 Belmont, Lexington, Newton, e as escolas Watertown elevados. 327 00:19:16,140 --> 00:19:17,120 Bem-vindo a todos vocês. 328 00:19:17,120 --> 00:19:20,070 Além disso, este ano, você pode ter ouvido, Harvard e MIT, 329 00:19:20,070 --> 00:19:22,500 e Berkeley agora, entraram em uma colaboração 330 00:19:22,500 --> 00:19:26,020 parceria, uma iniciativa chamada EDX, que é um 331 00:19:26,020 --> 00:19:28,650 iniciativa de abrir-se a educação a todos os mais 332 00:19:28,650 --> 00:19:31,210 pessoas on-line e, fundamentalmente, começar a fazer 333 00:19:31,210 --> 00:19:34,400 pesquisa em uma escala muito mais ampla de como as pessoas aprendem. 334 00:19:34,400 --> 00:19:36,920 E assim CS50 será primeiro curso da faculdade 335 00:19:36,920 --> 00:19:38,790 participando de que a iniciativa também. 336 00:19:38,790 --> 00:19:41,320 O que significa que você terá acesso a todas as ferramentas mais, 337 00:19:41,320 --> 00:19:44,020 todo o conteúdo curricular mais, todo o vídeo mais 338 00:19:44,020 --> 00:19:48,190 conteúdo, como resultado, também, como da manhã de ontem, o 339 00:19:48,190 --> 00:19:52,210 53.019 pessoas que se inscreveram para tomar junto CS50 340 00:19:52,210 --> 00:19:55,290 com você este ano na Internet. 341 00:19:55,290 --> 00:19:56,530 Assim, sem - 342 00:19:56,530 --> 00:20:03,800 [Aplausos] 343 00:20:03,800 --> 00:20:05,680 Então, o que significa, em particular, é a de que o 344 00:20:05,680 --> 00:20:07,770 pessoal docente e passei um pouco de tempo, esta 345 00:20:07,770 --> 00:20:10,600 Verão preparar para a queda, tanto no campus e fora, assim 346 00:20:10,600 --> 00:20:13,580 que podemos começar a construir um corpus de interessante, de 347 00:20:13,580 --> 00:20:16,130 convincente, de se engajar conteúdo educacional que 348 00:20:16,130 --> 00:20:22,490 concentra-se, em particular, em que os veículos mais íntimas de 349 00:20:22,490 --> 00:20:23,960 material razoavelmente complexo. 350 00:20:23,960 --> 00:20:26,210 >> Assim, além de palestras do curso e seções e 351 00:20:26,210 --> 00:20:28,300 coisas chamadas orientações, o que nós vamos revisitar em apenas um 352 00:20:28,300 --> 00:20:31,620 pouco, também teremos esses shorts este ano, que permitem 353 00:20:31,620 --> 00:20:33,570 você se envolver com o curso de um ângulo diferente 354 00:20:33,570 --> 00:20:34,520 completamente. 355 00:20:34,520 --> 00:20:36,540 Então, vamos usar isso como uma oportunidade para dar uma rápida 356 00:20:36,540 --> 00:20:38,905 uma espiada no que discute a noção de binários. 357 00:20:38,905 --> 00:20:42,220 >> Assim, em ciência da computação, há coisas chamadas algoritmos - 358 00:20:42,220 --> 00:20:44,610 dois dos quais nós só deu uma olhada - estes procedimentos para 359 00:20:44,610 --> 00:20:45,690 resolução de problemas. 360 00:20:45,690 --> 00:20:46,770 Contudo, no final do dia, é necessário 361 00:20:46,770 --> 00:20:48,730 representar a informação de alguma forma. 362 00:20:48,730 --> 00:20:51,640 E você precisa para representá-lo de uma maneira que um computador pode 363 00:20:51,640 --> 00:20:52,400 entender. 364 00:20:52,400 --> 00:20:54,940 E mesmo se você realmente não entendo computadores e 365 00:20:54,940 --> 00:20:58,150 você está em que 76% agora, você provavelmente tem algum vaga 366 00:20:58,150 --> 00:21:01,860 sentido de que os computadores de alguma forma lidar em 0s e 1s, o binário 367 00:21:01,860 --> 00:21:03,160 sistema, por assim dizer. 368 00:21:03,160 --> 00:21:04,480 Agora, por que é que o caso? 369 00:21:04,480 --> 00:21:07,060 Bem, acontece que quando os computadores surgiu a primeira, se 370 00:21:07,060 --> 00:21:09,400 você precisava para representar as informações, você poderia fazê-lo 371 00:21:09,400 --> 00:21:10,600 com eletricidade. 372 00:21:10,600 --> 00:21:13,460 E, embora este é um pouco de uma simplificação, uma muito 373 00:21:13,460 --> 00:21:16,190 maneira fácil de informações de gravação ou é por 374 00:21:16,190 --> 00:21:18,000 transformar essa energia em - 375 00:21:18,000 --> 00:21:20,460 1 em binário, por assim dizer - ou virar 376 00:21:20,460 --> 00:21:22,100 que a eletricidade fora. 377 00:21:22,100 --> 00:21:24,080 >> Então, se Barry, se você não se importa, poderíamos diminuir as luzes 378 00:21:24,080 --> 00:21:26,000 totalmente apenas por um momento? 379 00:21:26,000 --> 00:21:29,730 Isso aqui é um 0 binário muito gratuita. 380 00:21:29,730 --> 00:21:33,830 Se ligar as luzes de volta, agora Sanders Theatre é 381 00:21:33,830 --> 00:21:35,860 que representa o valor binário 1. 382 00:21:35,860 --> 00:21:38,710 Infelizmente, com apenas um bit, com apenas um conjunto de 383 00:21:38,710 --> 00:21:41,070 luzes, só podemos representar dois números de 384 00:21:41,070 --> 00:21:42,690 mundo, 0 e 1. 385 00:21:42,690 --> 00:21:44,470 E seria bom se os computadores pudessem contar um 386 00:21:44,470 --> 00:21:45,340 pouco maior do que isso. 387 00:21:45,340 --> 00:21:46,370 Mas na verdade eles podem. 388 00:21:46,370 --> 00:21:49,230 Então deixe-me puxar para cima na tela aqui o nosso amigo Nate Hardison 389 00:21:49,230 --> 00:21:52,000 que vai nos dar uma olhada rápida ao longo de apenas alguns 390 00:21:52,000 --> 00:21:54,680 minutos, a esta noção de binário. 391 00:21:54,680 --> 00:22:01,870 >> [REPRODUÇÃO] 392 00:22:01,870 --> 00:22:03,450 NATE Hardison: Back quando você aprendeu a ler e escrever 393 00:22:03,450 --> 00:22:08,450 números, você aprendeu sobre os dígitos de 0 a 9. 394 00:22:08,450 --> 00:22:10,840 Para escrever números inteiros maiores do que 9, você aprendeu que tudo 395 00:22:10,840 --> 00:22:13,830 você tinha que fazer era usar alguma combinação desses dígitos, 396 00:22:13,830 --> 00:22:21,000 como em 52 e 437. 397 00:22:21,000 --> 00:22:23,220 Assim, esta forma de escrever números tem um 398 00:22:23,220 --> 00:22:25,620 notação nome, decimal. 399 00:22:25,620 --> 00:22:26,690 Por decimal? 400 00:22:26,690 --> 00:22:30,340 Bem, a raiz latina de uma decimal, Dezem, significa 10. 401 00:22:30,340 --> 00:22:33,190 E quando você tem 10 dígitos no seu sistema de notação, 10 402 00:22:33,190 --> 00:22:35,290 torna-se um número bastante especial. 403 00:22:35,290 --> 00:22:38,950 Vamos olhar para o número 437 escrito em notação decimal para 404 00:22:38,950 --> 00:22:40,340 entender o porquê. 405 00:22:40,340 --> 00:22:50,200 >> Podemos quebrar primeiro 437 em 400 mais 30 mais 7. 406 00:22:50,200 --> 00:22:56,050 Nós podemos desmontá-lo ainda mais, de modo que temos quatro vezes 100 407 00:22:56,050 --> 00:23:02,990 mais 3 vezes 10, mais de 7 vezes 1. 408 00:23:02,990 --> 00:23:05,970 Lembre-se de aprender sobre esses lugar, o lugar de dezenas, 409 00:23:05,970 --> 00:23:08,050 casa das centenas, e assim por diante? 410 00:23:08,050 --> 00:23:10,990 Este é exatamente onde isso vem. 411 00:23:10,990 --> 00:23:14,150 E, finalmente, podemos ver que temos um grupo de potências de 10 412 00:23:14,150 --> 00:23:15,770 incorporado aqui. 413 00:23:15,770 --> 00:23:25,330 Temos 4 vezes 10 elevado a 2 mais 3 vezes 10 elevado a 1 mais 414 00:23:25,330 --> 00:23:29,580 7 vezes 10 elevado a 0. 415 00:23:29,580 --> 00:23:31,330 Então agora você vê porque 10 é um especial 416 00:23:31,330 --> 00:23:33,240 número de notação decimal. 417 00:23:33,240 --> 00:23:35,240 Na verdade, temos um nome para ele. 418 00:23:35,240 --> 00:23:38,170 É chamado de base, já que é a base do expoente 419 00:23:38,170 --> 00:23:39,960 em nossa aritmética aqui. 420 00:23:39,960 --> 00:23:43,190 >> Notação decimal não é a única maneira de representar números. 421 00:23:43,190 --> 00:23:48,020 De fato, mesmo se livrar dos dois dígitos a 9, podemos 422 00:23:48,020 --> 00:23:49,610 ainda representam todos os números que 423 00:23:49,610 --> 00:23:51,620 podíamos com decimal. 424 00:23:51,620 --> 00:23:56,220 Portanto, agora temos dois dígitos, 0 e 1, 2 é o nosso especial 425 00:23:56,220 --> 00:23:59,070 número, a base do nosso sistema de notação. 426 00:23:59,070 --> 00:24:02,340 O nome deste sistema é chamado notação binária desde 427 00:24:02,340 --> 00:24:04,890 o prefixo "bi" significa dois. 428 00:24:04,890 --> 00:24:08,130 Então, ao invés de ter agora um lugar e as dezenas lugar e 429 00:24:08,130 --> 00:24:11,950 assim por diante, agora temos um lugar queridos, um lugar dois, um fours 430 00:24:11,950 --> 00:24:15,420 lugar, e assim por diante, vai-se por potências de 2. 431 00:24:15,420 --> 00:24:17,320 Então vamos ver isso fazendo algum contagem. 432 00:24:17,320 --> 00:24:22,790 Assim, 0 é ainda 0, e 1 é ainda 1. 433 00:24:22,790 --> 00:24:25,700 No entanto, agora que temos um lugar duplas em vez das dezenas 434 00:24:25,700 --> 00:24:31,070 lugar, 10 representa o número 2. 435 00:24:31,070 --> 00:24:36,240 Para obter 3, adicionar um para que e obter 11. 436 00:24:36,240 --> 00:24:38,310 4, já que agora há um lugar quatro, é 437 00:24:38,310 --> 00:24:42,520 representado por 100. 438 00:24:42,520 --> 00:24:47,280 Cinco é 101. 439 00:24:47,280 --> 00:24:50,610 6 é 110. 440 00:24:50,610 --> 00:24:54,470 7 é 111. 441 00:24:54,470 --> 00:24:56,330 8, mais uma vez, tem o seu próprio lugar. 442 00:24:56,330 --> 00:25:00,650 Então é 1000. 443 00:25:00,650 --> 00:25:01,750 E eu acho que você começa o ponto. 444 00:25:01,750 --> 00:25:03,510 [REPRODUÇÃO FIM] 445 00:25:03,510 --> 00:25:06,900 >> DAVID J. MALAN: Então, isso é, o que os computadores fazem e 446 00:25:06,900 --> 00:25:09,650 o binário é que não é realmente muito diferente do que 447 00:25:09,650 --> 00:25:12,260 temos tomado para concedido por alguns anos, certo? 448 00:25:12,260 --> 00:25:14,330 Você acha que a escola primária, aprendeu a contar precisamente na 449 00:25:14,330 --> 00:25:16,310 a moda que Nate proposto. 450 00:25:16,310 --> 00:25:18,250 Mas provavelmente você não tenha pensado nisso, pois, 451 00:25:18,250 --> 00:25:19,990 o fato de que há esse lugar queridos, dezenas lugar, e 452 00:25:19,990 --> 00:25:20,490 centenas lugar. 453 00:25:20,490 --> 00:25:21,185 E isso é muito arbitrária. 454 00:25:21,185 --> 00:25:24,090 E, de fato, os computadores simplesmente usar esta base diferente. 455 00:25:24,090 --> 00:25:27,430 Contudo, no final do dia, para representar fisicamente 456 00:25:27,430 --> 00:25:30,100 esta noção de 0 e 1, você obviamente não é só virar a 457 00:25:30,100 --> 00:25:31,630 luzes e desligar necessariamente. 458 00:25:31,630 --> 00:25:33,960 Você precisa fazê-lo em uma escala muito mais refinado. 459 00:25:33,960 --> 00:25:36,240 E, por mais refinado, você pode se lembrar esta bobagem 460 00:25:36,240 --> 00:25:38,990 brinquedo da infância, Willy Woolly e estes pouco 461 00:25:38,990 --> 00:25:40,360 partículas magnéticas. 462 00:25:40,360 --> 00:25:43,830 >> Então partículas magnéticas são algo que você pode alinhar 463 00:25:43,830 --> 00:25:45,720 em um par de diferentes direções, talvez 464 00:25:45,720 --> 00:25:47,780 norte-sul ou sul-norte. 465 00:25:47,780 --> 00:25:50,340 E assim uma série de encarnações físicas de tecnologia 466 00:25:50,340 --> 00:25:53,410 estes dias que usam binário, que usam 0s e 1s, simplesmente 467 00:25:53,410 --> 00:25:58,190 têm magnetismo no interior que alinha as coisas, de cima para baixo ou 468 00:25:58,190 --> 00:26:01,970 estabelece-se, assim, com o que representa um 0 ou um 1, 469 00:26:01,970 --> 00:26:02,750 respectivamente. 470 00:26:02,750 --> 00:26:05,360 Então, na verdade, vamos afastar-se o resumo aqui e 471 00:26:05,360 --> 00:26:07,580 olhar para o interior do que é uma mais tradicional 472 00:26:07,580 --> 00:26:08,640 disco rígido do computador. 473 00:26:08,640 --> 00:26:10,980 Este passa a ser um pouco maior na tela em que é 474 00:26:10,980 --> 00:26:12,420 de um computador desktop. 475 00:26:12,420 --> 00:26:15,670 Mas os laptops de hoje ainda têm a mesma tecnologia, mas é 476 00:26:15,670 --> 00:26:18,190 sendo gradualmente substituídos por coisas mais sofisticadas que 477 00:26:18,190 --> 00:26:20,490 realmente sem partes móveis. 478 00:26:20,490 --> 00:26:22,440 O interior, então, de um disco rígido. 479 00:26:22,440 --> 00:26:23,610 >> [REPRODUÇÃO] 480 00:26:23,610 --> 00:26:26,320 COLUNA 12: O disco rígido é onde o PC armazena a maioria dos 481 00:26:26,320 --> 00:26:27,870 seus dados permanentes. 482 00:26:27,870 --> 00:26:31,600 Para isso, os dados viajam de RAM juntamente com o software 483 00:26:31,600 --> 00:26:35,290 sinais que dizem o disco rígido como armazenar os dados. 484 00:26:35,290 --> 00:26:38,000 Os circuitos de disco rígido traduzir esses sinais em 485 00:26:38,000 --> 00:26:40,130 flutuações de tensão. 486 00:26:40,130 --> 00:26:43,700 Estes, por sua vez controlam partes móveis do disco rígido, alguns dos 487 00:26:43,700 --> 00:26:46,750 poucas partes móveis deixados no computador moderno. 488 00:26:46,750 --> 00:26:49,460 Alguns dos sinais de controlo de um motor que gira 489 00:26:49,460 --> 00:26:51,300 metal-revestidos Platters. 490 00:26:51,300 --> 00:26:54,670 Seus dados são realmente armazenados nestes discos. 491 00:26:54,670 --> 00:26:57,810 Outros sinais mover a cabeça de leitura e escrita para ler ou 492 00:26:57,810 --> 00:26:59,900 escrever dados sobre os pratos. 493 00:26:59,900 --> 00:27:03,520 Esta máquina é tão precisa que um cabelo humano não poderia 494 00:27:03,520 --> 00:27:06,470 mesmo passar entre as cabeças e pratos giratórios. 495 00:27:06,470 --> 00:27:08,780 No entanto, tudo funciona a velocidades incríveis. 496 00:27:08,780 --> 00:27:09,520 [REPRODUÇÃO FIM] 497 00:27:09,520 --> 00:27:11,410 >> DAVID J. MALAN: Então, se nós agora ampliar o que está realmente 498 00:27:11,410 --> 00:27:14,300 ocorrendo no topo dessas travessas em termos da 499 00:27:14,300 --> 00:27:17,470 magnetismo, temos este segundo de dois olhares. 500 00:27:17,470 --> 00:27:17,755 >> [REPRODUÇÃO] 501 00:27:17,755 --> 00:27:20,820 COLUNA 13: Vamos olhar para o que acabamos de ver em câmera lenta. 502 00:27:20,820 --> 00:27:23,300 Quando um breve pulso de energia é enviado para o 503 00:27:23,300 --> 00:27:26,520 leitura e escrita cabeça, ele vira em um eletroímã pequena para um 504 00:27:26,520 --> 00:27:28,110 fracção de segundo. 505 00:27:28,110 --> 00:27:31,320 O magneto cria um campo que muda a polaridade 506 00:27:31,320 --> 00:27:34,280 uma porção diminuta das partículas de metal que revestem 507 00:27:34,280 --> 00:27:35,790 superfície de cada prato. 508 00:27:35,790 --> 00:27:39,090 Uma série padrão destas pequenas áreas carregada no disco 509 00:27:39,090 --> 00:27:41,650 representa um único bit de dados do número binário 510 00:27:41,650 --> 00:27:43,680 sistema usado pelos computadores. 511 00:27:43,680 --> 00:27:45,977 Agora, se a corrente é enviada uma maneira através da leitura e escrita 512 00:27:45,977 --> 00:27:49,030 cabeça, a área é polarizada em uma direção. 513 00:27:49,030 --> 00:27:51,110 Se a corrente é definido no sentido oposto, o 514 00:27:51,110 --> 00:27:53,070 polarização é invertida. 515 00:27:53,070 --> 00:27:55,540 Como você obter os dados de um disco rígido? 516 00:27:55,540 --> 00:27:57,270 Apenas reverter o processo. 517 00:27:57,270 --> 00:27:59,670 Por isso é que as partículas no disco que começa a corrente em 518 00:27:59,670 --> 00:28:01,190 a cabeça de leitura e escrita em movimento. 519 00:28:01,190 --> 00:28:04,090 Juntos milhões desses segmentos magnetizadas e você tem 520 00:28:04,090 --> 00:28:05,300 tenho um arquivo. 521 00:28:05,300 --> 00:28:08,600 Agora, as peças de um único arquivo podem ser espalhados por todo 522 00:28:08,600 --> 00:28:11,140 pratos de uma unidade, como o tipo de bagunça 523 00:28:11,140 --> 00:28:13,140 papéis sobre sua mesa. 524 00:28:13,140 --> 00:28:16,680 Assim, um arquivo extra especial mantém o controle de onde está tudo. 525 00:28:16,680 --> 00:28:18,560 Você não gostaria de ter algo assim? 526 00:28:18,560 --> 00:28:19,990 [REPRODUÇÃO FIM] 527 00:28:19,990 --> 00:28:21,200 >> DAVID J. MALAN: Realmente. 528 00:28:21,200 --> 00:28:25,420 Então, nós temos essa capacidade de representar informações, números 529 00:28:25,420 --> 00:28:26,310 em um nível muito baixo. 530 00:28:26,310 --> 00:28:29,920 Nós temos uma forma física de representar a mesma coisa. 531 00:28:29,920 --> 00:28:32,710 Mas não podemos fazer tudo o que de muito interesse ainda 532 00:28:32,710 --> 00:28:34,580 à excepção talvez de alguma aritmética e matemática. 533 00:28:34,580 --> 00:28:37,660 Nós não temos nenhuma maneira de representar as coisas, até agora, como 534 00:28:37,660 --> 00:28:40,310 letras do alfabeto para que nós, os seres humanos podem se comunicar 535 00:28:40,310 --> 00:28:41,970 usando estes mesmos dispositivos. 536 00:28:41,970 --> 00:28:45,710 Mas, felizmente, existe codificações, padrões de 0s e 537 00:28:45,710 --> 00:28:49,240 1s, que representam construções de nível superior, como a e b 538 00:28:49,240 --> 00:28:52,740 e c e frases inteiras e parágrafos e afins. 539 00:28:52,740 --> 00:28:56,070 E assim ASCII, que é uma sigla que se refere a esta 540 00:28:56,070 --> 00:29:00,410 sistema de codificação no qual um número representa uma carta dada. 541 00:29:00,410 --> 00:29:04,580 >> Por exemplo, o número que se sabe como valor decimal 65 é 542 00:29:04,580 --> 00:29:06,980 conhecido como a letra maiúscula de A a computadores. 543 00:29:06,980 --> 00:29:10,700 O valor decimal de 97 em computadores é conhecido como um 544 00:29:10,700 --> 00:29:11,980 minúsculas um. 545 00:29:11,980 --> 00:29:13,070 E o que isso realmente significa? 546 00:29:13,070 --> 00:29:15,520 Bem, mesmo que Nate há um momento só contava-se 547 00:29:15,520 --> 00:29:20,460 0-8, se tivéssemos de continuar a contar até 65 ou 548 00:29:20,460 --> 00:29:24,180 ainda mais a 97, o padrão de 0s e 1s que ele teria 549 00:29:24,180 --> 00:29:27,810 desenhados na tela seria exatamente o que um computador usa 550 00:29:27,810 --> 00:29:30,300 para representar a letra A em todas as tampas ou 551 00:29:30,300 --> 00:29:32,470 a letra em minúsculo. 552 00:29:32,470 --> 00:29:35,460 E, de fato, há um esquema inteiro para isso. 553 00:29:35,460 --> 00:29:38,170 Esta é uma, à primeira vista gráfico, esmagadora de 554 00:29:38,170 --> 00:29:41,150 codificações, mas se você se concentrar apenas na metade direita aqui, 555 00:29:41,150 --> 00:29:45,820 notar nesta coluna do meio temos esta noção de números 556 00:29:45,820 --> 00:29:46,860 seguido por letras. 557 00:29:46,860 --> 00:29:48,640 E no topo temos 32. 558 00:29:48,640 --> 00:29:53,270 E o personagem, char, a que 32, o número inteiro, refere-se 559 00:29:53,270 --> 00:29:55,220 é, aparentemente, o personagem Barra de Espaço. 560 00:29:55,220 --> 00:29:57,350 Quando você bate o personagem Barra de espaço em seu laptop, 561 00:29:57,350 --> 00:30:00,110 bem, o que você realmente está enviando é um número, um padrão 562 00:30:00,110 --> 00:30:02,620 de 0s e 1s, um fluxo de eletricidade se você, 563 00:30:02,620 --> 00:30:05,630 representando os 0s e 1s que o computador do então 564 00:30:05,630 --> 00:30:08,190 interpreta como um caractere de espaço na tela. 565 00:30:08,190 --> 00:30:10,070 Um ponto de exclamação é de 33. 566 00:30:10,070 --> 00:30:11,210 Aspas é de 34. 567 00:30:11,210 --> 00:30:14,890 E se rolar aqui para a direita, vemos que 568 00:30:14,890 --> 00:30:18,840 65 é realmente um, e 97 é de fato um minúsculas. 569 00:30:18,840 --> 00:30:21,690 >> E agora que temos este esquema de codificação, podemos começar 570 00:30:21,690 --> 00:30:22,920 de falar as coisas para fora. 571 00:30:22,920 --> 00:30:27,180 Na verdade, os computadores normalmente se expressam no padrão 572 00:30:27,180 --> 00:30:29,980 unidades não, utilizando um bit individual, o que mais uma vez não é tudo 573 00:30:29,980 --> 00:30:33,630 que útil apenas para representar 0 ou 1, luzes acesas ou apagadas, mas 574 00:30:33,630 --> 00:30:35,390 sim usando seqüências de bits. 575 00:30:35,390 --> 00:30:37,610 E a unidade mais comum de medida, como você deve saber 576 00:30:37,610 --> 00:30:39,370 e ou, pelo menos, está implícito, é um byte. 577 00:30:39,370 --> 00:30:43,820 Um byte é apenas oito bits, oito 0s ou 1s em uma fileira. 578 00:30:43,820 --> 00:30:45,950 Assim, podemos iniciar a grafia coisas. 579 00:30:45,950 --> 00:30:48,990 E assim, se pudéssemos, por que não tentar isso um pouco 580 00:30:48,990 --> 00:30:50,440 coletivamente aqui. 581 00:30:50,440 --> 00:30:53,630 Há oito pessoas nesta sala que estariam dispostos a 582 00:30:53,630 --> 00:30:54,660 subir ao palco? 583 00:30:54,660 --> 00:30:57,790 Você tem que ser confortável aparecer na câmera, mas você 584 00:30:57,790 --> 00:30:59,860 realmente não precisa saber, caso contrário, o que é 585 00:30:59,860 --> 00:31:01,550 acontecendo ainda. 586 00:31:01,550 --> 00:31:05,080 Eu vejo uma pessoa a ser voluntária aqui. 587 00:31:05,080 --> 00:31:16,220 Dois, três, quatro, cinco, seis, sete, e como cerca de oito. 588 00:31:16,220 --> 00:31:16,800 Vamos para cima. 589 00:31:16,800 --> 00:31:20,390 >> Então, você está prestes a representar um byte de pessoas. 590 00:31:20,390 --> 00:31:26,750 Deixe-me ter você ser o lugar do 128, você lugar a 64, você 591 00:31:26,750 --> 00:31:28,050 o 32 é lugar. 592 00:31:28,050 --> 00:31:30,530 Mas nós vamos ter muito rapidamente para reverter isso. 593 00:31:30,530 --> 00:31:33,030 Então deixe-me conhecer todos vocês lá. 594 00:31:33,030 --> 00:31:37,230 E você deve estar no lugar do 128 de todo o caminho até aqui. 595 00:31:37,230 --> 00:31:39,500 Muito parecido com o lugar das centenas e milhares seria o lugar 596 00:31:39,500 --> 00:31:42,050 ser mais para a esquerda, nós queremos o maior espaço reservado 597 00:31:42,050 --> 00:31:43,600 de estar aqui na esquerda também. 598 00:31:43,600 --> 00:31:53,090 Temos 32 64s, a 16, a 8'S, 4'S, 2'S, e 1. 599 00:31:53,090 --> 00:31:53,900 Excelente. 600 00:31:53,900 --> 00:31:56,090 Portanto, agora temos - 601 00:31:56,090 --> 00:31:58,050 OK, você pode me ajudar. 602 00:31:58,050 --> 00:32:00,085 Portanto, agora temos - o que é o seu nome? 603 00:32:00,085 --> 00:32:00,420 JOANNE: Joanne. 604 00:32:00,420 --> 00:32:00,830 DAVID J. MALAN: Joanne. 605 00:32:00,830 --> 00:32:04,100 Então, Joanne e eu estamos indo agora para aconselhar esses caras de como nós 606 00:32:04,100 --> 00:32:05,860 pode ir sobre ortografia algo. 607 00:32:05,860 --> 00:32:07,730 Assim, nas costas de suas folhas de papel, eles têm uma 608 00:32:07,730 --> 00:32:10,160 cheat sheet pouco que vai dizer-lhes se 609 00:32:10,160 --> 00:32:12,590 estavam representando um 0 ou um 1. 610 00:32:12,590 --> 00:32:15,870 E por que não, para simplificar, vamos representar por apenas 0 611 00:32:15,870 --> 00:32:17,440 ali sem jeito. 612 00:32:17,440 --> 00:32:18,220 Muito bom. 613 00:32:18,220 --> 00:32:22,060 Ou um. 1, levantando a mão, o que representa um 1 614 00:32:22,060 --> 00:32:25,430 E vamos ver se não podemos enunciar a quatro caracteres 615 00:32:25,430 --> 00:32:26,250 frase aqui. 616 00:32:26,250 --> 00:32:30,930 >> Então, vá em frente, voluntários, e executar uma rodada por 617 00:32:30,930 --> 00:32:33,390 levantar a mão se você é um 1 ou mantê-lo 618 00:32:33,390 --> 00:32:36,820 para baixo, se você é um 0. 619 00:32:36,820 --> 00:32:42,280 Então, agora que temos estes três mãos para cima, o número que, 620 00:32:42,280 --> 00:32:45,670 todos os outros, que eles estão realmente representando? 621 00:32:45,670 --> 00:32:45,950 OK. 622 00:32:45,950 --> 00:32:46,290 67. 623 00:32:46,290 --> 00:32:46,910 Por quê? 624 00:32:46,910 --> 00:32:47,830 Bem, sanidade rápido check. 625 00:32:47,830 --> 00:32:53,200 64 lugar, porque é um 1, que é como um 64 vezes mais 1 626 00:32:53,200 --> 00:32:56,565 vezes 2, de modo que é 66 vezes mais 1 1. 627 00:32:56,565 --> 00:32:58,470 Isso é mais um, então 67. 628 00:32:58,470 --> 00:33:01,020 Então, agora esses caras são coletivamente representam 67 629 00:33:01,020 --> 00:33:04,110 que, aparentemente, representa o que aqui em ASCII? 630 00:33:04,110 --> 00:33:04,380 OK. 631 00:33:04,380 --> 00:33:05,140 Assim, um c. 632 00:33:05,140 --> 00:33:05,510 Tudo bem. 633 00:33:05,510 --> 00:33:07,400 Então agora vamos avançar para a segunda rodada. 634 00:33:07,400 --> 00:33:08,940 Todo mundo começando com as mãos para baixo. 635 00:33:08,940 --> 00:33:10,590 E na segunda rodada - 636 00:33:10,590 --> 00:33:12,410 na verdade, não há muito de um papel aqui, eu suponho, mas 637 00:33:12,410 --> 00:33:13,130 vamos fingir. 638 00:33:13,130 --> 00:33:17,690 Então a segunda rodada, aumentar ou diminuir suas mãos. 639 00:33:17,690 --> 00:33:18,380 >> Tudo bem. 640 00:33:18,380 --> 00:33:22,700 Audiência, o que estamos agora expressar é de 83. 641 00:33:22,700 --> 00:33:23,910 Então, você poderia fazer a matemática. 642 00:33:23,910 --> 00:33:27,000 Mas para qualquer um cuja mão está acima, você adicionar o número que 643 00:33:27,000 --> 00:33:27,670 eles representam. 644 00:33:27,670 --> 00:33:29,470 Portanto, agora temos 83. 645 00:33:29,470 --> 00:33:32,140 Vamos expandir a folha de fraude um pouco, e agora temos -? 646 00:33:32,140 --> 00:33:34,340 [Inaudível] 647 00:33:34,340 --> 00:33:35,370 DAVID J. MALAN: OK. 648 00:33:35,370 --> 00:33:36,740 Isso pode ser óbvio para onde estamos indo aqui, mas 649 00:33:36,740 --> 00:33:40,080 no entanto rodada, três. 650 00:33:40,080 --> 00:33:40,455 OK. 651 00:33:40,455 --> 00:33:41,730 Em volta de três é bom para ir para lá. 652 00:33:41,730 --> 00:33:44,450 Assim terceiro round, o número são esses caras agora 653 00:33:44,450 --> 00:33:45,700 representando? 654 00:33:47,940 --> 00:33:48,200 OK. 655 00:33:48,200 --> 00:33:51,770 Ouvi de 53 anos, que agora representa? 656 00:33:51,770 --> 00:33:54,550 Interessante. 657 00:33:54,550 --> 00:33:58,630 Agora, por que esse tipo de resultado intuitivo contador, certo? 658 00:33:58,630 --> 00:34:00,890 Se queremos representar 5 - todos nós provavelmente sabe 659 00:34:00,890 --> 00:34:01,770 onde isso vai dar - 660 00:34:01,770 --> 00:34:05,230 por que eu não apenas levantar lugar a 4 e coloque a 1 de? 661 00:34:05,230 --> 00:34:07,340 >> Bem, saiba que há uma diferença, fundamentalmente, 662 00:34:07,340 --> 00:34:09,630 entre a forma como um computador interpreta esses bits. 663 00:34:09,630 --> 00:34:13,030 Se você está tentando representar o número 5, em seguida, de forma absoluta, 664 00:34:13,030 --> 00:34:16,199 nós apenas levantar 4 número da mão e levantar mão número 1. 665 00:34:16,199 --> 00:34:17,880 Mas não estamos representando números aqui. 666 00:34:17,880 --> 00:34:20,710 O contexto aqui no palco é que estamos representando 667 00:34:20,710 --> 00:34:22,300 caracteres ou caracteres. 668 00:34:22,300 --> 00:34:25,139 E, neste contexto, o computador tem de perceber que, 669 00:34:25,139 --> 00:34:28,780 oh, esse padrão de bits não é um número sozinho, é 670 00:34:28,780 --> 00:34:31,620 na verdade, o que representa um conceito de nível superior, neste caso, uma 671 00:34:31,620 --> 00:34:32,840 letra alfabética. 672 00:34:32,840 --> 00:34:36,600 Assim, o facto de ser agora representa o número 5, com 673 00:34:36,600 --> 00:34:40,550 o valor de 53 porque a coisa em ASCII nós 674 00:34:40,550 --> 00:34:44,280 esteticamente ver como o número 5 em si precisa de um 675 00:34:44,280 --> 00:34:45,290 padrão de bits. 676 00:34:45,290 --> 00:34:46,080 Por quê? 677 00:34:46,080 --> 00:34:48,780 Bem, o mundo só decidiu usar os números mais baixos, 0, 678 00:34:48,780 --> 00:34:51,989 1, 2, 3, para o que parecem ser coisas bastante enigmáticas. 679 00:34:51,989 --> 00:34:54,070 E, de fato, estes são os personagens que não estão em um 680 00:34:54,070 --> 00:34:56,870 teclado, expressões especiais que você precisa em um computador para 681 00:34:56,870 --> 00:34:58,800 fazer coisas interessantes, mas os seres humanos nunca 682 00:34:58,800 --> 00:34:59,880 realmente os digita. 683 00:34:59,880 --> 00:35:02,080 Assim, de facto representa 53 5. 684 00:35:02,080 --> 00:35:08,320 Agora, assim como um teste de sanidade final, o número deve se 685 00:35:08,320 --> 00:35:10,356 representar em apenas um momento? 686 00:35:10,356 --> 00:35:10,752 AUDIÊNCIA: 48. 687 00:35:10,752 --> 00:35:11,150 DAVID J. MALAN: OK. 688 00:35:11,150 --> 00:35:11,920 Então, 48. 689 00:35:11,920 --> 00:35:12,770 E, de fato, vá em frente. 690 00:35:12,770 --> 00:35:14,020 Quarta rodada. 691 00:35:16,510 --> 00:35:20,540 16 mais 32 é, na verdade, 48. 692 00:35:20,540 --> 00:35:22,830 E assim, um grande aplauso, se pudéssemos, para o nosso 693 00:35:22,830 --> 00:35:25,382 oito voluntários aqui. 694 00:35:25,382 --> 00:35:25,870 Obrigado. 695 00:35:25,870 --> 00:35:27,822 Você pode manter este. 696 00:35:27,822 --> 00:35:29,286 Se você - 697 00:35:29,286 --> 00:35:30,536 Muito bem feito. 698 00:35:33,140 --> 00:35:34,360 Qualquer direção é bom. 699 00:35:34,360 --> 00:35:37,950 >> Então, agora temos uma forma não só de pensar sobre como 700 00:35:37,950 --> 00:35:40,810 representam dados e, na verdade, representando-o fisicamente, 701 00:35:40,810 --> 00:35:43,650 mas também fazer de alto nível as coisas em cima dela. 702 00:35:43,650 --> 00:35:45,640 Na verdade, este vai ser um tema em todo computador 703 00:35:45,640 --> 00:35:48,630 ciência da construção de mais complexo e mais interessante 704 00:35:48,630 --> 00:35:52,170 coisas em cima de idéias bastante simples, neste 705 00:35:52,170 --> 00:35:54,040 caso apenas 0s e 1s. 706 00:35:54,040 --> 00:35:57,270 Em termos de por que isso é útil, bem, embora em um 707 00:35:57,270 --> 00:35:59,760 curso como este, vamos nos concentrar em fundamentos e em 708 00:35:59,760 --> 00:36:03,120 programação e na resolução de problemas, você pode sair em 709 00:36:03,120 --> 00:36:04,970 ciência da computação em qualquer número de instruções. 710 00:36:04,970 --> 00:36:07,600 Neste caso aqui, este é um gráfico que você tem no 711 00:36:07,600 --> 00:36:11,120 verso do seu guia não-oficial de CS em Harvard, uma das 712 00:36:11,120 --> 00:36:12,450 hoje duas impressões. 713 00:36:12,450 --> 00:36:14,270 Isto sugere que as muitas direcções diferentes em que 714 00:36:14,270 --> 00:36:16,270 você pode ir atrás de um curso como este. 715 00:36:16,270 --> 00:36:19,170 Aprender sobre inteligência artificial, sobre gráficos, 716 00:36:19,170 --> 00:36:22,230 sobre a aprendizagem de máquina, sobre a própria linguagem. 717 00:36:22,230 --> 00:36:23,975 Perceber, também, que existem ainda outros caminhos. 718 00:36:23,975 --> 00:36:26,550 Há caminhos mais matemáticas em ciência da computação. 719 00:36:26,550 --> 00:36:29,020 Se você não for mesmo capaz de tomar algo como este CS50 720 00:36:29,020 --> 00:36:30,930 cair, há cursos introdutórios na primavera. 721 00:36:30,930 --> 00:36:33,420 Computer Science 1, por exemplo, é ainda uma outra 722 00:36:33,420 --> 00:36:35,920 rampa de acesso a este novo mundo. 723 00:36:35,920 --> 00:36:38,230 >> Agora, como um aparte, no interesse de resolver problemas 724 00:36:38,230 --> 00:36:41,380 relacionado aos cursos, perceber que o conjunto CS50 fora algum tempo 725 00:36:41,380 --> 00:36:44,405 atrás para tentar resolver um destes problemas, problema conhecido 726 00:36:44,405 --> 00:36:47,500 como my.harvard, que muitos de vocês podem estar usando para realmente 727 00:36:47,500 --> 00:36:48,480 compras para cursos. 728 00:36:48,480 --> 00:36:51,900 Mas se não, confira uma ferramenta como esta, assim como outras 729 00:36:51,900 --> 00:36:54,130 descendentes que alguns dos nossos antigos alunos 730 00:36:54,130 --> 00:36:55,660 e equipe criaram. 731 00:36:55,660 --> 00:36:57,970 Mas em Cursos de Harvard, que é uma ferramenta baseada na Web - 732 00:36:57,970 --> 00:37:00,680 algo que você vai ser capaz de projetar e 733 00:37:00,680 --> 00:37:04,610 implantar-se, assim como ainda outros aspectos, bem como, por 734 00:37:04,610 --> 00:37:05,920 o fim do semestre. 735 00:37:05,920 --> 00:37:08,890 Perceber que esta se baseia em um conjunto de dados aberta, neste caso 736 00:37:08,890 --> 00:37:11,350 um catálogo de cursos, e permite que os alunos, neste caso, a 737 00:37:11,350 --> 00:37:14,180 explorar um conjunto bastante complexo de dados. 738 00:37:14,180 --> 00:37:16,710 >> Nós cavamos a noite passada algumas estatísticas baseadas em poucos 739 00:37:16,710 --> 00:37:18,200 mil pessoas que vêm usando este sobre 740 00:37:18,200 --> 00:37:19,380 os últimos dias. 741 00:37:19,380 --> 00:37:22,630 Se você foi curioso para saber quantos cursos seus amigos 742 00:37:22,630 --> 00:37:25,900 realmente tendem a fazer compras, bem, hoje é dado sugere que 743 00:37:25,900 --> 00:37:29,260 7.6 é o número médio de cursos de 744 00:37:29,260 --> 00:37:30,470 lista de alguém de compras. 745 00:37:30,470 --> 00:37:33,730 E agora eu vou dar-lhe, também, a estatística das mais 746 00:37:33,730 --> 00:37:36,500 número de cursos na lista de alguém de compras. 747 00:37:36,500 --> 00:37:38,220 E todos nós provavelmente conhece alguém assim. 748 00:37:41,700 --> 00:37:44,610 201 é recorde este ano. 749 00:37:44,610 --> 00:37:47,220 Agora, alguns de nossos ex-alunos e funcionários, na verdade, 750 00:37:47,220 --> 00:37:52,210 montar um clipe para pintar um quadro para você do que este 751 00:37:52,210 --> 00:37:55,220 caminho da ciência da computação e CS50 em si é. 752 00:37:55,220 --> 00:37:58,350 Deixe-me ir em frente e puxe-se, graças ao Sr. Hahvahd aqui, um 753 00:37:58,350 --> 00:38:02,390 vídeo produzido por alguns de seus antecessores. 754 00:38:02,390 --> 00:38:04,680 Se pudéssemos manter as luzes se para isso. 755 00:38:07,860 --> 00:39:08,101 [REPRODUÇÃO] 756 00:39:08,101 --> 00:39:11,987 [REPRODUÇÃO FIM] 757 00:39:11,987 --> 00:39:14,160 >> COLUNA 14: (cantando) Levamos nosso tempo com alguns zero, 758 00:39:14,160 --> 00:39:17,410 para loops, eventos, podemos combinar, compilar, usando o nosso 759 00:39:17,410 --> 00:39:20,370 bash, este termo não será um tédio. 760 00:39:20,370 --> 00:39:23,970 Hacking divertido, algumas refeições gratuitas, palestras são simplesmente irreal, 761 00:39:23,970 --> 00:39:28,200 nossa feira é um negócio tão grande, há tanta coisa para adorar. 762 00:39:28,200 --> 00:39:29,784 Vá, David Malan. 763 00:39:29,784 --> 00:39:31,810 Passo a passo, eu não estou fiando. 764 00:39:31,810 --> 00:39:33,794 As horas de expediente, ninguém está falhando. 765 00:39:33,794 --> 00:39:36,274 Onde você pensa que está de codificação, baby? 766 00:39:36,274 --> 00:39:40,242 Hey, eu só conheci você e isso é loucura, 767 00:39:40,242 --> 00:39:42,226 mas aqui é a nossa razão. 768 00:39:42,226 --> 00:39:44,210 Tome CS50. 769 00:39:44,210 --> 00:39:48,674 É difícil para a direita código sem você, baby. 770 00:39:48,674 --> 00:39:50,658 Mas aqui está a nossa razão. 771 00:39:50,658 --> 00:39:52,146 Tome CS50. 772 00:39:52,146 --> 00:39:56,610 Hey, eu só conheci você e isso é loucura, 773 00:39:56,610 --> 00:39:58,098 mas aqui é a nossa razão. 774 00:39:58,098 --> 00:40:00,082 Tome CS50. 775 00:40:00,082 --> 00:40:06,530 E cada empresa estrela quer me contratar, uma outra razão. 776 00:40:06,530 --> 00:40:08,018 Tome CS50. 777 00:40:08,018 --> 00:40:12,978 Antes que você entrou na minha vida, eu codificado tão ruim, eu codificados, de forma 778 00:40:12,978 --> 00:40:15,954 ruim, eu codificado assim, tão ruim. 779 00:40:15,954 --> 00:40:19,922 Antes que você entrou na minha vida, eu codificado tão ruim 780 00:40:19,922 --> 00:40:22,402 e eu não posso voltar. 781 00:40:22,402 --> 00:40:37,410 Tome CS50. 782 00:40:37,410 --> 00:40:40,490 >> DAVID J. MALAN: Eu não tinha idéia de que estava para acontecer. 783 00:40:40,490 --> 00:40:44,030 Assim, um olhar mais sério em que está à frente. 784 00:40:44,030 --> 00:40:45,980 Assim, em termos das expectativas do curso, 785 00:40:45,980 --> 00:40:48,490 você está de fato esperados para participar ou assistir ao curso de 786 00:40:48,490 --> 00:40:51,600 palestras, apresentar um conjunto de problemas, tomar dois questionários, apresentar 787 00:40:51,600 --> 00:40:52,590 um projeto final. 788 00:40:52,590 --> 00:40:56,250 Em termos de graus, perceber que o meu comentário na abertura 789 00:40:56,250 --> 00:40:58,190 cerca de aprovação / reprovação, algo que muito tomar para 790 00:40:58,190 --> 00:40:59,310 coração de CS50. 791 00:40:59,310 --> 00:41:02,970 Não há o suficiente de uma cultura em Harvard de tentar 792 00:41:02,970 --> 00:41:04,940 alguma coisa e correr o risco de fracasso. 793 00:41:04,940 --> 00:41:07,010 Na verdade, nós tínhamos números de estudantes, e eu, em 794 00:41:07,010 --> 00:41:09,910 particular, que estavam preocupados com a ferir seu GPA ou 795 00:41:09,910 --> 00:41:13,170 obtenção de um B em algo como CS50. 796 00:41:13,170 --> 00:41:16,250 E a oportunidade de fazer um curso como este, e outros 797 00:41:16,250 --> 00:41:19,080 cursos de gateway em nível introdutório, passa / falha 798 00:41:19,080 --> 00:41:22,190 é uma oportunidade muito subutilizado no colégio, 799 00:41:22,190 --> 00:41:22,620 em geral. 800 00:41:22,620 --> 00:41:25,420 E por isso, sabe mesmo me inscrevi neste curso 801 00:41:25,420 --> 00:41:28,430 inicialmente para aprovação / reprovação de crédito sozinho. 802 00:41:28,430 --> 00:41:30,710 E mesmo que eu fiz interruptor no final do dia, foi 803 00:41:30,710 --> 00:41:33,280 esses cinco semanas iniciais, até a segunda-feira da quinta 804 00:41:33,280 --> 00:41:36,020 semestre, que é o de corte, o que me permitiu realmente 805 00:41:36,020 --> 00:41:39,270 colocar o pé para essas novas águas e realmente tentar algo 806 00:41:39,270 --> 00:41:41,520 muito estranho e muito desconfortável 807 00:41:41,520 --> 00:41:43,400 para mim na época. 808 00:41:43,400 --> 00:41:47,130 >> Portanto, em termos, agora, do papel que os vários ângulos, através do qual 809 00:41:47,130 --> 00:41:50,630 você pode abordar este curso servem, portanto palestras, cabe a 810 00:41:50,630 --> 00:41:53,330 você se você se envolver com a gente em pessoa neste local. 811 00:41:53,330 --> 00:41:57,590 Na verdade, sabemos estatisticamente que cerca de 40% do que você vai 812 00:41:57,590 --> 00:41:59,530 tipo de ir e vir ao longo do semestre. 813 00:41:59,530 --> 00:42:03,000 E 10% de você, nunca vai ver de novo depois de hoje. 814 00:42:03,000 --> 00:42:05,400 E isso é perfeitamente bem, para ser honesto. 815 00:42:05,400 --> 00:42:07,810 Uma das características que definem a CS50 é 816 00:42:07,810 --> 00:42:10,160 que existem esses recursos inumeráveis, algumas 817 00:42:10,160 --> 00:42:12,570 que nós vamos chacoalhar a apenas em um momento, incluindo 818 00:42:12,570 --> 00:42:15,320 palestras e seções e as coisas chamado orientações e 819 00:42:15,320 --> 00:42:16,720 expediente e afins. 820 00:42:16,720 --> 00:42:18,890 E é mais recursos do que o típico estudante deve 821 00:42:18,890 --> 00:42:21,580 tem que ou poderia fisicamente aproveitar. 822 00:42:21,580 --> 00:42:23,650 Mas isso é por causa dos diferentes estilos de aprendizagem que 823 00:42:23,650 --> 00:42:25,370 qualquer corpo discente se manifesta. 824 00:42:25,370 --> 00:42:28,120 E assim, em palestras, o papel principal, a meu ver, é 825 00:42:28,120 --> 00:42:31,650 não verbalmente empurrar o material bastante complexo e 826 00:42:31,650 --> 00:42:34,670 necessariamente entregar todos os meandros da 827 00:42:34,670 --> 00:42:36,910 fundamentos que vamos explorar este semestre, mas 828 00:42:36,910 --> 00:42:39,530 em vez de fazer as coisas como temos vindo a fazer até agora já, 829 00:42:39,530 --> 00:42:42,350 estes exemplos, envolvendo seres humanos no palco, tentando 830 00:42:42,350 --> 00:42:45,340 pintar um quadro mental, e também criar, ouso dizer, alguns 831 00:42:45,340 --> 00:42:46,450 desses momentos memoráveis. 832 00:42:46,450 --> 00:42:49,200 De modo que, mesmo quando você luta com certos temas, você tem 833 00:42:49,200 --> 00:42:51,770 essas memórias como, oh, apesar de que foi bastante 834 00:42:51,770 --> 00:42:54,770 abstrato, a matemática, eu me perdi com carregando a um, como se 835 00:42:54,770 --> 00:42:57,510 na verdade, no fim do dia, não é tão diferente do 836 00:42:57,510 --> 00:42:58,920 algo que eu já sei. 837 00:42:58,920 --> 00:43:01,590 E assim o papel que servirá de palestras, seja em pessoa 838 00:43:01,590 --> 00:43:05,120 aqui em Sanders ou on-line em vídeo, é realmente para definir a 839 00:43:05,120 --> 00:43:08,170 encenar mentalmente para você a cada semana para os diversos conceitos 840 00:43:08,170 --> 00:43:10,240 e os problemas que nós vamos estar mergulhando. 841 00:43:10,240 --> 00:43:13,790 >> Em termos de conceitos de alto nível, a maioria dessas palavras 842 00:43:13,790 --> 00:43:16,340 pode fluir sobre sua cabeça no momento, e isso é bom. 843 00:43:16,340 --> 00:43:18,495 Para aqueles de vocês que entram no curso mais confortável 844 00:43:18,495 --> 00:43:20,150 vai saber de alguns desses temas. 845 00:43:20,150 --> 00:43:23,150 Mas normalmente para que 10% da classe para a qual eles têm 846 00:43:23,150 --> 00:43:25,810 fundo muito mais, tendo AP ciência da computação, 847 00:43:25,810 --> 00:43:28,200 programação, uma vez que foram 12, perceber que haverá 848 00:43:28,200 --> 00:43:31,230 oportunidades em seções e em conjuntos de problema de ir todos os 849 00:43:31,230 --> 00:43:34,240 mais em profundidade em vários tópicos, enchimento em qualquer 850 00:43:34,240 --> 00:43:36,710 lacunas você pode ter a partir de sua escola ou antes 851 00:43:36,710 --> 00:43:37,460 fundo. 852 00:43:37,460 --> 00:43:39,930 Em termos de línguas, perceber que o que linguagem que 853 00:43:39,930 --> 00:43:42,550 usar em CS50 é em grande parte irrelevante em 854 00:43:42,550 --> 00:43:43,220 no final do dia. 855 00:43:43,220 --> 00:43:47,090 Nós acontecer para utilizar, em primeiro lugar, uma linguagem chamada C. Para o 856 00:43:47,090 --> 00:43:49,010 final do semestre, apresentamos web-centric 857 00:43:49,010 --> 00:43:51,110 linguagens como PHP e JavaScript. 858 00:43:51,110 --> 00:43:54,280 Mas nós e os outros poderia ensinar um curso como este no mais qualquer 859 00:43:54,280 --> 00:43:55,610 linguagem de alto nível moderna. 860 00:43:55,610 --> 00:43:58,520 Python e Ruby e outros são bastante populares nos dias de hoje. 861 00:43:58,520 --> 00:44:00,970 Porque perceber no final do dia, você não está aprendendo 862 00:44:00,970 --> 00:44:04,180 neste C. Claro que você não está aprendendo PHP ou JavaScript. 863 00:44:04,180 --> 00:44:07,140 Você está aprendendo a resolver os problemas, seja com base na Web, 864 00:44:07,140 --> 00:44:10,480 baseado em computador ou dados orientada si, usando 865 00:44:10,480 --> 00:44:12,700 eles simplesmente como ferramentas. 866 00:44:12,700 --> 00:44:14,730 >> Agora, em termos de logística, você vai usar 867 00:44:14,730 --> 00:44:16,670 algo, eventualmente, o chamado Appliance CS50. 868 00:44:16,670 --> 00:44:19,350 Não importa se você tem um Mac, um PC, um computador Linux, 869 00:44:19,350 --> 00:44:20,010 ou semelhantes. 870 00:44:20,010 --> 00:44:22,510 Você vai ter o software livremente disponível a partir da próxima semana 871 00:44:22,510 --> 00:44:25,460 com que usar o aparelho CS50, um virtual 872 00:44:25,460 --> 00:44:28,020 ambiente que você vai usar no seu computador para que você 873 00:44:28,020 --> 00:44:31,120 e todos os seus colegas têm um desktop Linux uniforme 874 00:44:31,120 --> 00:44:31,890 neste caso. 875 00:44:31,890 --> 00:44:34,390 É o conjunto de problemas, porém, em que você vai realmente começar 876 00:44:34,390 --> 00:44:35,780 suas mãos sujas no curso. 877 00:44:35,780 --> 00:44:37,630 E no final do dia, é o conjunto de problemas, eu 878 00:44:37,630 --> 00:44:39,680 acho, que realmente define o de um estudante 879 00:44:39,680 --> 00:44:41,380 experiência neste curso. 880 00:44:41,380 --> 00:44:43,460 Perceber que muitos dos conjuntos de problemas será lançado 881 00:44:43,460 --> 00:44:46,430 em duas edições, uma adição padrão que se espera e 882 00:44:46,430 --> 00:44:49,550 incentivar 90% da classe a mergulhar. 883 00:44:49,550 --> 00:44:51,620 Mas também liberar alguns conjuntos de problemas em 884 00:44:51,620 --> 00:44:52,920 os chamados acréscimos de hackers. 885 00:44:52,920 --> 00:44:54,900 E você sabe que é a adição de hacker, porque em todas as páginas 886 00:44:54,900 --> 00:44:57,840 com uma marca d'água que diz disso hacker em-lo. 887 00:44:57,840 --> 00:45:00,000 E isso é para este demográfica de vocês que têm AP 888 00:45:00,000 --> 00:45:02,890 ciência da computação, com 10 anos de programação com o seu cinto 889 00:45:02,890 --> 00:45:05,640 e estão olhando para preencher essas lacunas e ter mais formal, 890 00:45:05,640 --> 00:45:07,370 em vez de auto-didata, formação, talvez. 891 00:45:07,370 --> 00:45:10,410 Compreender que há um grupo demográfico muito substancial do 892 00:45:10,410 --> 00:45:13,090 classe que tem precisamente o objectivo de que mesmo. 893 00:45:13,090 --> 00:45:14,320 Você terá cinco dias de atraso. 894 00:45:14,320 --> 00:45:16,490 Conjuntos de problemas são geralmente devido às quintas-feiras, mas você pode 895 00:45:16,490 --> 00:45:18,440 estender cinco desses prazos usando estes 896 00:45:18,440 --> 00:45:19,700 coisas chamados dias de atraso. 897 00:45:19,700 --> 00:45:22,590 E nós também vamos soltar sua menor pontuação no final do 898 00:45:22,590 --> 00:45:25,400 por semestre as indicações do programa. 899 00:45:25,400 --> 00:45:27,800 >> Mas outra característica que define sobre CS50 900 00:45:27,800 --> 00:45:29,830 dos anos tornou-se o horário de expediente. 901 00:45:29,830 --> 00:45:32,720 É uma oportunidade que você viu em fotos visualmente um pouco 902 00:45:32,720 --> 00:45:35,850 atrás, em que nos reunimos - anteriormente em casa de jantar 903 00:45:35,850 --> 00:45:37,780 salas, antes de que no porão da Ciência 904 00:45:37,780 --> 00:45:40,310 Centro, e este ano em Annenberg Hall - Quatro noites por 905 00:45:40,310 --> 00:45:43,330 semana 20:00 - 23:00, onde você vai ter isso muito 906 00:45:43,330 --> 00:45:46,320 muita experiência compartilhada de trabalhar, lutando 907 00:45:46,320 --> 00:45:49,300 através, certos problemas, mas com um suporte substancial 908 00:45:49,300 --> 00:45:50,380 estrutura no local. 909 00:45:50,380 --> 00:45:53,180 Na verdade, a forma como isso vai funcionar é que você vai chegar em Annenberg 910 00:45:53,180 --> 00:45:55,160 se você tem alguma pergunta durante a semana, você vai trazer 911 00:45:55,160 --> 00:45:58,060 seu laptop, você vai se sentar, comer alguma coisa, e você vai fazer 912 00:45:58,060 --> 00:46:01,520 CS50 em discutir, um utilitário baseado na Web que o ensino 913 00:46:01,520 --> 00:46:04,480 pessoal tem desenvolvido, que vai permitir que você postar perguntas 914 00:46:04,480 --> 00:46:07,910 e ver follow-ups em um fórum de discussão típica 915 00:46:07,910 --> 00:46:10,550 sentido, utilizando as etiquetas e semelhantes e auto completar a 916 00:46:10,550 --> 00:46:11,680 buscar os dados. 917 00:46:11,680 --> 00:46:14,850 Mas você também vai ser capaz de, durante as horas de escritório 918 00:46:14,850 --> 00:46:16,980 horas, ter suas perguntas escalado para 919 00:46:16,980 --> 00:46:18,360 seres humanos reais. 920 00:46:18,360 --> 00:46:21,430 Com efeito, o objectivo é, em última análise, de modo que um, que começa a construir 921 00:46:21,430 --> 00:46:24,040 -se, ao longo do semestre corpus de uma espera 922 00:46:24,040 --> 00:46:26,970 informação realmente útil, respostas comuns a comum 923 00:46:26,970 --> 00:46:29,640 perguntas, para que você mesmo pode resolver problemas 924 00:46:29,640 --> 00:46:33,490 e conseguir descolar o mais rapidamente possível, mas ao mesmo tempo ter 925 00:46:33,490 --> 00:46:37,210 pessoal docente, geralmente 20 a 30 os bolsistas de ensino e 926 00:46:37,210 --> 00:46:39,660 assistentes do curso, na equipe de uma só vez. 927 00:46:39,660 --> 00:46:42,420 >> Nós temos o que é chamado de Greeter CS50 em Annenberg. 928 00:46:42,420 --> 00:46:46,710 E quando a gente determinar isso, você sabe o que, a esta pergunta, 929 00:46:46,710 --> 00:46:48,780 não podemos realmente responder eficazmente online. 930 00:46:48,780 --> 00:46:49,800 Precisamos ver o seu computador. 931 00:46:49,800 --> 00:46:50,710 Queremos falar com você um-a-um. 932 00:46:50,710 --> 00:46:51,340 De um. 933 00:46:51,340 --> 00:46:53,400 Você está realmente lutando e você, por isso, quero falar 934 00:46:53,400 --> 00:46:56,010 um-a-um ao lado de alguém, você vai ser enviado ao 935 00:46:56,010 --> 00:46:58,730 CS50 Greeter, uma participação companheiro de ensino, literalmente, um 936 00:46:58,730 --> 00:47:01,770 iPad que tem os nomes dos alunos de um lado, o corpo docente do 937 00:47:01,770 --> 00:47:02,790 nomes, por outro. 938 00:47:02,790 --> 00:47:04,760 Nós clique no seu nome, seguido do nome de uma 939 00:47:04,760 --> 00:47:06,860 pessoal docente, e sua tela de computador vai começar 940 00:47:06,860 --> 00:47:11,170 por favor piscar dizendo ir ver Alice ou vá ver Bob em 941 00:47:11,170 --> 00:47:11,980 o quadro de pessoal. 942 00:47:11,980 --> 00:47:14,450 E assim, desta forma, seremos capazes de enviar as coisas como 943 00:47:14,450 --> 00:47:17,610 eficientemente quanto possível, bem como guiá-lo para 944 00:47:17,610 --> 00:47:19,910 soluções de tudo o mais prontamente. 945 00:47:19,910 --> 00:47:22,970 Em secções, estas serão oportunidades para mais 946 00:47:22,970 --> 00:47:25,570 Hands-on íntimos oportunidades com um dos 947 00:47:25,570 --> 00:47:29,040 companheiros de ensino e de 12 a 16 anos ou mais de seus colegas em 948 00:47:29,040 --> 00:47:31,900 qual cada semana, vamos ter problemas no conjunto de problemas 949 00:47:31,900 --> 00:47:33,800 que pedir uma série de questões conceituais e um 950 00:47:33,800 --> 00:47:35,740 número de questões pouco porte de programação que você 951 00:47:35,740 --> 00:47:37,690 poderia descobrir em seu próprio país, e você pode trabalhar em seu 952 00:47:37,690 --> 00:47:40,020 própria, mas no contexto da secção onde se trabalha através 953 00:47:40,020 --> 00:47:42,870 coletivamente alguns desses problemas e ir para onde o 954 00:47:42,870 --> 00:47:44,570 conversa diferente nos leva. 955 00:47:44,570 --> 00:47:48,010 >> Além disso, na seção que você vai ter a oportunidade de 956 00:47:48,010 --> 00:47:50,450 rever submissões de trabalhos de casa que você fez, seu 957 00:47:50,450 --> 00:47:53,620 colegas, às vezes anónimos, sempre através de opt-in 958 00:47:53,620 --> 00:47:55,810 se você gostaria de compartilhar o trabalho que você enviou. 959 00:47:55,810 --> 00:47:58,030 Então, ele realmente vai ser uma conversa bidirecional, 960 00:47:58,030 --> 00:48:00,840 uma oportunidade para rever o seu próprio trabalho de uma forma mais bem 961 00:48:00,840 --> 00:48:04,080 sentido dinâmico, ao invés de simplesmente olhar para um PDF ou um 962 00:48:04,080 --> 00:48:06,920 impressão e pensar sobre isso por alguns segundos e não 963 00:48:06,920 --> 00:48:08,920 necessariamente absorver o feedback que o ensinamento 964 00:48:08,920 --> 00:48:10,150 pessoal fornecido. 965 00:48:10,150 --> 00:48:12,540 E você vai usar uma ferramenta aqui chamado CS50 Spaces. 966 00:48:12,540 --> 00:48:15,670 Para quem não conhece, esta é a linguagem conhecida como C no topo 967 00:48:15,670 --> 00:48:17,500 à esquerda, e você vai conhecer esse tempo acabou. 968 00:48:17,500 --> 00:48:19,640 Mas este é um utilitário baseado na web que nós vamos usar em 969 00:48:19,640 --> 00:48:22,310 seção que permitirá que você e seu 15 ou mais colegas 970 00:48:22,310 --> 00:48:24,100 o login com seu companheiro de ensino na 971 00:48:24,100 --> 00:48:24,980 frente da sala. 972 00:48:24,980 --> 00:48:26,750 Você vai ser capaz de escrever código nesta janela. 973 00:48:26,750 --> 00:48:28,720 Você será capaz de conversar eletronicamente, se você não está 974 00:48:28,720 --> 00:48:30,930 realmente seção menos naquele momento particular. 975 00:48:30,930 --> 00:48:33,940 E companheiro de ensino o seu, quando chega a hora de discutir 976 00:48:33,940 --> 00:48:38,645 Alice ou solução de Bob em sala de aula, o companheiro de ensino pode 977 00:48:38,645 --> 00:48:41,380 clique em um botão e pronto, o projeto para a tela, 978 00:48:41,380 --> 00:48:44,250 o que quer que o aluno tem trabalhado em especial no que 979 00:48:44,250 --> 00:48:44,990 ponto no tempo. 980 00:48:44,990 --> 00:48:47,130 Portanto, para aqueles de vocês que têm amigos que têm tomado em CS50 981 00:48:47,130 --> 00:48:49,750 o passado, perceber que seções foram significativamente 982 00:48:49,750 --> 00:48:52,600 reiniciado este ano para ser ainda mais ativo, ainda mais 983 00:48:52,600 --> 00:48:55,960 dinâmico, e realmente uma conversa de duas vias entre o ensino 984 00:48:55,960 --> 00:48:58,190 funcionários e alunos. 985 00:48:58,190 --> 00:48:59,020 >> E passo a passo. 986 00:48:59,020 --> 00:49:01,560 Portanto, para esses conjuntos de problemas, também oferecemos não só o 987 00:49:01,560 --> 00:49:04,210 especificação em si, que é geralmente um bastante detalhada 988 00:49:04,210 --> 00:49:07,380 PDF, mas também coisas conhecido como orientações através do qual um 989 00:49:07,380 --> 00:49:11,000 membro do corpo docente vai liderar uma sessão semanal 990 00:49:11,000 --> 00:49:13,210 que literalmente percorre o conjunto de problemas, dando 991 00:49:13,210 --> 00:49:15,720 lhe sugestões e conselhos e pontos de partida e destina-se 992 00:49:15,720 --> 00:49:17,250 pedir ao perguntou muito freqüentemente 993 00:49:17,250 --> 00:49:19,360 pergunta, por onde eu começo? 994 00:49:19,360 --> 00:49:21,990 Bem, você começa a mergulhar ou a especificação de sua 995 00:49:21,990 --> 00:49:25,100 própria ou participando ou assistindo a essas orientações. 996 00:49:25,100 --> 00:49:27,420 O primeiro passo a passo, de facto, será esta sexta-feira. 997 00:49:27,420 --> 00:49:29,520 Eles serão às sextas-feiras, não tanto porque acho que vai ser 998 00:49:29,520 --> 00:49:32,160 um tempo popular, mas porque pode filmá-los muito cedo 999 00:49:32,160 --> 00:49:34,380 na semana para obtê-los on-line pelo fim de semana, para que você 1000 00:49:34,380 --> 00:49:37,670 tem tantos dias quanto possível realmente se envolvem em que 1001 00:49:37,670 --> 00:49:38,390 conteúdo também. 1002 00:49:38,390 --> 00:49:40,900 Mas mais do que isso em palestra nesta sexta-feira. 1003 00:49:40,900 --> 00:49:43,620 >> Agora, no que respeita à estrutura de suporte, o maior 1004 00:49:43,620 --> 00:49:46,430 estatística significativa é talvez o ensinamento 108 1005 00:49:46,430 --> 00:49:47,950 companheiros e assistentes do curso que este 1006 00:49:47,950 --> 00:49:49,730 Claro tem atualmente. 1007 00:49:49,730 --> 00:49:52,030 Se alguns de vocês que não têm classes em conflito gostaria 1008 00:49:52,030 --> 00:49:55,070 se juntar a mim aqui no palco, são esses caras que vão 1009 00:49:55,070 --> 00:49:57,990 em última análise, realmente definir sua experiência no curso. 1010 00:50:06,750 --> 00:50:09,290 Eu tinha um monte de companheiros de ensino me ensinando aulas de 1011 00:50:09,290 --> 00:50:11,650 o dia, e me lembro muito poucos daqueles francamente. 1012 00:50:11,650 --> 00:50:15,590 Mas até à data, ainda me lembro entre aqueles poucos, meu CS50 TF 1013 00:50:15,590 --> 00:50:18,100 que realmente me ajudou a responder às perguntas, que realmente ajudou 1014 00:50:18,100 --> 00:50:20,690 mim quando eu estava lutando, e realmente foi um parceiro nessa 1015 00:50:20,690 --> 00:50:23,630 experiência de aprender um mundo muito novo. 1016 00:50:23,630 --> 00:50:26,410 Em um pouco, todos esses caras vão se juntar a você para fora 1017 00:50:26,410 --> 00:50:29,010 bolo, que é uma tradição de CS50, no transepto da 1018 00:50:29,010 --> 00:50:30,030 Memorial Hall. 1019 00:50:30,030 --> 00:50:32,320 >> Mas permita-me primeiro a apresentá-lo a Nate 1020 00:50:32,320 --> 00:50:35,820 Hardison, mais uma vez, Rob Bowden, e Tommy MacWilliam, este 1021 00:50:35,820 --> 00:50:37,460 curso do ano cabeças. 1022 00:50:37,460 --> 00:50:39,250 Se vocês se juntem a mim aqui no meio. 1023 00:50:45,250 --> 00:50:47,910 Eles têm tudo preparado algumas observações inspiradas. 1024 00:50:51,540 --> 00:50:52,550 >> TOMMY MacWilliam: Eu não preparar nada 1025 00:50:52,550 --> 00:50:53,665 inspiradora. 1026 00:50:53,665 --> 00:50:55,020 Mas meu nome é Tommy. 1027 00:50:55,020 --> 00:50:56,140 Eu sou um sénior na Mather. 1028 00:50:56,140 --> 00:50:57,325 Estou estudando ciência da computação. 1029 00:50:57,325 --> 00:50:59,490 Eu estou realmente animado para estar na equipe de hedge e vai 1030 00:50:59,490 --> 00:51:01,365 através da jornada CS50 com você. 1031 00:51:01,365 --> 00:51:04,010 O que eu realmente amo sobre CS50 é como ele realmente ensina 1032 00:51:04,010 --> 00:51:06,040 para pensar sobre os problemas de uma maneira nova. 1033 00:51:06,040 --> 00:51:08,570 Esta é realmente uma habilidade que vai ser, não importa o valor inestimável 1034 00:51:08,570 --> 00:51:09,950 o que você entrar em campo. 1035 00:51:09,950 --> 00:51:12,660 E não só isso, mas nós oferecemos mais doce livre do que qualquer 1036 00:51:12,660 --> 00:51:13,910 outro curso no campus. 1037 00:51:20,088 --> 00:51:22,210 Sim, e por isso estou muito ansioso para ver o que 1038 00:51:22,210 --> 00:51:23,560 todos constrói este semestre. 1039 00:51:23,560 --> 00:51:25,730 E se alguém tem alguma dúvida, agora ou em todo 1040 00:51:25,730 --> 00:51:27,770 do semestre, definitivamente se sentir livre para chegar a mim e 1041 00:51:27,770 --> 00:51:29,020 Eu ficaria feliz em ajudar. 1042 00:51:31,450 --> 00:51:31,780 >> ROB BOWDEN: Oi. 1043 00:51:31,780 --> 00:51:32,530 Eu sou Rob Bowden. 1044 00:51:32,530 --> 00:51:33,780 Eu sou um sênior em Kirkland. 1045 00:51:37,900 --> 00:51:39,760 Sim, é isso mesmo. 1046 00:51:39,760 --> 00:51:41,930 Estamos todos muito animado para este próximo semestre. 1047 00:51:41,930 --> 00:51:43,230 Nós esperamos que você está todo animado. 1048 00:51:47,710 --> 00:51:49,410 Eu não estava esperando isso. 1049 00:51:49,410 --> 00:51:50,390 Sim. 1050 00:51:50,390 --> 00:51:52,200 Então nós colocamos muito esforço em fazer este 1051 00:51:52,200 --> 00:51:53,370 semestre realmente grande. 1052 00:51:53,370 --> 00:51:55,960 E enquanto você está disposto a fazer o esforço, não há 1053 00:51:55,960 --> 00:51:57,840 tanto que você pode sair deste curso. 1054 00:51:57,840 --> 00:52:00,130 Ah, nós - 1055 00:52:00,130 --> 00:52:01,380 sim. 1056 00:52:04,640 --> 00:52:08,300 Você pode ter um monte de diversão fora do curso. 1057 00:52:08,300 --> 00:52:10,500 Nós não temos uma equipe de 108, se você não pode obter um lote 1058 00:52:10,500 --> 00:52:11,370 de divertimento fora dele. 1059 00:52:11,370 --> 00:52:15,300 Assim, apenas tentar ser envolvido e você não vai se arrepender. 1060 00:52:23,190 --> 00:52:23,890 >> NATE Hardison: Olá, pessoal. 1061 00:52:23,890 --> 00:52:24,800 Eu sou Nate. 1062 00:52:24,800 --> 00:52:27,570 Eu sou o preceptor para o curso. 1063 00:52:27,570 --> 00:52:29,060 Eu estou realmente animado de estar aqui também. 1064 00:52:29,060 --> 00:52:30,960 Este é o meu primeiro ano aqui. 1065 00:52:30,960 --> 00:52:34,210 Espero que todos fazer este curso e se divertir tanto quanto 1066 00:52:34,210 --> 00:52:35,820 Eu gostei até agora. 1067 00:52:35,820 --> 00:52:38,570 E se você quiser aprender a contar até 9 ou 10 em 1068 00:52:38,570 --> 00:52:41,730 binária, venha falar comigo. 1069 00:52:41,730 --> 00:52:43,760 >> DAVID J. MALAN: Então, o risco de deixar esses caras aqui na 1070 00:52:43,760 --> 00:52:46,980 encenar um pouco sem jeito, vamos girar através de apenas alguns dos 1071 00:52:46,980 --> 00:52:49,370 as coisas que o aguardam antes de adiar para o bolo. 1072 00:52:49,370 --> 00:52:50,580 O que é que está à frente? 1073 00:52:50,580 --> 00:52:53,490 Bem, se tivermos um olhar rápido para trás no ano passado, no problema 1074 00:52:53,490 --> 00:52:56,010 definir 0, seus antecessores mergulhou em uma programação 1075 00:52:56,010 --> 00:52:58,700 linguagem chamada Scratch, uma linguagem de programação gráfica 1076 00:52:58,700 --> 00:53:01,220 você vai usar nos primeiros dias do curso a partir deste 1077 00:53:01,220 --> 00:53:04,390 Sexta-feira para aprender alguns conceitos desconhecidos para alguns de vocês. 1078 00:53:04,390 --> 00:53:06,750 Mas compreender haverá um aspecto avançada deste para 1079 00:53:06,750 --> 00:53:08,950 aqueles de vocês com fundo prévio. 1080 00:53:08,950 --> 00:53:11,450 >> No problema do ano passado, conjunto 2, os alunos mergulhou na 1081 00:53:11,450 --> 00:53:14,780 mundo da criptografia, a arte de cifragem ou lutando 1082 00:53:14,780 --> 00:53:17,770 informação, implementação de programas que os dados criptografados. 1083 00:53:17,770 --> 00:53:21,490 E na adição de hackers no ano passado que os alunos proceder 1084 00:53:21,490 --> 00:53:24,570 rachar ou decodificar as senhas em um típico 1085 00:53:24,570 --> 00:53:28,090 arquivo de computador de senha xe por surgir com algoritmos e 1086 00:53:28,090 --> 00:53:31,810 heurísticas para a força bruta para descobrir o que alguém está 1087 00:53:31,810 --> 00:53:33,640 senha em um sistema de computador foi. 1088 00:53:33,640 --> 00:53:36,630 No ano passado, também, no conjunto de problemas 3, fez implicações alunos - em 1089 00:53:36,630 --> 00:53:37,680 conjunto de problemas 4 - os alunos fizeram 1090 00:53:37,680 --> 00:53:39,280 implementar o jogo de Sudoku. 1091 00:53:39,280 --> 00:53:42,250 E na adição hacker que ano não estudantes 1092 00:53:42,250 --> 00:53:45,650 apenas implementar como jogar o jogo, mas, na verdade, um solucionador 1093 00:53:45,650 --> 00:53:47,800 através do qual o computador pode fornecer a você, humano, com 1094 00:53:47,800 --> 00:53:50,130 dicas por mais rapidamente do que você resolver 1095 00:53:50,130 --> 00:53:51,420 este problema particular. 1096 00:53:51,420 --> 00:53:54,130 >> No conjunto de problemas 5, fizemos forense, esta arte de 1097 00:53:54,130 --> 00:53:57,020 recuperação de informação que foi acidentalmente ou muito 1098 00:53:57,020 --> 00:53:59,320 deliberadamente excluído de um computador. 1099 00:53:59,320 --> 00:54:02,100 No ano passado, o corpo docente e eu dei uma volta em torno do campus 1100 00:54:02,100 --> 00:54:04,990 tirar fotos de pessoas, lugares e coisas, e depois 1101 00:54:04,990 --> 00:54:07,830 acidentalmente formatado o cartão de memória em nosso câmera que 1102 00:54:07,830 --> 00:54:08,900 tinha todas essas fotos. 1103 00:54:08,900 --> 00:54:09,650 Mas não há problema. 1104 00:54:09,650 --> 00:54:13,780 Fizemos uma imagem forense do cartão de memória, entregou-o para fora 1105 00:54:13,780 --> 00:54:16,320 para todos os alunos da classe, e desafiou-os a escrever 1106 00:54:16,320 --> 00:54:20,110 programas que se recuperaram todos os JPEGs de que o cartão. 1107 00:54:20,110 --> 00:54:22,010 E isso é realmente um dos nossos conjuntos de problemas favoritos. 1108 00:54:22,010 --> 00:54:24,680 >> E eu desenterrado em um e-mail de um de seus antecessores, 1109 00:54:24,680 --> 00:54:27,270 que foi muito divertido de ler há algum tempo atrás. 1110 00:54:27,270 --> 00:54:30,240 Ele escreveu - é de Matt - Caro David, ontem meu 1111 00:54:30,240 --> 00:54:33,710 irmã acidentalmente formatado cartão de sua câmera SD e perdeu 1112 00:54:33,710 --> 00:54:35,630 pena de um ano de fotos memoráveis. 1113 00:54:35,630 --> 00:54:38,710 Ela, infelizmente, não é o melhor em fazer backup de seus dados. 1114 00:54:38,710 --> 00:54:41,230 Mas esta situação me fez lembrar de pset 5, então eu pensei que 1115 00:54:41,230 --> 00:54:44,260 iria tentar executar o seu cartão SD através do programa recover 1116 00:54:44,260 --> 00:54:46,310 que eu escrevi todo o caminho de volta em outubro. 1117 00:54:46,310 --> 00:54:48,550 Então, depois de quatro horas de descobrir como criar um 1118 00:54:48,550 --> 00:54:51,210 imagem crua do cartão SD formatado - 1119 00:54:51,210 --> 00:54:53,370 Google provou ser muito prejudicial neste respeito até 1120 00:54:53,370 --> 00:54:55,480 ironicamente aconteceu de eu vir através de suas instruções em 1121 00:54:55,480 --> 00:54:58,070 Internet - 1122 00:54:58,070 --> 00:55:00,490 depois de mexer em torno de alguns dos argumentos do comando, 1123 00:55:00,490 --> 00:55:02,320 Eu consegui criar a imagem forense. 1124 00:55:02,320 --> 00:55:04,490 E depois de instalar e configurar o CS50 1125 00:55:04,490 --> 00:55:07,520 Aparelho, consegui executar a imagem forense através do meu 1126 00:55:07,520 --> 00:55:13,110 programar e recuperar todo o 1027 de fotografias de minha irmã. 1127 00:55:13,110 --> 00:55:14,340 Direito, Matt. 1128 00:55:14,340 --> 00:55:15,165 >> Assim, no último year's - 1129 00:55:15,165 --> 00:55:23,080 [Aplausos] 1130 00:55:23,080 --> 00:55:25,680 No conjunto do ano passado problema 6, demos aos alunos uma 1131 00:55:25,680 --> 00:55:29,910 dicionário de 150.000 palavras em inglês e desafiou-os a 1132 00:55:29,910 --> 00:55:32,570 escrever um corretor ortográfico que respondeu consultas da forma 1133 00:55:32,570 --> 00:55:33,930 é esta palavra soletrada corretamente ou 1134 00:55:33,930 --> 00:55:35,705 incorrectamente o mais rápido possível. 1135 00:55:35,705 --> 00:55:38,470 E em uma base opt-in foram permitiu aos alunos, em seguida 1136 00:55:38,470 --> 00:55:41,290 desafiar colegas por postar seus resultados, a 1137 00:55:41,290 --> 00:55:44,200 quantidade de memória RAM que eles usaram, o número de ciclos de CPU ou 1138 00:55:44,200 --> 00:55:46,910 segundo que eles usaram, para que os alunos foram então classificados 1139 00:55:46,910 --> 00:55:47,900 no site do curso. 1140 00:55:47,900 --> 00:55:51,170 Divertir de novo aspecto, puramente opcional, mas grande, em que 1141 00:55:51,170 --> 00:55:54,540 muitas vezes que um estudante obter a posição número 10 ou assim por diante 1142 00:55:54,540 --> 00:55:57,210 a placa grande no site, sair para jantar, e em seguida 1143 00:55:57,210 --> 00:55:59,920 voltar e realizar seu colega de quarto havia apenas afiou no 1144 00:55:59,920 --> 00:56:03,270 frente dele ou dela na placa grande, assim, derramando outra 1145 00:56:03,270 --> 00:56:07,170 duas ou três horas apenas para um se o seu companheiro de quarto. 1146 00:56:07,170 --> 00:56:08,550 >> Então, estamos ansiosos para algo semelhante 1147 00:56:08,550 --> 00:56:09,580 este ano também. 1148 00:56:09,580 --> 00:56:12,140 No conjunto de problemas que nós 7 orientar na direção da web 1149 00:56:12,140 --> 00:56:14,840 programação, na verdade, a resolução de problemas no sempre 1150 00:56:14,840 --> 00:56:18,170 ambiente cada vez mais comum de um navegador. 1151 00:56:18,170 --> 00:56:20,900 Conheça decrescentemente vamos baixar o software em Macs e 1152 00:56:20,900 --> 00:56:23,650 PCs, mas cada vez que fazemos isso tudo dentro da web. 1153 00:56:23,650 --> 00:56:27,530 >> E, de fato no ano passado, cerca de 88% dos projetos finais dos estudantes em 1154 00:56:27,530 --> 00:56:29,660 do curso foram baseada na web. 1155 00:56:29,660 --> 00:56:32,020 E aqueles, também, são habilidades que você vai derivar dessa 1156 00:56:32,020 --> 00:56:33,230 classe até o final do curso. 1157 00:56:33,230 --> 00:56:36,090 Porque o que o espera no final do curso é a Feira CS50, 1158 00:56:36,090 --> 00:56:39,060 esta exposição que é baseado na idéia de uma feira de ciências. 1159 00:56:39,060 --> 00:56:41,750 Mas nesta versão de uma feira de fazer todos os alunos da turma 1160 00:56:41,750 --> 00:56:45,400 trazem seus laptops e seus amigos e familiares e outros 1161 00:56:45,400 --> 00:56:48,310 a Noroeste Ciência, um grande edifício no campus, criado 1162 00:56:48,310 --> 00:56:51,030 seu laptop, comer alguma coisa, obter um pouco de pipoca e bebida, 1163 00:56:51,030 --> 00:56:53,990 e então expor seus projetos finais para todos os que 1164 00:56:53,990 --> 00:56:57,210 atendimento que no ano passado cerca de 2.500 participantes numerados 1165 00:56:57,210 --> 00:56:58,320 do outro lado do campus. 1166 00:56:58,320 --> 00:57:02,100 E expressões como este e como este não eram 1167 00:57:02,100 --> 00:57:03,370 incomum na feira. 1168 00:57:03,370 --> 00:57:06,590 >> Que antecedeu a feira é o Hackathon CS50, uma oportunidade 1169 00:57:06,590 --> 00:57:09,350 hop em uma cabeça de transporte de Harvard, da rua para 1170 00:57:09,350 --> 00:57:12,700 Microsoft às 8:00 PM, e não ir para casa até 07h00. 1171 00:57:12,700 --> 00:57:16,280 Servimos primeiro jantar às 8:00 PM, segundo jantar em 1:00 AM, 1172 00:57:16,280 --> 00:57:18,900 e para aqueles que ainda estão de pé às 5:00 da manhã, vamos tratar de 1173 00:57:18,900 --> 00:57:20,400 panquecas no IHOP. 1174 00:57:20,400 --> 00:57:23,470 E o Hackathon é uma oportunidade, como mostrado aqui, 1175 00:57:23,470 --> 00:57:25,930 para mergulhar em seus projetos finais, seja trabalhando em 1176 00:57:25,930 --> 00:57:29,470 sozinho ou com os amigos em um ambiente colaborativo, 1177 00:57:29,470 --> 00:57:31,970 onde todo o pessoal docente está a trabalhar bem no 1178 00:57:31,970 --> 00:57:35,430 noite com uma ampla oferta de Hong Kong comida chinesa. 1179 00:57:35,430 --> 00:57:39,550 Em 5:00 AM irá imagens como estas ser bastante comum neste 1180 00:57:39,550 --> 00:57:40,940 ano também. 1181 00:57:40,940 --> 00:57:44,390 >> Assim como nós adiar em um momento para o bolo, tenha em mente que 1182 00:57:44,390 --> 00:57:48,500 76% das pessoas nesta sala não tem nenhuma experiência prévia. 1183 00:57:48,500 --> 00:57:51,090 E de acordo com o plano de estudos, o que finalmente importa neste 1184 00:57:51,090 --> 00:57:53,740 Claro que não é tanto onde você acabar em relação ao seu 1185 00:57:53,740 --> 00:57:57,400 colegas de classe, mas onde você no fim de semana 11 até em relação ao 1186 00:57:57,400 --> 00:57:59,400 se na semana 0. 1187 00:57:59,400 --> 00:58:01,850 Este é CS50.