1 00:00:00,000 --> 00:00:02,952 >> [REPRODUÇÃO DE MÚSICA] 2 00:00:02,952 --> 00:00:11,316 3 00:00:11,316 --> 00:00:13,284 >> [REPRODUÇÃO DE MÚSICA] 4 00:00:13,284 --> 00:00:18,722 5 00:00:18,722 --> 00:00:19,680 DAVID MALAN: Tudo bem. 6 00:00:19,680 --> 00:00:21,983 Este é CS50. 7 00:00:21,983 --> 00:00:24,108 [Música tocando Tritonal, Cash Cash,  "Intocável"] 8 00:00:24,108 --> 00:01:40,846 9 00:01:40,846 --> 00:01:41,844 [REPRODUÇÃO DE MÚSICA] 10 00:01:41,844 --> 00:01:45,337 COLUNA 1: Eu vou França, e você está indo, também. 11 00:01:45,337 --> 00:01:48,331 [REPRODUÇÃO DE MÚSICA] 12 00:01:48,331 --> 00:02:38,100 13 00:02:38,100 --> 00:02:41,930 DAVID MALAN: Este é CS50, introdução da Universidade de Harvard 14 00:02:41,930 --> 00:02:44,520 ao intelectual empresas de informática 15 00:02:44,520 --> 00:02:47,940 e as artes de program-- e pela primeira vez na história, 16 00:02:47,940 --> 00:02:49,800 da Universidade de Yale também. 17 00:02:49,800 --> 00:02:53,830 Na verdade, se você está aqui em Cambridge ou em New Haven ou Miami ou St. Louis 18 00:02:53,830 --> 00:02:55,550 ou Amsterdam ou em qualquer lugar ao redor do mundo 19 00:02:55,550 --> 00:03:00,080 tendo CS50, computador ciência E50, CS50X, CS50 AP, 20 00:03:00,080 --> 00:03:02,090 todos nós somos um eo mesmo. 21 00:03:02,090 --> 00:03:04,490 Bem-vindo ao CS50. 22 00:03:04,490 --> 00:03:05,380 >> O que nós temos-- 23 00:03:05,380 --> 00:03:06,348 >> [Aplausos] 24 00:03:06,348 --> 00:03:07,800 >> [Risos] 25 00:03:07,800 --> 00:03:10,220 >> [Aplausos] 26 00:03:10,220 --> 00:03:13,610 27 00:03:13,610 --> 00:03:16,920 >> Então, eu cometi um erro me alguns tempo atrás, quando eu comecei a faculdade. 28 00:03:16,920 --> 00:03:21,580 E eu fui para a faculdade, e eu decidi francamente, ficar dentro da minha zona de conforto. 29 00:03:21,580 --> 00:03:24,475 I acabou declarando uma concentração, ou um major, do governo. 30 00:03:24,475 --> 00:03:27,880 Ant que foi principalmente uma função de mim sendo bastante familiarizado com o governo 31 00:03:27,880 --> 00:03:31,270 ou pelo menos a história ou eu realmente gostei direito constitucional na escola. 32 00:03:31,270 --> 00:03:34,150 E assim quando eu cheguei aqui, eu meio de gravitavam em torno de coisas 33 00:03:34,150 --> 00:03:35,800 com o qual eu já estava familiarizado. 34 00:03:35,800 --> 00:03:36,300 Certo? 35 00:03:36,300 --> 00:03:38,167 Deus me livre de fazer mal na classe. 36 00:03:38,167 --> 00:03:40,250 Eu certamente queria ficar dentro de minha zona de conforto, 37 00:03:40,250 --> 00:03:43,010 e não foi até no segundo ano que eu finalmente 38 00:03:43,010 --> 00:03:46,820 Levantou-se a coragem de pisar em uma sala de aula chamada CS50. 39 00:03:46,820 --> 00:03:51,150 E nesse ponto, eu fiz finalmente perceber que, meu Deus, trabalhos de casa poderia realmente 40 00:03:51,150 --> 00:03:51,910 seja divertido. 41 00:03:51,910 --> 00:03:54,410 >> Na verdade, eu era uma daquelas crianças que nas noites de sexta-feira quando 42 00:03:54,410 --> 00:03:57,640 os P-SETS seria lançado, eu Gostaria de voltar para o meu quarto e mergulho 43 00:03:57,640 --> 00:03:58,790 na P-sets da noite. 44 00:03:58,790 --> 00:04:01,606 E para mim, isso foi um sinal que este era um campo para mim. 45 00:04:01,606 --> 00:04:04,480 Mas o que era mais importante foi o fato de que eu fiz chegar até este nervo 46 00:04:04,480 --> 00:04:08,000 para explorar águas desconhecidas para mim e obter além da minha própria zona de conforto 47 00:04:08,000 --> 00:04:12,320 e, francamente, eu só era capaz de fazer isso no segundo ano, tendo esta classe 48 00:04:12,320 --> 00:04:13,050 aprovação / reprovação. 49 00:04:13,050 --> 00:04:16,470 >> De fato, foi o último dia em que Eu finalmente comutada e, finalmente, 50 00:04:16,470 --> 00:04:19,707 declarou CS como a minha concentração, colocando gov nesse ponto atrás de mim. 51 00:04:19,707 --> 00:04:22,290 E por isso não estamos estabelecendo de forma este curso para transformar todos vocês 52 00:04:22,290 --> 00:04:25,780 em maiores ou concentradores de CS, mas em vez de dar-lhe uma oportunidade 53 00:04:25,780 --> 00:04:29,780 para ir espero que além do mundo com o qual você está agora familiarizado 54 00:04:29,780 --> 00:04:33,660 e trazer de volta a partir deste mundo habilidades e conhecimentos e esclarecido 55 00:04:33,660 --> 00:04:36,220 que você pode aplicar a sua próprio mundo, se isso é 56 00:04:36,220 --> 00:04:39,080 na área de humanas, ciências sociais, ciências naturais, ou além. 57 00:04:39,080 --> 00:04:40,871 >> Na verdade, se você estiver sentindo um pouco intrépido 58 00:04:40,871 --> 00:04:43,250 sobre estar nesta sala deixe sozinho nesta classe, 59 00:04:43,250 --> 00:04:47,560 perceber que, se a história é qualquer indicação, 72% de você 60 00:04:47,560 --> 00:04:49,802 nunca tomou um curso de CS antes. 61 00:04:49,802 --> 00:04:52,760 Por isso, é por todos os meios não é o caso que o aluno sentado à esquerda 62 00:04:52,760 --> 00:04:56,850 ou para a direita ou na frente ou atrás de você sabe muito mais sobre CS 63 00:04:56,850 --> 00:04:58,820 ou programação em particular que você. 64 00:04:58,820 --> 00:05:00,432 Isso não é de fato o caso. 65 00:05:00,432 --> 00:05:02,140 E, de fato, muito do a estrutura de suporte 66 00:05:02,140 --> 00:05:04,600 que nós criamos neste claro ao longo dos últimos muitos anos 67 00:05:04,600 --> 00:05:08,840 foi exatamente para isso razăo para proporcionar uma rampa em que ainda sai 68 00:05:08,840 --> 00:05:11,640 tão rigorosa e tão alta quanto Ever 69 00:05:11,640 --> 00:05:14,860 mas a inclinação dos quais permitem que os alunos menos confortável e mais confortável 70 00:05:14,860 --> 00:05:18,420 tanto para ter sucesso, independentemente de seu fundo anterior. 71 00:05:18,420 --> 00:05:20,610 >> Com efeito, o que em última instância matérias desta classe não é 72 00:05:20,610 --> 00:05:22,830 tanto onde você acabar em relação a seus colegas 73 00:05:22,830 --> 00:05:26,000 mas onde na semana 12 acabam em relação ao mesmo 74 00:05:26,000 --> 00:05:28,720 na semana zero, o que é onde estamos aqui hoje. 75 00:05:28,720 --> 00:05:32,315 >> Na verdade e isso pode muito bem e provavelmente se parece grego 76 00:05:32,315 --> 00:05:32,940 para muitos de vocês. 77 00:05:32,940 --> 00:05:35,200 Mas com certeza, que isto e muito mais 78 00:05:35,200 --> 00:05:38,990 vai ser completamente dentro do seu agarrar em apenas um pouco de tempo. 79 00:05:38,990 --> 00:05:41,410 >> Mas hoje, vamos nos concentrar em alguns das ideias de nível mais alto 80 00:05:41,410 --> 00:05:43,822 para dar-lhe um sabor de ciência CS50 e computador 81 00:05:43,822 --> 00:05:45,530 no sentido de que você está inscrevendo. 82 00:05:45,530 --> 00:05:48,000 E, de fato, ciência da computação pode ser destilada mais 83 00:05:48,000 --> 00:05:51,209 simplesmente como thinking-- computacional pensar como um computador, se você quiser. 84 00:05:51,209 --> 00:05:54,000 E há tantas coisas diferentes ingredientes que entram em que, 85 00:05:54,000 --> 00:05:56,240 mas vamos propor apenas três para hoje. 86 00:05:56,240 --> 00:05:59,420 Se o objetivo da classe, em última instância não é para ensinar-lhe a programação, 87 00:05:59,420 --> 00:06:03,022 não é para ensinar-lhe C ou PHP ou SQL ou qualquer número das palavras 88 00:06:03,022 --> 00:06:04,730 e siglas no A descrição de curso, 89 00:06:04,730 --> 00:06:07,850 mas sim para ensiná-lo a resolver os problemas mais eficazmente 90 00:06:07,850 --> 00:06:11,670 e pensar mais metódica e mais de algoritmos, por assim dizer. 91 00:06:11,670 --> 00:06:13,610 Vamos ver o que exatamente isso significa. 92 00:06:13,610 --> 00:06:17,000 >> Assim, gostaria de propor que o pensamento computacionalmente se resume 93 00:06:17,000 --> 00:06:17,834 para resolver os problemas. 94 00:06:17,834 --> 00:06:19,333 O que você precisa para resolver um problema? 95 00:06:19,333 --> 00:06:21,470 Você precisa input-- como a entrada para o problema-- 96 00:06:21,470 --> 00:06:23,636 você precisa de uma saída, que é esperançosamente a solução, 97 00:06:23,636 --> 00:06:26,720 e então você precisa de um processo por que para resolver esse problema, que 98 00:06:26,720 --> 00:06:30,030 vamos chamar uma algorithm-- um conjunto de instruções para resolver algum problema. 99 00:06:30,030 --> 00:06:33,340 >> Mas, primeiro, vamos nos concentrar no primeiro e a última dessas entradas e saídas. 100 00:06:33,340 --> 00:06:38,070 Computadores afinal, aparentemente só entende zeros e uns. 101 00:06:38,070 --> 00:06:39,299 Mas como isso pode possivelmente ser? 102 00:06:39,299 --> 00:06:42,090 nem mesmo se você estiver familiarizado em tudo com o que está debaixo do capô, 103 00:06:42,090 --> 00:06:44,980 você provavelmente pelo menos ouviu falar que computadores entendem binary-- 104 00:06:44,980 --> 00:06:48,050 apenas zeros e ones-- Mas como pode você possivelmente fazer alguma coisa interessante? 105 00:06:48,050 --> 00:06:49,960 >> Bem, um dos temas da classe vai 106 00:06:49,960 --> 00:06:53,293 ser este layering-- onde hoje, vamos tomar um rápido olhar para o nível mais baixo 107 00:06:53,293 --> 00:06:55,620 detalhes, mas com cada dia que passa, em que a camada 108 00:06:55,620 --> 00:06:59,420 ou abstrato em cima desses detalhes para resolver efectivamente o nível mais elevado 109 00:06:59,420 --> 00:07:01,080 problemas de interesse para nós. 110 00:07:01,080 --> 00:07:04,730 >> Então aqui é o que poderíamos chamar binary-- com apenas um alfabeto de 0 e 1. 111 00:07:04,730 --> 00:07:06,960 Mas nós, seres humanos são na sua maioria familiarizados com decimal. 112 00:07:06,960 --> 00:07:08,130 Dezembro significado 10. 113 00:07:08,130 --> 00:07:09,070 Bi significa dois. 114 00:07:09,070 --> 00:07:12,100 E assim, no decimal sistema, temos 10 dígitos 115 00:07:12,100 --> 00:07:14,099 no nosso disposal-- de claro, de zero a nove. 116 00:07:14,099 --> 00:07:16,140 Então, se você olhar para um número assim, a maioria de vocês 117 00:07:16,140 --> 00:07:19,016 intuitivamente apenas entender que é 123. 118 00:07:19,016 --> 00:07:20,640 Não há nada realmente difícil sobre isso. 119 00:07:20,640 --> 00:07:22,452 Mas por que é 123? 120 00:07:22,452 --> 00:07:24,660 Bem, se você acha que volta para school-- grau ou, pelo menos, 121 00:07:24,660 --> 00:07:26,410 do jeito que eu aprendi isso tipo de mundo-- você 122 00:07:26,410 --> 00:07:29,640 deve se lembrar que nós tratamos estes coisas em colunas, ou lugares. 123 00:07:29,640 --> 00:07:31,412 >> Portanto, temos o lugar mais à direita. 124 00:07:31,412 --> 00:07:32,620 As dezenas colocar no meio. 125 00:07:32,620 --> 00:07:34,240 As centenas colocar à esquerda. 126 00:07:34,240 --> 00:07:36,980 E então como é que vamos chegar a partir deste padrão symbols-- 127 00:07:36,980 --> 00:07:41,771 1 2 3-- a este nível mais elevado ideia de que nós conhecemos como 123? 128 00:07:41,771 --> 00:07:43,461 Bem, é apenas um pouco de aritmética simples. 129 00:07:43,461 --> 00:07:43,960 Certo? 130 00:07:43,960 --> 00:07:48,960 >> A um há significa essencialmente dá-nos 100 vezes 1 mais 10 vezes 131 00:07:48,960 --> 00:07:50,410 2 mais 1 vezes 3. 132 00:07:50,410 --> 00:07:53,430 E, claro, se fizermos a matemática lá, é 100 mais 20 133 00:07:53,430 --> 00:07:56,480 3-- além de outra forma conhecido como 123. 134 00:07:56,480 --> 00:07:58,820 >> Então, se você está no mesma página que esse direito 135 00:07:58,820 --> 00:08:02,320 agora e são confortáveis ​​com o chamado sistema decimal como um ser humano, 136 00:08:02,320 --> 00:08:05,750 é realmente bem dentro o seu âmbito de conforto 137 00:08:05,750 --> 00:08:07,220 a considerar agora o sistema binário. 138 00:08:07,220 --> 00:08:10,110 Tome um selvagem adivinhar isso representa, no mundo dos computadores 139 00:08:10,110 --> 00:08:12,001 em binary-- que número? 140 00:08:12,001 --> 00:08:12,500 Zero. 141 00:08:12,500 --> 00:08:13,580 >> Mas por que isso? 142 00:08:13,580 --> 00:08:17,460 Bem, verifica-se que as colunas ou lugares aqui-- eles não são potências de 10. 143 00:08:17,460 --> 00:08:19,670 1, 10, 100, 1000, e assim por diante. 144 00:08:19,670 --> 00:08:21,890 Eles são em vez disso, bastante simplesmente, potências de 2. 145 00:08:21,890 --> 00:08:25,400 Assim, 1, 2, 4, 8, 16, 32, e assim por diante. 146 00:08:25,400 --> 00:08:29,630 E agora nós, naturalmente, chegar a 0 aqui simplesmente porque temos 4 vezes 147 00:08:29,630 --> 00:08:34,510 0 mais 2 vezes 0, mais 1 vezes 0, o que obviamente nos dá 0. 148 00:08:34,510 --> 00:08:37,399 >> Mas como eu vou sobre que representa o número 1? 149 00:08:37,399 --> 00:08:39,440 Qual é o padrão de zeros e uns para representar 150 00:08:39,440 --> 00:08:42,720 o número que nós seres humanos sabem como 1? 151 00:08:42,720 --> 00:08:44,280 001. 152 00:08:44,280 --> 00:08:46,370 E 2? 153 00:08:46,370 --> 00:08:47,480 010. 154 00:08:47,480 --> 00:08:49,760 >> E agora o padrão começa a se repete. 155 00:08:49,760 --> 00:08:50,890 Agora é 011. 156 00:08:50,890 --> 00:08:54,310 E, novamente, 0 fours, um 2, um 1. 157 00:08:54,310 --> 00:08:55,180 Então 2 mais 1. 158 00:08:55,180 --> 00:08:56,140 Isso é 3. 159 00:08:56,140 --> 00:08:59,069 >> E agora a representar 4, nós não basta mudar isso 0 para 1. 160 00:08:59,069 --> 00:09:01,360 Você meio que tem que levar, por assim dizer, e os números 161 00:09:01,360 --> 00:09:03,700 começar lançando em torno de apenas como no mundo decimal. 162 00:09:03,700 --> 00:09:04,670 >> Portanto, esta é 4. 163 00:09:04,670 --> 00:09:05,410 Isto é 5. 164 00:09:05,410 --> 00:09:06,330 Este é 6. 165 00:09:06,330 --> 00:09:07,580 Isto é de 7. 166 00:09:07,580 --> 00:09:09,720 E assim temos contado tão alto quanto 7. 167 00:09:09,720 --> 00:09:12,400 >> Agora tudo o que precisa é apenas mais um bits-- mais zeros e um de. 168 00:09:12,400 --> 00:09:15,700 E, de fato "bits", se você ouviu isso dígito binário term--. 169 00:09:15,700 --> 00:09:17,470 Bit é onde isso vem. 170 00:09:17,470 --> 00:09:20,190 E assim, se queremos representar números maiores, precisamos de mais bits. 171 00:09:20,190 --> 00:09:24,360 Mas vamos afastar-se lâminas agora para algo um pouco mais real. 172 00:09:24,360 --> 00:09:27,540 Suponha que nós queremos na verdade, representam essa coisa. 173 00:09:27,540 --> 00:09:31,790 >> Bem, vamos dar uma olhada agora em uma pequena demonstração. 174 00:09:31,790 --> 00:09:35,270 Portanto, este é um aplicativo baseado na web que um dos do CS50 própria, Michael G, 175 00:09:35,270 --> 00:09:38,160 juntos este Verão para ajudar -nos elucidar exatamente essa idéia. 176 00:09:38,160 --> 00:09:40,420 E que alguém como se aventurar-se no palco 177 00:09:40,420 --> 00:09:42,915 na frente de todos os seus colegas? 178 00:09:42,915 --> 00:09:43,790 Logo ali na frente. 179 00:09:43,790 --> 00:09:45,660 Vamos lá para cima. 180 00:09:45,660 --> 00:09:48,350 >> Você tem que ser confortável na câmera e internet. 181 00:09:48,350 --> 00:09:50,930 182 00:09:50,930 --> 00:09:52,450 Oh, aqui. 183 00:09:52,450 --> 00:09:52,950 ESTÁ BEM. 184 00:09:52,950 --> 00:09:53,740 Estamos OK. 185 00:09:53,740 --> 00:09:54,240 Tudo certo. 186 00:09:54,240 --> 00:09:54,740 Vamos lá para cima. 187 00:09:54,740 --> 00:09:56,150 Qual o seu nome? 188 00:09:56,150 --> 00:09:58,550 Emily vamos lá para cima. 189 00:09:58,550 --> 00:09:59,410 Portanto, esta é Emily. 190 00:09:59,410 --> 00:10:00,840 Em que ano você está? 191 00:10:00,840 --> 00:10:01,660 >> Calouro. 192 00:10:01,660 --> 00:10:02,810 >> Emily, prazer em conhecê-lo. 193 00:10:02,810 --> 00:10:03,310 David. 194 00:10:03,310 --> 00:10:03,810 >> Tudo certo. 195 00:10:03,810 --> 00:10:06,120 Então, na tela aqui, temos esta tela de toque 196 00:10:06,120 --> 00:10:08,425 que vai nos permitir realmente interagir com este programa, 197 00:10:08,425 --> 00:10:09,265 e é apenas um navegador. 198 00:10:09,265 --> 00:10:11,390 É Chrome blindado completo no momento, mas é 199 00:10:11,390 --> 00:10:14,030 foi programado por Michael para responder de uma forma que permite 200 00:10:14,030 --> 00:10:15,970 -nos a brincar com dígitos binários. 201 00:10:15,970 --> 00:10:20,220 >> Assim, por exemplo, aqui nós não tem três, mas oito zeros e uns bits--. 202 00:10:20,220 --> 00:10:22,000 Neste momento, estamos olhando para o número 0. 203 00:10:22,000 --> 00:10:25,150 E, de fato, todos os oito zeros em decimal significa zero. 204 00:10:25,150 --> 00:10:26,900 Então, isso é tudo o que é sendo sugerido aqui. 205 00:10:26,900 --> 00:10:29,395 >> Então, se você queria representam o número 8, 206 00:10:29,395 --> 00:10:31,520 qual é o padrão de zeros e aqueles que você quer? 207 00:10:31,520 --> 00:10:35,160 Você pode simplesmente tocar cima ou para baixo ou os próprios números. 208 00:10:35,160 --> 00:10:35,660 Tudo certo. 209 00:10:35,660 --> 00:10:37,659 De modo que, claro, é 8, como você pode ver lá em cima. 210 00:10:37,659 --> 00:10:41,260 E se quiséssemos não 16, o que vamos fazer? 211 00:10:41,260 --> 00:10:42,701 >> Yep, apenas tocá-lo novamente. 212 00:10:42,701 --> 00:10:43,200 16. 213 00:10:43,200 --> 00:10:43,870 Tudo certo. 214 00:10:43,870 --> 00:10:46,522 Então, isso é tudo muito bem e bom, ainda é muito baixo nível. 215 00:10:46,522 --> 00:10:48,230 Precisamos de um caminho no mundo real para Emily 216 00:10:48,230 --> 00:10:50,550 de realmente representar essas coisas. 217 00:10:50,550 --> 00:10:54,230 E assim supor que nós giramos zeros e uns, que é muito 218 00:10:54,230 --> 00:10:55,980 conceitual, em lâmpadas reais. 219 00:10:55,980 --> 00:10:56,480 Certo? 220 00:10:56,480 --> 00:10:59,540 >> Um computador é um físico, mecânico, aparelho eléctrico. 221 00:10:59,540 --> 00:11:02,220 E a sua, pelo menos, se input-- você ligá-lo ou encargo ele-- 222 00:11:02,220 --> 00:11:05,090 é ter a energia da bateria e elétrons que fluem dentro e para fora. 223 00:11:05,090 --> 00:11:08,150 >> Então, agora, por que não podemos deixar de pensar sobre bits como zeros e uns, 224 00:11:08,150 --> 00:11:10,470 mas algo mais físico como lâmpadas aqui. 225 00:11:10,470 --> 00:11:13,815 E se Dan Armendariz poderia juntar-se me por apenas um moment-- venha up-- 226 00:11:13,815 --> 00:11:15,440 vamos fazer fila um aplicativo. 227 00:11:15,440 --> 00:11:15,940 >> Venha até aqui, Emily. 228 00:11:15,940 --> 00:11:18,270 Desculpe este é o mais demonstração embaraçosa para você para sempre. 229 00:11:18,270 --> 00:11:20,330 Venha até aqui. 230 00:11:20,330 --> 00:11:22,080 Nós estamos indo para a fila -se com agradecimentos a Dan 231 00:11:22,080 --> 00:11:25,300 Armendariz, outro membro do nosso pessoal, uma aplicação conhecido como lâmpada binário. 232 00:11:25,300 --> 00:11:28,070 >> Então o que temos aqui é uma aplicação iPad 233 00:11:28,070 --> 00:11:31,970 que tem o seguinte usuário interface na tela para Emily. 234 00:11:31,970 --> 00:11:35,400 Simplesmente tem a mesma interface exata essencialmente, que está ali. 235 00:11:35,400 --> 00:11:39,220 E se você agora querem representam o número, digamos 8, 236 00:11:39,220 --> 00:11:42,094 como é que você vai fazer sobre este percebesse à direita, 237 00:11:42,094 --> 00:11:43,510 as lâmpadas que temos aqui? 238 00:11:43,510 --> 00:11:46,576 239 00:11:46,576 --> 00:11:47,620 Ah-ha. 240 00:11:47,620 --> 00:11:48,290 Mágico. 241 00:11:48,290 --> 00:11:51,830 Portanto, se queremos agora transformar isso em algo um pouco mais desafiador, 242 00:11:51,830 --> 00:11:58,100 e vamos em frente e escolher um aleatório número como o número 50 aqui. 243 00:11:58,100 --> 00:11:59,015 Input isso. 244 00:11:59,015 --> 00:12:01,640 E se você pode agora ser desafiado para vir acima com o número 50, 245 00:12:01,640 --> 00:12:04,268 teremos um prêmio fabuloso para você. 246 00:12:04,268 --> 00:12:06,144 >> EMILY: OK. 247 00:12:06,144 --> 00:12:08,692 Meu Deus. 248 00:12:08,692 --> 00:12:10,650 DAVID MALAN: Aritmética é realmente difícil na frente 249 00:12:10,650 --> 00:12:12,860 de centenas de seus colegas. 250 00:12:12,860 --> 00:12:16,260 Mas 50 tem sido a resposta aqui. 251 00:12:16,260 --> 00:12:18,132 >> [Aplausos] 252 00:12:18,132 --> 00:12:21,875 >> E agora, este destina-se a ser demonstrativa para Emily. 253 00:12:21,875 --> 00:12:24,315 Então, aqui, é um pouco de luz lâmpadas bastante como estes, 254 00:12:24,315 --> 00:12:26,190 mas na verdade é o pequenas tiras magnéticas. 255 00:12:26,190 --> 00:12:28,570 E o que é legal sobre estes e a razão por que usá-los em CS50 256 00:12:28,570 --> 00:12:31,640 é que eles suportam uma coisa chamada um API-- uma programação de aplicativo 257 00:12:31,640 --> 00:12:34,681 interface, que é apenas uma maneira elegante de dizer que o que um dos nossos funcionários 258 00:12:34,681 --> 00:12:37,284 se durante o verão foi criar uma aplicação iPad aqui 259 00:12:37,284 --> 00:12:39,700 que fala através da internet às lâmpadas por aqui, 260 00:12:39,700 --> 00:12:41,810 que são sem fios ligado a outro dispositivo. 261 00:12:41,810 --> 00:12:43,912 Mas esta é agora uma opção para os projectos finais. 262 00:12:43,912 --> 00:12:46,370 E assim por Emily, se você seria tão como, no final do prazo, 263 00:12:46,370 --> 00:12:48,703 você pode decorar seu quarto do dormitório nesse meio tempo com aqueles. 264 00:12:48,703 --> 00:12:50,376 Obrigado a Emily também. 265 00:12:50,376 --> 00:12:53,244 >> [Aplausos] 266 00:12:53,244 --> 00:12:56,590 267 00:12:56,590 --> 00:13:00,055 >> Mas agora, vamos voltar a nossa atenção para o que 268 00:13:00,055 --> 00:13:03,180 essa mensagem pode ter parecido, e é um pouco algo como isto. 269 00:13:03,180 --> 00:13:05,320 Na verdade, esta é uma exemplo apenas como um teaser 270 00:13:05,320 --> 00:13:08,400 do que está por vir do que é chamado de uma solicitação da API. 271 00:13:08,400 --> 00:13:11,409 E então o que temos aqui é simplesmente exatamente os tipos de mensagem 272 00:13:11,409 --> 00:13:13,200 que, depois de algumas semanas vez em CS50, você vai 273 00:13:13,200 --> 00:13:16,590 ser capaz de enviar para algo bastante familiar como que para realmente 274 00:13:16,590 --> 00:13:18,100 ligá-los e off. 275 00:13:18,100 --> 00:13:19,350 Mas isso é tudo muito bem e bom. 276 00:13:19,350 --> 00:13:19,850 Certo? 277 00:13:19,850 --> 00:13:22,710 Temos o modelo mental esperançosamente para representar números com 278 00:13:22,710 --> 00:13:23,660 zeros e um de. 279 00:13:23,660 --> 00:13:26,290 E a partir de zeros e uns, nós podemos chegar a números mais elevados, como 50, 280 00:13:26,290 --> 00:13:29,460 como Emily acabou de fazer, ou nós pode mover-se a partir daí. 281 00:13:29,460 --> 00:13:32,160 E eu afirmo que podemos representar coisas como cartas também. 282 00:13:32,160 --> 00:13:32,660 Certo? 283 00:13:32,660 --> 00:13:35,360 >> Computadores são muito mais interessante do que apenas números. 284 00:13:35,360 --> 00:13:37,340 E assim como você ir sobre as palavras que representam 285 00:13:37,340 --> 00:13:39,420 na tela ou e-mails ou ensaios ou similares? 286 00:13:39,420 --> 00:13:43,170 Bem, verifica-se que os computadores simplesmente abstract em cima destes baixo nível 287 00:13:43,170 --> 00:13:47,380 detalhes, e os seres humanos há algum tempo, veio -se com uma arbitrária, mas um consistente, 288 00:13:47,380 --> 00:13:51,710 mapeamento de números de modo a letters-- que a qualquer momento você vê uma letra maiúscula 289 00:13:51,710 --> 00:13:54,170 Um no seu computador tela, as probabilidades são o que há de 290 00:13:54,170 --> 00:13:57,370 debaixo do capô é um padrão de zeros e uns 291 00:13:57,370 --> 00:14:00,650 que representam o número, por este gráfico, 65. 292 00:14:00,650 --> 00:14:02,830 >> E mais fisicamente dentro do seu computador, 293 00:14:02,830 --> 00:14:06,450 são milhões de coisas chamadas transistors-- estes dias-- que 294 00:14:06,450 --> 00:14:10,190 são apenas muda se você, coisas que pode ir dentro e fora e assim imaginar. 295 00:14:10,190 --> 00:14:14,130 Não oito dessas grandes lâmpadas mas milhões destes minúsculos pouca luz 296 00:14:14,130 --> 00:14:17,490 bulbos, ou interruptores ou transistores, que podem ligar e desligar 297 00:14:17,490 --> 00:14:19,170 baseado em como você programá-los. 298 00:14:19,170 --> 00:14:22,120 E então agora temos uma forma de representando letras também. 299 00:14:22,120 --> 00:14:25,300 >> Na verdade, se eu fosse para usar esta mapeamento aqui e tentar realmente 300 00:14:25,300 --> 00:14:28,731 soletrar alguma coisa, podemos olhar neste padrão de dígitos decimais 301 00:14:28,731 --> 00:14:29,230 agora mesmo. 302 00:14:29,230 --> 00:14:31,354 Então, nós não vamos sequer focar binário mais. 303 00:14:31,354 --> 00:14:35,910 Vamos apenas considerá-las como número decimal 72, 73, 33. 304 00:14:35,910 --> 00:14:38,044 Mas o que isso pode representar? 305 00:14:38,044 --> 00:14:39,960 Alguém tem uma suficientemente memória fotográfica 306 00:14:39,960 --> 00:14:43,060 saber o que está escrito na tela aqui? 307 00:14:43,060 --> 00:14:43,560 Sim alguns. 308 00:14:43,560 --> 00:14:44,190 Então Oi. 309 00:14:44,190 --> 00:14:48,330 H-I e, em seguida, um ponto de exclamação, o que não era verdade na tela. 310 00:14:48,330 --> 00:14:51,060 Mas na verdade, não há um mapeamento para cada letra de cada número 311 00:14:51,060 --> 00:14:53,340 que você pode querer digitar no teclado. 312 00:14:53,340 --> 00:14:55,430 >> Mas os números não têm de representam apenas letras. 313 00:14:55,430 --> 00:14:55,930 Certo? 314 00:14:55,930 --> 00:14:59,570 Todos nós sabemos sobre as imagens e fotografias e arquivos de áudio 315 00:14:59,570 --> 00:15:00,870 e os ficheiros de vídeo e semelhantes. 316 00:15:00,870 --> 00:15:03,580 Então, claramente, podemos representar nível coisas ainda maior. 317 00:15:03,580 --> 00:15:06,920 E então o que um computador faz é simplesmente escolher 318 00:15:06,920 --> 00:15:11,240 para interpretar padrões de zero queridos de forma diferente com base no contexto. 319 00:15:11,240 --> 00:15:13,130 >> Se você clicar duas vezes um ícone do Microsoft Word, 320 00:15:13,130 --> 00:15:15,900 você ver as palavras na tela em vez de cores e imagens 321 00:15:15,900 --> 00:15:18,850 porque a palavra sabe que esta é uma ensaio que você realmente digitado. 322 00:15:18,850 --> 00:15:21,510 Se você, em vez clique duplo em um JPEG ou GIF ou PNG, 323 00:15:21,510 --> 00:15:27,070 abre-se e é uma imagem porque o PNG ou .docx ou qualquer que seja o arquivo 324 00:15:27,070 --> 00:15:30,450 extensão é eo que quer software você estiver usando sabe interpretar 325 00:15:30,450 --> 00:15:34,420 um padrão de zeros e uns de forma diferente com base no que o seu propósito na vida é. 326 00:15:34,420 --> 00:15:37,330 >> Assim, por exemplo, esta mesma seqüência de números 327 00:15:37,330 --> 00:15:41,250 pode representar o quanto vermelho você quer, o quanto verde que você quer, 328 00:15:41,250 --> 00:15:42,810 e quanto azul quer. 329 00:15:42,810 --> 00:15:47,490 E, de fato, se você nunca ouviu falar RGB-- verde azul então apenas vermelho. 330 00:15:47,490 --> 00:15:51,380 E então se eu ver números como, este dá-me 72 vermelho, me dar 73 verde, 331 00:15:51,380 --> 00:15:56,910 e 33 azul, isto é como um computador usando três bytes-- onde 332 00:15:56,910 --> 00:16:01,470 é um byte de oito bits ou 24 bits-- representaria um tom bastante desagradável 333 00:16:01,470 --> 00:16:03,660 de marrom ou amarelo aqui. 334 00:16:03,660 --> 00:16:07,500 E em diferentes contextos, poderia aqueles mesmos padrões exatos em zeros e uns 335 00:16:07,500 --> 00:16:10,780 significar algo completamente diferente bem. 336 00:16:10,780 --> 00:16:13,899 >> Portanto, temos agora uma maneira de representar zeros e uns information--. 337 00:16:13,899 --> 00:16:15,190 Em cima disso, nós receber cartas. 338 00:16:15,190 --> 00:16:16,860 Além disso, podemos obter cores. 339 00:16:16,860 --> 00:16:19,730 E vamos supor para hoje que podemos obter áudio e vídeo 340 00:16:19,730 --> 00:16:22,590 e as coisas muito mais sofisticado do que isso. 341 00:16:22,590 --> 00:16:25,370 >> Mas agora vamos considerar como usamos essas entradas 342 00:16:25,370 --> 00:16:27,390 e produzir aqueles saídas Agora que temos 343 00:16:27,390 --> 00:16:29,830 uma forma de representar essa informação. 344 00:16:29,830 --> 00:16:31,820 Bem, precisamos de algo chamado um algoritmo. 345 00:16:31,820 --> 00:16:34,320 Mais uma vez, um conjunto de instruções para resolver algum problema 346 00:16:34,320 --> 00:16:37,580 passo a step-- eo Mais precisamente, o melhor. 347 00:16:37,580 --> 00:16:42,090 >> E assim um exemplo com o qual os seres humanos são reconhecidamente menos familiares nos dias de hoje, 348 00:16:42,090 --> 00:16:44,300 mas mesmo assim ainda é conosco em software, 349 00:16:44,300 --> 00:16:47,490 é o processo de procura -se alguém em um livro de telefone. 350 00:16:47,490 --> 00:16:51,690 >> Agora, cada vez menos pessoas se conhecem ano que esta relíquia, na verdade, está aqui. 351 00:16:51,690 --> 00:16:53,470 Mas de volta no meu dia, este foi um livro de telefone 352 00:16:53,470 --> 00:16:57,266 com milhares de páginas e números e os nomes das pessoas de A a Z. 353 00:16:57,266 --> 00:17:00,390 E mesmo que nós estamos tipo de batota um bit-- isto é principalmente páginas amarelas. 354 00:17:00,390 --> 00:17:01,920 Há também eram brancos páginas no momento, o que 355 00:17:01,920 --> 00:17:04,720 tinha todos aqueles nomes e número de seres humanos reais. 356 00:17:04,720 --> 00:17:07,970 >> E se eu quisesse olhar de alguém em um livro de telefone como este, hoje, é claro, 357 00:17:07,970 --> 00:17:11,010 Eu só digitar os primeiros caracteres de seu nome, 358 00:17:11,010 --> 00:17:13,480 e meu telefone encontrar essa informação. 359 00:17:13,480 --> 00:17:15,970 Mas o processo pelo qual seu telefone iPhone ou Android 360 00:17:15,970 --> 00:17:18,730 ou o que é realmente encontrar alguém em sua lista de contatos 361 00:17:18,730 --> 00:17:22,099 é idêntico ao que nós, seres humanos provavelmente tem feito há algum tempo. 362 00:17:22,099 --> 00:17:24,260 >> Agora eu poderia tomar este problema, se quiserem, 363 00:17:24,260 --> 00:17:26,220 e as entradas aqui não são zeros e uns. 364 00:17:26,220 --> 00:17:28,730 Eles estão pages-- como, digamos 1.000 páginas. 365 00:17:28,730 --> 00:17:32,650 E se eu queria para procurar alguém como Mike Smith neste livro de telefone, 366 00:17:32,650 --> 00:17:35,570 Eu poderia começar no início e ver que eu estou na secção A 367 00:17:35,570 --> 00:17:38,300 e depois virar uma página de um tempo, olhar e olhar 368 00:17:38,300 --> 00:17:42,820 como eu faço para o B eo C do e o D's e assim por diante para Mike Smith. 369 00:17:42,820 --> 00:17:46,000 Smith começando com um S, eu vou espero que, eventualmente encontrá-lo. 370 00:17:46,000 --> 00:17:50,090 >> É este algorithm-- que process-- correto? 371 00:17:50,090 --> 00:17:50,590 Sim. 372 00:17:50,590 --> 00:17:51,610 Está certo. 373 00:17:51,610 --> 00:17:57,040 Eu vou encontrar Mike se ele está aqui, mas o que é a ressalva de que você pode oferecer. 374 00:17:57,040 --> 00:17:57,541 Ele é lento. 375 00:17:57,541 --> 00:17:58,040 Certo? 376 00:17:58,040 --> 00:18:00,975 Eu sei que Mike S é uma espécie de direção a segunda metade do livro de telefone. 377 00:18:00,975 --> 00:18:02,766 Por que diabos eu sou começando no início 378 00:18:02,766 --> 00:18:04,349 e ir página por página por página. 379 00:18:04,349 --> 00:18:06,890 Então, é claro, eu poderia lançá-lo em torno e começar a partir da parte traseira, 380 00:18:06,890 --> 00:18:08,973 mas isso vai ficar me lá no mesmo ritmo, 381 00:18:08,973 --> 00:18:10,930 se você willl-- página após página após página. 382 00:18:10,930 --> 00:18:14,190 E isso não vai funcionar se eu quiser para procurar outra pessoa cuja 383 00:18:14,190 --> 00:18:15,880 nome vem no início do alfabeto. 384 00:18:15,880 --> 00:18:17,240 >> Então, o que se eu faço o que eu aprendido na escola, 385 00:18:17,240 --> 00:18:19,205 mais uma vez, fazer as coisas não por outros, mas de dois em dois. 386 00:18:19,205 --> 00:18:23,060 Então, 2, 4, 6, 8, 10, 12, e assim por diante. 387 00:18:23,060 --> 00:18:23,740 Isso está correto? 388 00:18:23,740 --> 00:18:27,030 389 00:18:27,030 --> 00:18:27,560 Não. 390 00:18:27,560 --> 00:18:28,830 É uma espécie de correto. 391 00:18:28,830 --> 00:18:33,210 Mas alguns de vocês que murmurou não, onde está o problema, ou o bug, 392 00:18:33,210 --> 00:18:34,240 o erro por assim dizer. 393 00:18:34,240 --> 00:18:34,580 Sim. 394 00:18:34,580 --> 00:18:36,570 >> ALUNO: Você pode pular sobre a entrada direita. 395 00:18:36,570 --> 00:18:37,320 >> DAVID MALAN: Yeah. 396 00:18:37,320 --> 00:18:40,340 Eu poderia pular Mike Smith é porque eu tenho tido duas páginas de uma só vez 397 00:18:40,340 --> 00:18:43,190 e ele só acontece de ser ensanduichada entre estas duas páginas. 398 00:18:43,190 --> 00:18:46,500 I pode perceber que Eu sou para a seção T 399 00:18:46,500 --> 00:18:48,690 Não tendo encontrado Mike Smith ainda. 400 00:18:48,690 --> 00:18:50,820 >> E assim o que poderia o fixo haver? 401 00:18:50,820 --> 00:18:52,709 Bem, se eu acertar o Ts no livro de telefone, 402 00:18:52,709 --> 00:18:54,500 Eu poderia precisar de duplicar cópia de um ou de modo página. 403 00:18:54,500 --> 00:18:56,830 Portanto, é corrigível, mas não é tão simples 404 00:18:56,830 --> 00:18:59,170 como apenas indo por dois para acelerar o meu desempenho. 405 00:18:59,170 --> 00:18:59,680 Mas o que? 406 00:18:59,680 --> 00:19:00,180 Vamos. 407 00:19:00,180 --> 00:19:03,530 O que é que a maioria dos seres humanos vão a ver com este tipo de lista telefónica? 408 00:19:03,530 --> 00:19:04,696 Você é dado o livro de telefone. 409 00:19:04,696 --> 00:19:06,280 O que você faz? 410 00:19:06,280 --> 00:19:06,922 >> O que é isso? 411 00:19:06,922 --> 00:19:07,630 Vá para o meio. 412 00:19:07,630 --> 00:19:10,620 Então eu ouvi vá para o meio, e eu encontrar-me mais ou menos na seção M, 413 00:19:10,620 --> 00:19:11,120 por assim dizer. 414 00:19:11,120 --> 00:19:12,670 E agora o que eu quero fazer? 415 00:19:12,670 --> 00:19:14,077 Bom trabalho. 416 00:19:14,077 --> 00:19:14,785 Qual o seu nome? 417 00:19:14,785 --> 00:19:15,350 >> JAMES: James. 418 00:19:15,350 --> 00:19:15,890 >> DAVID MALAN: James, tudo bem. 419 00:19:15,890 --> 00:19:16,829 O que devo fazer em seguida? 420 00:19:16,829 --> 00:19:18,620 JAMES: Você vai na meia que tem as S do. 421 00:19:18,620 --> 00:19:18,740 DAVID MALAN: Tudo bem. 422 00:19:18,740 --> 00:19:20,910 Eu estou indo para ir para a metade que tem as S está nele, porque, mais uma vez, 423 00:19:20,910 --> 00:19:22,920 uma estipulação aqui foi que essa coisa está classificada. 424 00:19:22,920 --> 00:19:25,461 É um bastante inútil 1,000 páginas, se Verizon na verdade não 425 00:19:25,461 --> 00:19:27,339 classificar essas coisas para nós de A a Z. 426 00:19:27,339 --> 00:19:30,130 Então, se eu sei que Mike é, provavelmente, em a segunda metade do livro de telefone, 427 00:19:30,130 --> 00:19:31,536 Eu posso agora. 428 00:19:31,536 --> 00:19:33,388 >> [Risos] 429 00:19:33,388 --> 00:19:35,240 430 00:19:35,240 --> 00:19:37,391 >> Rasgar o problema pela metade. 431 00:19:37,391 --> 00:19:38,615 >> [Aplausos] 432 00:19:38,615 --> 00:19:39,115 433 00:19:39,115 --> 00:19:40,300 Obrigado. 434 00:19:40,300 --> 00:19:42,510 Rasgar o problema pela metade. 435 00:19:42,510 --> 00:19:44,440 Isso foi realmente real-- essa luta. 436 00:19:44,440 --> 00:19:47,050 Então rasgar o livro de telefone ao meio, deixando-me 437 00:19:47,050 --> 00:19:48,580 com fundamentalmente o mesmo problema. 438 00:19:48,580 --> 00:19:50,060 Mas, claro, metade do tamanho. 439 00:19:50,060 --> 00:19:52,550 E se eu seguir James conselhos de novo, e eu aqui. 440 00:19:52,550 --> 00:19:54,400 Eu digo, oh agora eu estou na seção T. 441 00:19:54,400 --> 00:19:56,460 >> E assim é claro, eu pode rasgar o livro de telefone 442 00:19:56,460 --> 00:19:59,660 na metade mais uma vez, deixando -me com um problema que é 443 00:19:59,660 --> 00:20:00,810 agora um quarto do tamanho. 444 00:20:00,810 --> 00:20:05,335 Então eu fui de 1.000 para 500 a 250 a 125 e assim por diante. 445 00:20:05,335 --> 00:20:07,350 Parece que eu sou tomando mordidas maiores fora 446 00:20:07,350 --> 00:20:10,615 deste problema com cada iteração, ou cada passo na mesma. 447 00:20:10,615 --> 00:20:15,580 >> E, de fato, o tempo que eu vou gastar encontrando Mike, neste exemplo, Smith 448 00:20:15,580 --> 00:20:18,970 é muito menos porque eventualmente eu sou indo para talhar este livro pone para baixo 449 00:20:18,970 --> 00:20:20,192 para apenas uma página solitário. 450 00:20:20,192 --> 00:20:23,010 E se Mike está nessa página, eu sou indo para ir em frente e dar-lhe 451 00:20:23,010 --> 00:20:24,670 uma chamada de ter encontrado ele. 452 00:20:24,670 --> 00:20:27,030 >> Mas como muito melhor é que algorithm-- 453 00:20:27,030 --> 00:20:29,690 que ouso dizer intuitiva algorithm-- do que os que 454 00:20:29,690 --> 00:20:34,920 começou com o qual estamos muito linear-- esquerda para a direita-- a um ritmo de 1 ou 2x? 455 00:20:34,920 --> 00:20:36,100 >> Bem, vamos traçar isso. 456 00:20:36,100 --> 00:20:39,380 Nós não têm de se preocupar muito com matemática ou números, neste caso aqui. 457 00:20:39,380 --> 00:20:40,550 Nós basta olhar para um gráfico. 458 00:20:40,550 --> 00:20:43,600 Então nos x ou eixo horizontal, é o tamanho do problema-- 459 00:20:43,600 --> 00:20:44,700 Quantas páginas estão lá. 460 00:20:44,700 --> 00:20:46,760 No Y, ou a vertical eixo, é quanto tempo 461 00:20:46,760 --> 00:20:48,218 é ele que vai me levar para resolvê-lo. 462 00:20:48,218 --> 00:20:50,760 E talvez isso é quantas viradas de página, quantos segundos, 463 00:20:50,760 --> 00:20:52,370 como many-- alguma unidade de medidas. 464 00:20:52,370 --> 00:20:57,810 >> E eu desenhei algumas linhas retas vermelhas aqui, porque se cada página adicional 465 00:20:57,810 --> 00:21:01,740 do livro de telefone, eu exijo para fazer um passo adicional. 466 00:21:01,740 --> 00:21:03,680 Portanto, se adiciona um Verizon mais página do próximo ano, 467 00:21:03,680 --> 00:21:06,970 Eu poderia ter de virar mais uma página para encontrar alguém como Mike Smith. 468 00:21:06,970 --> 00:21:11,340 >> Enquanto isso, o segundo algoritmo, que Eu fui por dois, é a mesma forma. 469 00:21:11,340 --> 00:21:15,220 Ainda é muito linear, muito à esquerda para direito, tendo a igualdade de bytes de cada vez, 470 00:21:15,220 --> 00:21:16,900 mas a inclinação é um pouco menor. 471 00:21:16,900 --> 00:21:23,590 >> Por exemplo, se o tamanho de o problema eram mais ou menos aqui 472 00:21:23,590 --> 00:21:25,990 e eu usei o meu primeiro algoritmo, Eu poderia acabar todo o caminho 473 00:21:25,990 --> 00:21:27,480 na parte superior da referida linha vermelha. 474 00:21:27,480 --> 00:21:29,390 Mas se eu passar a usar twosies para aproximar, 475 00:21:29,390 --> 00:21:31,480 a linha amarela sugere porque é mais baixo, 476 00:21:31,480 --> 00:21:33,790 que vai levar me menos tempo a resolver. 477 00:21:33,790 --> 00:21:37,400 >> Mas o que é a forma da terceiro algorithm-- novamente, sem dúvida 478 00:21:37,400 --> 00:21:38,707 o algoritmo mais intuitiva? 479 00:21:38,707 --> 00:21:40,540 Bem, parece um pouco algo assim. 480 00:21:40,540 --> 00:21:43,480 É curvo, ou logarítmica, em forma. 481 00:21:43,480 --> 00:21:46,510 E mesmo que nunca tipo de achata, 482 00:21:46,510 --> 00:21:50,770 -lo asymptotically polegadas para cima e cima e para cima, mas terrivelmente lento 483 00:21:50,770 --> 00:21:52,129 contra tudo o resto. 484 00:21:52,129 --> 00:21:53,170 E o que está a levar embora? 485 00:21:53,170 --> 00:21:54,215 Bem, nós chamamos de log n. 486 00:21:54,215 --> 00:21:55,820 Mas o que isso realmente significa? 487 00:21:55,820 --> 00:21:58,580 Bem, se Verizon dobrou o número de páginas do livro de telefone 488 00:21:58,580 --> 00:22:00,810 no próximo ano de 1.000 para 2.000. 489 00:22:00,810 --> 00:22:04,600 Quantos mais passos é a minha primeiro algoritmo vai levar? 490 00:22:04,600 --> 00:22:05,440 >> Meu primeiro algoritmo. 491 00:22:05,440 --> 00:22:06,399 Talvez mais 1.000 passos. 492 00:22:06,399 --> 00:22:08,106 Se eles dobraram o livro de telefone, eu vou 493 00:22:08,106 --> 00:22:10,590 ter que percorrer outro 1.000 páginas para encontrar Mike. 494 00:22:10,590 --> 00:22:13,240 É claro que, se a segunda algoritmo, talvez 500 porque eu sou 495 00:22:13,240 --> 00:22:14,610 indo duas vezes mais rápido. 496 00:22:14,610 --> 00:22:18,380 >> Mas se Verizon duplica o número de páginas entre este ano eo próximo, 497 00:22:18,380 --> 00:22:21,650 com a minha terceira algorithm-- o fosso e conquistar que James proposto, 498 00:22:21,650 --> 00:22:24,450 indo ao meio e meio e half-- quantas mais medidas irão 499 00:22:24,450 --> 00:22:29,030 ele me levar no próximo ano para ter um livro de telefone de um tamanho de 2.000? 500 00:22:29,030 --> 00:22:29,670 Apenas um. 501 00:22:29,670 --> 00:22:34,110 Porque com uma mordida, eu posso tomar, Fora do problema que, metade das páginas 502 00:22:34,110 --> 00:22:34,694 longe. 503 00:22:34,694 --> 00:22:37,860 E se você pensar sobre isso um pouco loucamente agora-- se o livro de telefone não faz 504 00:22:37,860 --> 00:22:41,810 tem 1.000 ou 2.000 páginas, mas digamos 4 bilhões pages-- 505 00:22:41,810 --> 00:22:45,282 é um grande telefone book-- como muitas vezes ou quantos passos 506 00:22:45,282 --> 00:22:47,740 é ele que vai me levar para encontrar Mike Smith no livro de telefone 507 00:22:47,740 --> 00:22:50,489 com 4 bilhões de páginas. 508 00:22:50,489 --> 00:22:52,030 Você pode tipo de começar a fazer a matemática. 509 00:22:52,030 --> 00:22:52,200 Tudo certo. 510 00:22:52,200 --> 00:22:53,175 4 bilhões dividido por 2. 511 00:22:53,175 --> 00:22:54,550 Então, isso é de 2 mil milhões dividido por 1. 512 00:22:54,550 --> 00:22:55,510 Isso é 1 bilhão. 513 00:22:55,510 --> 00:22:56,410 Em seguida, metade de um bilhão. 514 00:22:56,410 --> 00:22:59,940 Então 250-- para que você possa fazer isso novamente e novamente, mas não que muitas vezes antes 515 00:22:59,940 --> 00:23:01,020 você começa a uma página. 516 00:23:01,020 --> 00:23:04,360 >> E, de fato, mesmo se o telefone livro é de 4 bilhões de páginas 517 00:23:04,360 --> 00:23:08,340 ou o banco de dados que você está procurando é de 4 bilhões de registros de comprimento, 518 00:23:08,340 --> 00:23:12,720 que vai levá-lo mais ou menos 32 passos para encontrar somente Mike Smith. 519 00:23:12,720 --> 00:23:15,990 E se você dobrar o livro de telefone próxima ano de 4000 a 8000 milhões, 520 00:23:15,990 --> 00:23:19,010 33 etapas, em vez de apenas 32. 521 00:23:19,010 --> 00:23:21,100 >> E esta é a prova a uma das ideias 522 00:23:21,100 --> 00:23:24,100 para que possamos abraçar no computador ciência em geral, que 523 00:23:24,100 --> 00:23:26,760 é este pensamento computacional e aproximando-se um problema 524 00:23:26,760 --> 00:23:29,479 francamente usando ferramentas de sua ferramenta já está familiarizado 525 00:23:29,479 --> 00:23:31,520 kit-- seu mundo real com que você está familiarizado, 526 00:23:31,520 --> 00:23:34,730 mas aproveitar essas ideias para resolver problemas, na verdade. 527 00:23:34,730 --> 00:23:37,200 >> Mas precisamos de formalizar a nossa soluções para estes problemas. 528 00:23:37,200 --> 00:23:40,200 E assim deixe-me apresentar por um momento algo que poderíamos chamar de pseudocódigo. 529 00:23:40,200 --> 00:23:44,260 Grande parte do semestre, nós vamos passar usando código real em linguagens como C e PHP 530 00:23:44,260 --> 00:23:46,570 e JavaScript e SQL e similares. 531 00:23:46,570 --> 00:23:49,000 >> Mas, por enquanto, vamos apenas olhar em algo bastante intuitiva 532 00:23:49,000 --> 00:23:49,930 como o Inglês. 533 00:23:49,930 --> 00:23:52,490 Eu poderia destilar que com o qual algoritmo 534 00:23:52,490 --> 00:23:54,650 Encontrei Mike em etapas como este. 535 00:23:54,650 --> 00:23:55,760 >> Pegar o livro de telefone 536 00:23:55,760 --> 00:23:57,121 >> Aberta a meio do livro de telefone 537 00:23:57,121 --> 00:23:57,870 Olhe para o nome do 538 00:23:57,870 --> 00:23:59,290 Se Mike está entre o nome do 539 00:23:59,290 --> 00:24:00,450 Ligue para Mike 540 00:24:00,450 --> 00:24:02,290 Else if Smith é no início do livro 541 00:24:02,290 --> 00:24:04,540 Aberto ao meio a metade esquerda do livro 542 00:24:04,540 --> 00:24:06,244 Então ir para a linha 3 543 00:24:06,244 --> 00:24:07,660 Else if Smith é mais tarde no livro 544 00:24:07,660 --> 00:24:09,330 Aberto ao meio da metade direita do livro 545 00:24:09,330 --> 00:24:09,996 Vá para a linha de três 546 00:24:09,996 --> 00:24:10,720 Outro 547 00:24:10,720 --> 00:24:11,500 Desistir 548 00:24:11,500 --> 00:24:15,360 E há algumas características agora isso que é importante ressaltar. 549 00:24:15,360 --> 00:24:18,370 Então, uma, todas as linhas Eu tenho realçado em amarelo 550 00:24:18,370 --> 00:24:21,430 vamos começar a chamar declarações ou funções ou procedimentos. 551 00:24:21,430 --> 00:24:24,160 Eles são apenas acções fazer este, e não há 552 00:24:24,160 --> 00:24:26,400 tudo o que muito variabilidade a ele. 553 00:24:26,400 --> 00:24:30,850 >> O próximo passo aqui, porém, são estes conditions-- if, else, else if, else. 554 00:24:30,850 --> 00:24:34,020 E estes são chamados de condições, ou ramos, e eles são os pontos de decisão. 555 00:24:34,020 --> 00:24:36,780 E eles nos permitem fazer algo condicionalmente. 556 00:24:36,780 --> 00:24:39,650 >> E, na verdade, vamos dar uma rápida olhar para talvez um face-- familiarizado 557 00:24:39,650 --> 00:24:43,380 vamos chamá-lo Bill-- e exatamente o que essas condições, 558 00:24:43,380 --> 00:24:45,670 como eles podem ser usados. 559 00:24:45,670 --> 00:24:48,230 >> BILL GATES: As pessoas fazem decisões todos os dias. 560 00:24:48,230 --> 00:24:51,800 Por exemplo, antes de ir para fora de você tipo de ter uma instrução if que diz: 561 00:24:51,800 --> 00:24:55,650 se estiver chovendo, então eu preciso pegar minha jaqueta. 562 00:24:55,650 --> 00:25:00,990 >> E os computadores são surpreendentes uma vez que você decidir esses tipos de declarações 563 00:25:00,990 --> 00:25:06,450 que pode executar de forma fiável essas coisas a uma velocidade inacreditável. 564 00:25:06,450 --> 00:25:12,470 E assim por um programa de computador realmente é um pouco de matemática e alguns 565 00:25:12,470 --> 00:25:16,890 if onde se tomou a decisão. 566 00:25:16,890 --> 00:25:19,432 >> O foco da Então agora vamos: DAVID MALAN em alguns lines-- diferente 567 00:25:19,432 --> 00:25:21,140 os que eu destacados em amarelo aqui. 568 00:25:21,140 --> 00:25:23,890 E verifica-se que há diferentes maneiras de expressar essa idéia. 569 00:25:23,890 --> 00:25:28,550 Mas intuitivamente o que nossas linhas 8 e 11 que eu tenha destacado aqui dizendo a você 570 00:25:28,550 --> 00:25:29,100 façam? 571 00:25:29,100 --> 00:25:33,081 Sim, vá para a linha 3, mas o que comportamento é que realmente induzir? 572 00:25:33,081 --> 00:25:35,580 É algum tipo de loop ou ciclo, e você pode tipo de vê-lo. 573 00:25:35,580 --> 00:25:36,079 Certo? 574 00:25:36,079 --> 00:25:39,710 Se na linha 8, você voltar para a linha 3, e depois de bater a linha 8 novamente, 575 00:25:39,710 --> 00:25:42,700 você pode voltar para a linha 3, de volta para a linha 3, de volta para a linha 3. 576 00:25:42,700 --> 00:25:44,530 Não há este tipo de ciclo ou loop. 577 00:25:44,530 --> 00:25:47,177 E, de fato, que é induzido em A linha 11 potencialmente bem. 578 00:25:47,177 --> 00:25:49,260 E este é um básico programação construir também. 579 00:25:49,260 --> 00:25:51,593 >> Você não pode querer apenas fazer algo com uma declaração 580 00:25:51,593 --> 00:25:54,280 ou fazer algo condicionalmente com uma condição ou ramo. 581 00:25:54,280 --> 00:25:56,644 Você pode querer fazer alguma coisa ciclicamente com um loop. 582 00:25:56,644 --> 00:25:59,810 E nós vamos ter alguém com quem você pode ser familiar-- vamos chamá-lo 583 00:25:59,810 --> 00:26:02,996 Mark-- explicar este conceito aqui. 584 00:26:02,996 --> 00:26:04,870 Mark Zuckerberg: One coisa que os computadores são 585 00:26:04,870 --> 00:26:07,460 realmente bom em está repetindo comandos. 586 00:26:07,460 --> 00:26:09,510 Como pessoa, você obteria realmente entediado, se você 587 00:26:09,510 --> 00:26:12,310 tinha que fazer a mesma coisa muitas vezes em uma fileira, 588 00:26:12,310 --> 00:26:16,230 mas um computador pode fazer a mesma coisa milhões ou até bilhões de vezes 589 00:26:16,230 --> 00:26:18,930 e não se cansar e ser capaz para realizar essa vontade muito bem. 590 00:26:18,930 --> 00:26:21,240 >> Assim, por exemplo, se eu quero desejar a todos 591 00:26:21,240 --> 00:26:24,450 no Facebook um feliz aniversário enviando-lhes um e-mail, 592 00:26:24,450 --> 00:26:27,037 ele pode me levar mais do que um século de realmente escrever 593 00:26:27,037 --> 00:26:28,370 todos esses e-mails para todos. 594 00:26:28,370 --> 00:26:33,500 Mas com apenas algumas linhas de código, eu posso ter um sistema de enviar um e-mail para todos 595 00:26:33,500 --> 00:26:35,460 no Facebook desejando -lhes um feliz aniversário. 596 00:26:35,460 --> 00:26:38,330 >> Então é isso que loops são e por que eles são valiosos e algo 597 00:26:38,330 --> 00:26:40,076 que os computadores podem fazer muito bem. 598 00:26:40,076 --> 00:26:43,109 >> DAVID MALAN: Muito obrigado a nossos amigos em Code.org para os dois filmes. 599 00:26:43,109 --> 00:26:46,150 E apenas na semana passada, você pode ter visto que Mark Zuckerberg e Facebook 600 00:26:46,150 --> 00:26:47,940 postou este anúncio, que é que eles apenas 601 00:26:47,940 --> 00:26:50,398 ter passado um importante marco para a primeira vez. 602 00:26:50,398 --> 00:26:54,320 1 bilhão de pessoas utilizaram o Facebook em um único dia, especificamente última segunda-feira. 603 00:26:54,320 --> 00:26:58,650 Um em cada sete seres humanos na Terra aparentemente conectado ao Facebook. 604 00:26:58,650 --> 00:27:03,310 >> Bem, isso parece uma boa oportunidade para olhar para trás, onde começou Facebook, 605 00:27:03,310 --> 00:27:06,840 e passamos por CS50 própria arquivos pois verifica-se, em 2005, 606 00:27:06,840 --> 00:27:10,020 Mark deu uma palestra no CS50. 607 00:27:10,020 --> 00:27:13,870 Você verá que os valores de produção não eram o mesmo de volta, em seguida, 608 00:27:13,870 --> 00:27:16,110 em termos da tecnologia disponíveis, e você também 609 00:27:16,110 --> 00:27:18,310 ver que a presença desta palestra 610 00:27:18,310 --> 00:27:22,470 não necessariamente despertar o interesse do corpo discente, os seus antecessores, 611 00:27:22,470 --> 00:27:24,910 tanto quanto ele pode ter apenas alguns anos mais tarde. 612 00:27:24,910 --> 00:27:27,902 >> Então, vamos dar uma olhada no Centro de Ciências C. 613 00:27:27,902 --> 00:27:29,389 614 00:27:29,389 --> 00:27:31,014 COLUNA 2: Junte-se a mim, e bem-vindos. 615 00:27:31,014 --> 00:27:33,374 616 00:27:33,374 --> 00:27:36,577 [Aplausos] 617 00:27:36,577 --> 00:27:37,410 Mark Zuckerberg: Yo. 618 00:27:37,410 --> 00:27:37,900 Tudo certo. 619 00:27:37,900 --> 00:27:40,420 Legal esta é a primeira vez que eu já tiveram de realizar uma dessas coisas. 620 00:27:40,420 --> 00:27:42,336 Então, eu estou indo só para anexá-lo muito rapidamente. 621 00:27:42,336 --> 00:27:54,354 622 00:27:54,354 --> 00:27:54,854 Tudo certo. 623 00:27:54,854 --> 00:27:57,314 Você consegue ouvir? 624 00:27:57,314 --> 00:27:58,298 Isso é bom? 625 00:27:58,298 --> 00:28:00,684 É este amplificado em tudo? 626 00:28:00,684 --> 00:28:01,184 Tudo certo. 627 00:28:01,184 --> 00:28:02,040 Doce. 628 00:28:02,040 --> 00:28:06,860 Então, isso é como uma das primeiras vezes Eu fui a uma palestra em Harvard, 629 00:28:06,860 --> 00:28:08,660 mas-- 630 00:28:08,660 --> 00:28:12,510 >> DAVID MALAN: Então, eventualmente, a Ciência Centro fez aumentar o zoom no vídeo, 631 00:28:12,510 --> 00:28:15,110 mas não antes de capturar este trecho em que fala de Marcos, 632 00:28:15,110 --> 00:28:18,230 que discutiu a sua companheiro de quarto, Dustin, que 633 00:28:18,230 --> 00:28:20,885 queria dar uma mão com este site chamado o Facebook.com 634 00:28:20,885 --> 00:28:24,540 e percebeu que Mark está prestes a mencionar a programação languages-- 635 00:28:24,540 --> 00:28:27,290 um chamado Perl, um chamado PHP-- como ele discute 636 00:28:27,290 --> 00:28:28,840 as origens da contribuição de Dustin. 637 00:28:28,840 --> 00:28:31,499 638 00:28:31,499 --> 00:28:33,290 Mark Zuckerberg: I começou a correr o site 639 00:28:33,290 --> 00:28:37,770 e lançou-o em Harvard em fevereiro de 2004. 640 00:28:37,770 --> 00:28:39,540 Então eu acho que há quase dois anos agora. 641 00:28:39,540 --> 00:28:42,322 E dentro de um par de semanas, um alguns milhares de pessoas se inscreveram, 642 00:28:42,322 --> 00:28:45,280 e começamos a receber alguns e-mails de pessoas em outras faculdades pedindo 643 00:28:45,280 --> 00:28:47,520 para nós para lançá-lo em suas escolas. 644 00:28:47,520 --> 00:28:49,455 >> E eu estava levando 161 no momento. 645 00:28:49,455 --> 00:28:52,080 Então, eu não sei se vocês sabem a reputação do que claro, 646 00:28:52,080 --> 00:28:54,402 mas era uma espécie de pesado. 647 00:28:54,402 --> 00:28:57,110 Foi um curso muito divertido, mas ele não me deixou com muito tempo 648 00:28:57,110 --> 00:28:59,260 fazer mais nada com o Facebook. 649 00:28:59,260 --> 00:29:04,309 Então, meu companheiro de quarto Dustin, que eu acho tinha acabado de CS50, era como, hey. 650 00:29:04,309 --> 00:29:05,100 Eu quero ajudar. 651 00:29:05,100 --> 00:29:08,760 Eu quero fazer a expansão e ajudar -lo a descobrir como fazer as coisas. 652 00:29:08,760 --> 00:29:10,780 >> Então eu estava tipo, isso é muito legal, cara. 653 00:29:10,780 --> 00:29:13,130 Mas você realmente não sabe nada PHP ou qualquer coisa assim. 654 00:29:13,130 --> 00:29:16,444 Então, naquele fim de semana, ele foi para casa, comprei o livro Perl for Dummies, 655 00:29:16,444 --> 00:29:17,860 voltou e foi como, tudo bem. 656 00:29:17,860 --> 00:29:18,940 Eu estou pronto para ir. 657 00:29:18,940 --> 00:29:23,010 >> Eu era como, cara, o site está escrito no PHP não Perl, mas isso é legal. 658 00:29:23,010 --> 00:29:28,530 >> Então ele pegou PHP mais como alguns dias porque eu 659 00:29:28,530 --> 00:29:30,790 prometo que se você tiver uma boa experiência em C, 660 00:29:30,790 --> 00:29:32,970 PHP é uma coisa muito simples para pegar. 661 00:29:32,970 --> 00:29:37,480 E ele meio que começou a trabalhar. 662 00:29:37,480 --> 00:29:40,500 >> Antes de dar uma olhada agora em onde o curso está indo, 663 00:29:40,500 --> 00:29:43,047 permita-me a convidar apenas algumas de pessoal até do SC50 para palco. 664 00:29:43,047 --> 00:29:44,880 Alguns deles estão comprando seus próprios cursos. 665 00:29:44,880 --> 00:29:48,390 Mas se essas TFs e CAs e claro cabeças que estão aqui poderia vir em até 666 00:29:48,390 --> 00:29:50,230 e se juntar a mim para um Olá rápido. 667 00:29:50,230 --> 00:29:54,670 >> Permita-me apresentar em particular, Hanna, Maria, Daven, e Rob, 668 00:29:54,670 --> 00:29:59,666 o curso de CS50 dirige aqui em Cambridge. 669 00:29:59,666 --> 00:30:02,106 >> [Aplausos] 670 00:30:02,106 --> 00:30:07,490 671 00:30:07,490 --> 00:30:11,060 >> DAVID MALAN: Na verdade, prova da estrutura de apoio que o curso tem 672 00:30:11,060 --> 00:30:15,660 construída ao longo dos últimos muitos anos, pessoal CS50 números este ano quase 100, 673 00:30:15,660 --> 00:30:17,170 e que está aqui em Cambridge sozinho. 674 00:30:17,170 --> 00:30:21,240 Enquanto isso, em New Haven, existem alguns 40 TFs e CAs e membros do pessoal lá 675 00:30:21,240 --> 00:30:22,800 para executar o curso bem. 676 00:30:22,800 --> 00:30:26,125 >> Permita-nos apresentar em primeiro lugar, Rob Bowden. 677 00:30:26,125 --> 00:30:26,750 ROB BOWDEN: Oi. 678 00:30:26,750 --> 00:30:27,620 Eu sou Rob. 679 00:30:27,620 --> 00:30:32,750 Este é o meu sexto ano TFing no curso. 680 00:30:32,750 --> 00:30:37,970 Assim, todo o caminho de volta na minha primeiro ano, eu não tomar CS50. 681 00:30:37,970 --> 00:30:40,270 Seu calouro fall-- você pode estar familiarizado 682 00:30:40,270 --> 00:30:43,270 que você só pode tomar quatro cursos e há tantos cursos hoje. 683 00:30:43,270 --> 00:30:44,450 Então eu sou como, eh. 684 00:30:44,450 --> 00:30:48,050 Tomei AP CS meu último ano do ensino médio foi horrível. 685 00:30:48,050 --> 00:30:48,900 Então, eu sou como, eh. 686 00:30:48,900 --> 00:30:50,380 ciência da computação não é para mim. 687 00:30:50,380 --> 00:30:53,000 >> Assim, pois, estava sobre o curso de meu primeiro 688 00:30:53,000 --> 00:30:58,960 cair, que eu tinha um amigo em CS50 e Eu acho que eu assisti a uma palestra com ela. 689 00:30:58,960 --> 00:31:03,760 É como, oh, este é o tipo de melhor do que o que eu tinha na escola. 690 00:31:03,760 --> 00:31:06,990 >> E ao longo do ano, eu tinha meus próprios conjuntos de problemas 691 00:31:06,990 --> 00:31:08,750 nos cursos eu estava realmente tomando. 692 00:31:08,750 --> 00:31:11,870 Mas descobri que sempre que eu queria procrastinar sobre aqueles, 693 00:31:11,870 --> 00:31:15,111 Gostaria de voltar para CS50 e olhar para algumas das coisas que. 694 00:31:15,111 --> 00:31:15,610 Então sim. 695 00:31:15,610 --> 00:31:16,140 Eu sou legal. 696 00:31:16,140 --> 00:31:19,350 I procrastinação com codificação. 697 00:31:19,350 --> 00:31:22,910 Assim, pois é no final de a queda que eu percebo, hey, 698 00:31:22,910 --> 00:31:24,410 ciência da computação é muito legal. 699 00:31:24,410 --> 00:31:27,730 Eu acabar tendo CS51. 700 00:31:27,730 --> 00:31:30,430 No próximo semestre, Eu acabar tendo CS61. 701 00:31:30,430 --> 00:31:32,727 E tudo a partir daí, então eu acabar declarando 702 00:31:32,727 --> 00:31:35,310 ciência da computação, que eu tinha absolutamente nenhuma intenção de fazer 703 00:31:35,310 --> 00:31:36,740 quando entrei na faculdade. 704 00:31:36,740 --> 00:31:39,330 E agora eu estou aqui. 705 00:31:39,330 --> 00:31:42,230 Assim, o curso é o que você faz dela. 706 00:31:42,230 --> 00:31:43,463 Espero que você goste. 707 00:31:43,463 --> 00:31:44,066 >> [Aplausos] 708 00:31:44,066 --> 00:31:45,315 DAVID MALAN: Obrigado a Rob. 709 00:31:45,315 --> 00:31:49,020 710 00:31:49,020 --> 00:31:52,180 >> E agora Maria, nossa chefe adjunto do curso. 711 00:31:52,180 --> 00:31:53,140 >> MARIA: Hey guys. 712 00:31:53,140 --> 00:31:53,880 Meu nome é Maria. 713 00:31:53,880 --> 00:31:56,930 Eu sou um estudante de segundo ano em Cabot House, vindo da Bulgária, 714 00:31:56,930 --> 00:31:59,880 e eu estou super animado para ser parte da equipe este ano. 715 00:31:59,880 --> 00:32:03,380 Tomei CS50 como um calouro no ano passado, e eu nunca sequer 716 00:32:03,380 --> 00:32:04,750 pensou CS antemão. 717 00:32:04,750 --> 00:32:08,380 Então, eu absolutamente amo o curso, e eu espero que todos amá-lo tanto quanto eu. 718 00:32:08,380 --> 00:32:09,250 E, sim. 719 00:32:09,250 --> 00:32:10,868 Bem-vindo ao CS50. 720 00:32:10,868 --> 00:32:12,201 DAVID MALAN: Obrigado a Maria. 721 00:32:12,201 --> 00:32:13,674 [Aplausos] 722 00:32:13,674 --> 00:32:16,129 723 00:32:16,129 --> 00:32:19,580 Agora Hanna, nosso companheiro de cabeça de ensino. 724 00:32:19,580 --> 00:32:20,480 HANNA: Oi, eu sou Hanna. 725 00:32:20,480 --> 00:32:22,990 Eu sou um sênior em Cabot estudando ciência da computação. 726 00:32:22,990 --> 00:32:28,120 Tomei CS50 como um calouro e tinha sido TFing-- este vai ser o meu terceiro ano. 727 00:32:28,120 --> 00:32:31,000 Então eu vou ser feliz envolvidos na CS50 para todos os quatro anos, 728 00:32:31,000 --> 00:32:33,569 e eu estou olhando para a frente para trabalhar com todos vocês. 729 00:32:33,569 --> 00:32:34,902 DAVID MALAN: Obrigado a Hanna. 730 00:32:34,902 --> 00:32:36,870 [Aplausos] 731 00:32:36,870 --> 00:32:37,854 732 00:32:37,854 --> 00:32:40,274 E, por último, Daven, o nosso precepter. 733 00:32:40,274 --> 00:32:40,940 Daven: Hey guys. 734 00:32:40,940 --> 00:32:42,390 Eu sou um preceito sobre em ciência da computação aqui. 735 00:32:42,390 --> 00:32:44,010 Este vai ser o meu quarto ano de ensino. 736 00:32:44,010 --> 00:32:45,261 Eu também ajudar a gerenciar o curso. 737 00:32:45,261 --> 00:32:47,801 Então, eu tenho certeza que você vai me ver ao redor, especialmente no horário de expediente. 738 00:32:47,801 --> 00:32:48,970 Estou sempre em horário de expediente. 739 00:32:48,970 --> 00:32:51,640 Então, se você me ver andando ao redor, definitivamente vir dizer oi. 740 00:32:51,640 --> 00:32:52,681 Gosto de conhecer todo mundo. 741 00:32:52,681 --> 00:32:55,830 Caso contrário, se divertir, e eu te veja por aí. 742 00:32:55,830 --> 00:32:58,210 >> DAVID MALAN: Obrigado a Daven também. 743 00:32:58,210 --> 00:33:01,290 Então você vai atender a todas as essas pessoas antes do tempo. 744 00:33:01,290 --> 00:33:03,040 Mas sem mais delongas, se vocês faria 745 00:33:03,040 --> 00:33:05,840 gostaria de retomar seus lugares de antes. 746 00:33:05,840 --> 00:33:10,940 Permita-me apresentar de longe agora alguns dos nossos amigos de New Haven, 747 00:33:10,940 --> 00:33:14,690 em especial os cabeças do curso, que vai supervisionará CS50 há-- Professor 748 00:33:14,690 --> 00:33:19,550 Brian Scassellati, Jason, e Andi, que só-- de modo que nós não abusar da sorte 749 00:33:19,550 --> 00:33:22,610 com qualquer FaceTime ou o como-- acabamos de nos enviou minutos 750 00:33:22,610 --> 00:33:27,380 há o seguinte vídeo em que dizer Olá a partir de sala de aula 751 00:33:27,380 --> 00:33:31,480 na Universidade de Yale, nos quais palestra está sendo transmitido no momento. 752 00:33:31,480 --> 00:33:34,052 >> Assim, nossos amigos de Yale. 753 00:33:34,052 --> 00:33:35,260 BRIAN Scassellati: Oi, David. 754 00:33:35,260 --> 00:33:36,480 Oi, todos em Harvard. 755 00:33:36,480 --> 00:33:41,400 Estamos tão animado por estar trazendo CS50 para Yale neste semestre. 756 00:33:41,400 --> 00:33:45,250 Meu nome é Brian Scassellati, mas todo mundo me chama SCAS. 757 00:33:45,250 --> 00:33:50,402 E eu estou aqui hoje para apresentar -lhe a equipe CS50. 758 00:33:50,402 --> 00:33:52,346 >> [APLAUSO] 759 00:33:52,346 --> 00:33:55,760 760 00:33:55,760 --> 00:33:59,780 >> E mais importante, eu sou aqui para apresentar bem 761 00:33:59,780 --> 00:34:03,690 todos os estudantes em Yale que a partir desta manhã 762 00:34:03,690 --> 00:34:09,289 fizeram deste o mais popular curso em Yale os alunos CS50. 763 00:34:09,289 --> 00:34:12,090 >> [APLAUSO] 764 00:34:12,090 --> 00:34:25,850 765 00:34:25,850 --> 00:34:28,310 >> Então, nós estamos muito animado a ser vê-lo aqui 766 00:34:28,310 --> 00:34:34,239 na sexta-feira e no sábado para Quebra-dia e têm uma grande palestra. 767 00:34:34,239 --> 00:34:35,440 Tchau. 768 00:34:35,440 --> 00:34:37,360 >> [Aplausos] 769 00:34:37,360 --> 00:34:42,170 770 00:34:42,170 --> 00:34:45,497 >> DAVID MALAN: Na tela aqui é os nomes de alguns dos 140 funcionários 771 00:34:45,497 --> 00:34:48,330 membros que você espera sobre o curso do semester-- alguns deles 772 00:34:48,330 --> 00:34:50,540 aqui em Cambridge, alguns deles aqui em New Haven. 773 00:34:50,540 --> 00:34:52,706 E, de fato, você terá um oportunidade neste sábado, 774 00:34:52,706 --> 00:34:54,530 como notas SCAS, a participar CS50 enigma dia. 775 00:34:54,530 --> 00:34:57,780 Você pode ter visto pequenos pedaços de quebra-cabeça deslizou sob suas portas recentemente. 776 00:34:57,780 --> 00:35:00,420 Nós temos alguns extras aqui mais tarde, quando você existe. 777 00:35:00,420 --> 00:35:04,030 Se você montar todos os quatro quebra-cabeça peças e forças fundir com quartos 778 00:35:04,030 --> 00:35:06,450 seu próximos, em seu casa ou dormitório, eles vão 779 00:35:06,450 --> 00:35:09,690 montar em um code-- QR ou um duas dimensões de código de barras, que 780 00:35:09,690 --> 00:35:12,970 uma vez montado e digitalizados com o seu telefone vai levar você 781 00:35:12,970 --> 00:35:17,060 para algum prêmio fabuloso ou- Suponho você poderia simplesmente fotografar esta agora 782 00:35:17,060 --> 00:35:17,560 também. 783 00:35:17,560 --> 00:35:22,560 >> Mas encontrar essas peças do puzzle no entanto, a fim de ganhar esse fabuloso prémio. 784 00:35:22,560 --> 00:35:25,900 E, de fato uma das tradições em SC50-- ah, muito lento. 785 00:35:25,900 --> 00:35:29,790 Uma das tradições em CS50 é servir bolo após a primeira palestra. 786 00:35:29,790 --> 00:35:31,620 >> E assim, de fato, em um poucos minutos a partir de agora, 787 00:35:31,620 --> 00:35:36,040 haverá bolo servido no exterior tanto aqui como New Haven também. 788 00:35:36,040 --> 00:35:39,530 >> Mas first-- nós decoramos-los nós mesmos. 789 00:35:39,530 --> 00:35:43,360 Mas first-- e esperançosamente não vai ser suficiente. 790 00:35:43,360 --> 00:35:44,830 >> Mas, primeiro, um olhar rápido. 791 00:35:44,830 --> 00:35:47,880 Então palestras é de fato será produzidos principalmente aqui em Cambridge. 792 00:35:47,880 --> 00:35:51,580 Mas cada mês, vamos desça para Yale com a equipe de produção do CS50 e córrego 793 00:35:51,580 --> 00:35:53,730 o curso no reverso direção, bem assim 794 00:35:53,730 --> 00:35:56,840 de alinhar estes dois campi verdadeiramente pela primeira vez na história 795 00:35:56,840 --> 00:36:00,450 tão próximas quanto possível como um no mesmo curso. 796 00:36:00,450 --> 00:36:04,050 >> Em termos de estrutura de suporte que é sido levantou-se aqui em Cambridge, bem 797 00:36:04,050 --> 00:36:05,646 como em New Haven, são seções. 798 00:36:05,646 --> 00:36:08,020 Na verdade, como alguns de vocês podem sabe, nós temos diferentes faixas 799 00:36:08,020 --> 00:36:10,850 dentro do curso para aqueles menos confortável, mais confortável, 800 00:36:10,850 --> 00:36:14,610 e em algum lugar entre o fim de que independentemente da sua formação prévia, 801 00:36:14,610 --> 00:36:17,670 você pode finalmente ter sucesso na classe. 802 00:36:17,670 --> 00:36:21,320 >> o horário de expediente Enquanto isso, são uma oportunidade às segundas e terças-feiras 803 00:36:21,320 --> 00:36:26,570 e quinta-feira à noite para trabalhar tanto aqui e em New Haven no nosso curso de 804 00:36:26,570 --> 00:36:30,370 conjuntos de problemas com dezenas de o pessoal do curso perto de você. 805 00:36:30,370 --> 00:36:35,380 >> Problema define entretanto, são suportado por coisas que chamamos 806 00:36:35,380 --> 00:36:39,140 orientações, que são baseados vídeo tutoriais que realmente respondendo FAQ 807 00:36:39,140 --> 00:36:41,670 de onde começar desafio de uma semana. 808 00:36:41,670 --> 00:36:44,290 E autópsias orientá-lo as possíveis soluções 809 00:36:44,290 --> 00:36:46,490 de modo que a extremidade do conjunto de problemas também, você 810 00:36:46,490 --> 00:36:50,820 saber exatamente o que você poderia ter feito de modo diferente ou de outra forma em conjunto. 811 00:36:50,820 --> 00:36:53,895 >> O problema coloca-se vir em duas edições, uma edição padrão 812 00:36:53,895 --> 00:36:57,510 que esperamos e convidar a maior parte o class-- cerca de 90% mais para fazer-- 813 00:36:57,510 --> 00:37:00,520 e um denominado edição hackers em que cada página é estampada 814 00:37:00,520 --> 00:37:02,790 edição de hackers, hackers edição, edição de hackers, 815 00:37:02,790 --> 00:37:07,550 de modo que você tem que karma se quiserem, para o mergulho 816 00:37:07,550 --> 00:37:10,230 em versões mais avançadas de conjuntos de problemas do curso 817 00:37:10,230 --> 00:37:14,970 que a cobertura ostensivamente o mesmo material mas com uma abordagem mais sofisticada 818 00:37:14,970 --> 00:37:19,020 e com fundo adicional por vezes introduzidos. 819 00:37:19,020 --> 00:37:22,350 >> Enquanto isso, há nove dias de atraso que você pode aplicar para o problema do curso 820 00:37:22,350 --> 00:37:26,160 define, bem como a pontuação mais baixa, que cair no final termos. 821 00:37:26,160 --> 00:37:26,900 >> Mas o que espera? 822 00:37:26,900 --> 00:37:29,300 Bem, um gosto do problema define na mão na sexta-feira 823 00:37:29,300 --> 00:37:31,959 e na próxima semana onde se envolver por apenas alguns dias em algo 824 00:37:31,959 --> 00:37:35,000 chamado de risco, a programação gráfica linguagem desenvolvida por nossos amigos 825 00:37:35,000 --> 00:37:39,290 no Media Lab do MIT que permite que você para programar quer pela primeira vez 826 00:37:39,290 --> 00:37:43,510 ou num ambiente completamente novo usando um ambiente tipo arrastar e soltar. 827 00:37:43,510 --> 00:37:45,595 Em que peças do puzzle única interlock juntos 828 00:37:45,595 --> 00:37:48,080 se faz sentido lógico para fazê-lo. 829 00:37:48,080 --> 00:37:50,440 >> Enquanto isso, no conjunto de problemas dois no ano passado, por exemplo, 830 00:37:50,440 --> 00:37:53,010 se nós introduzimos a classe ao mundo da criptografia, 831 00:37:53,010 --> 00:37:55,370 a arte de criptografar ou codificação de informação. 832 00:37:55,370 --> 00:37:58,940 Na verdade, este texto aqui se descriptografado, vai realmente 833 00:37:58,940 --> 00:38:01,277 levá-lo a algum destino divertido. 834 00:38:01,277 --> 00:38:03,110 E no conjunto de problemas, o que tínhamos alunos 835 00:38:03,110 --> 00:38:06,280 fazer é implementar exatamente aqueles tipos de coisas- um algoritmo, 836 00:38:06,280 --> 00:38:09,530 ou um conjunto de instruções para baralhar e codificação de informação. 837 00:38:09,530 --> 00:38:11,850 >> E na edição de hackers desse mesmo conjunto de problemas, 838 00:38:11,850 --> 00:38:15,800 fizemos desafiar os alunos a tomar uma arquivo criptografado de um computador típico 839 00:38:15,800 --> 00:38:18,840 sistema com lotes de nomes de usuário e senhas criptografadas 840 00:38:18,840 --> 00:38:21,400 e para quebrar essas passwords-- realmente descobrir 841 00:38:21,400 --> 00:38:25,870 o que eles estavam sem saber nada A priori sobre aqueles senhas reais. 842 00:38:25,870 --> 00:38:27,620 Enquanto isso, nós transição no problema 843 00:38:27,620 --> 00:38:29,536 define, em seguida, olhando para o mundo dos gráficos. 844 00:38:29,536 --> 00:38:32,240 E, na verdade, que você pode imaginar agora que isso talvez pudesse 845 00:38:32,240 --> 00:38:35,200 ser a maneira mais simples para representar uma imagem em preto e branco. 846 00:38:35,200 --> 00:38:39,570 >> Um pixel branco ou quadrado, como no canto superior direito lá, 847 00:38:39,570 --> 00:38:41,620 pode ser representada com a 1 e um quadrado preto 848 00:38:41,620 --> 00:38:43,490 pode ser representada com um 0. 849 00:38:43,490 --> 00:38:47,670 E apenas usando mais bits como nós proposto anteriormente com 72 e 73 e 33, 850 00:38:47,670 --> 00:38:49,882 poderíamos representar pixels da cor também. 851 00:38:49,882 --> 00:38:51,590 E o que fazemos durante esse conjunto problema é 852 00:38:51,590 --> 00:38:54,660 geralmente tomam um passeio campus com uma câmera digital, 853 00:38:54,660 --> 00:38:56,730 tirar fotografias de pessoas, lugares e coisas. 854 00:38:56,730 --> 00:38:59,270 Então, de alguma forma, a cada semestre, parece que acidentalmente 855 00:38:59,270 --> 00:39:02,600 apagados ou corromper o cartão de memória em que todas as fotos são, 856 00:39:02,600 --> 00:39:04,610 e assim você é desafiado para, em seguida, escrever software 857 00:39:04,610 --> 00:39:09,650 com o qual se recuperar esses JPEGs a partir de uma cópia do cartão de nossa câmera. 858 00:39:09,650 --> 00:39:13,550 >> Enquanto isso, podemos entregar-lhe mais tarde na o termo um dicionário de palavras em inglês 859 00:39:13,550 --> 00:39:16,680 que tem 143.000 palavras, e você precisa vir para cima 860 00:39:16,680 --> 00:39:19,240 com uma maneira inteligente de carregá-los na memória, 861 00:39:19,240 --> 00:39:22,850 ou RAM por assim dizer, para responder consultas da forma: é esta uma palavra, 862 00:39:22,850 --> 00:39:25,910 É esta uma palavra, a implementação da corretor ortográfico mais rápido que você pode, 863 00:39:25,910 --> 00:39:28,180 mesmo fixando-se potencialmente contra os colegas 864 00:39:28,180 --> 00:39:30,460 para ver qual você usa a menor quantidade de tempo 865 00:39:30,460 --> 00:39:33,440 Ao executar o seu código e até mesmo a menor quantidade de memória. 866 00:39:33,440 --> 00:39:36,060 >> Mais tarde, no prazo que você realmente implementar seu próprio servidor web. 867 00:39:36,060 --> 00:39:39,470 Portanto, não apenas um site em um linguagem chamada HTML e muito mais, 868 00:39:39,470 --> 00:39:43,300 mas um servidor web que realmente escuta pedidos na internet 869 00:39:43,300 --> 00:39:44,460 e responde a eles. 870 00:39:44,460 --> 00:39:47,210 E, de fato, é assim que colmatar nosso mundo de C com o qual você 871 00:39:47,210 --> 00:39:50,550 familiarizar-se na próxima semana e PHP e HTML e JavaScript 872 00:39:50,550 --> 00:39:51,820 e CSS e semelhantes. 873 00:39:51,820 --> 00:39:54,820 >> Uma vez que uma da primeira banda baseado projeto que fazemos no final do prazo 874 00:39:54,820 --> 00:39:57,516 é historicamente CS50 Finanças. 875 00:39:57,516 --> 00:40:02,580 estilo Etrade.com um site que permite -lo a comprar e vender ações virtualmente 876 00:40:02,580 --> 00:40:08,240 ao mesmo tempo, escrever código para falar com Yahoo Finanças ficando estoque semi tempo real 877 00:40:08,240 --> 00:40:11,490 cita, a fim de atualizar sua própria carteira. 878 00:40:11,490 --> 00:40:13,370 >> Mas, por último, é claro, é a última project-- 879 00:40:13,370 --> 00:40:16,960 uma oportunidade de fazer mais nada seu interesse para resolver um problema aqui 880 00:40:16,960 --> 00:40:20,970 ou além do seu interesse você que é de alguma forma inspirada 881 00:40:20,970 --> 00:40:22,670 pelas lições aprendidas na classe. 882 00:40:22,670 --> 00:40:26,140 >> E a classe, como você deve saber, culmina no chamado CS50 Hackathon 883 00:40:26,140 --> 00:40:29,330 e Fair CS50 e qualquer número de outros eventos culturais 884 00:40:29,330 --> 00:40:31,770 ao longo do semestre que permitem que você se envolver 885 00:40:31,770 --> 00:40:33,460 uns com os outros e os funcionários do curso. 886 00:40:33,460 --> 00:40:37,170 >> Por exemplo, no Fire and Ice em Sitar este ano, bem, nas tardes de sexta-feira, 887 00:40:37,170 --> 00:40:39,220 convidamos a cerca de 50 alunos para o almoço, quem quer 888 00:40:39,220 --> 00:40:41,190 gostaria de se juntar a nós, eu mesmo, e os funcionários, 889 00:40:41,190 --> 00:40:44,840 e nossos amigos da indústria e ex-alunos para conversar sobre a vida no mundo real 890 00:40:44,840 --> 00:40:46,670 e além, enquanto desfruta de um bom almoço. 891 00:40:46,670 --> 00:40:49,050 No Hackathon será você vê essas imagens 892 00:40:49,050 --> 00:40:53,740 uma vez que estes, incluindo a abundância de candy-- e a partir de 2014, pela primeira vez-- 893 00:40:53,740 --> 00:40:55,096 legumes. 894 00:40:55,096 --> 00:40:56,960 >> [Aplausos] 895 00:40:56,960 --> 00:40:58,358 896 00:40:58,358 --> 00:41:02,710 >> Mas antes das 5:00 AM, faz a cena normalmente olhar um pouco algo como isto. 897 00:41:02,710 --> 00:41:05,330 E, em seguida, apenas uma semana ou depois, é a Feira CS50 898 00:41:05,330 --> 00:41:08,270 à qual alguns Plus 2000 alunos e funcionários e professores 899 00:41:08,270 --> 00:41:11,910 membros de todo campus e em campi este ano 900 00:41:11,910 --> 00:41:15,620 vêm para ver e prazer na realizações de estudantes CS50, que 901 00:41:15,620 --> 00:41:16,140 agora é você. 902 00:41:16,140 --> 00:41:19,000 >> E, de fato, enquanto que este ano vamos ser convidativo e büsing ninguém 903 00:41:19,000 --> 00:41:22,460 no de Yale que gostaria de vir até Cambridge neste sábado para CS50 enigma 904 00:41:22,460 --> 00:41:26,410 Dia, e nós vamos fazer exatamente a mesma coisa em dezembro para o CS50 Hackathon 905 00:41:26,410 --> 00:41:30,080 para que Harvard e Yale estudantes participam iguais em ambos estes eventos. 906 00:41:30,080 --> 00:41:33,630 >> Vamos também realizar feiras CS50 em Cambridge e em New Haven este ano 907 00:41:33,630 --> 00:41:36,480 para que os alunos em ambos campi e funcionários e professores 908 00:41:36,480 --> 00:41:39,260 pode ver cada respectivo realização do campus. 909 00:41:39,260 --> 00:41:41,540 E essas realizações vai induzir tal memória 910 00:41:41,540 --> 00:41:45,440 como esta e este e, finalmente este, em que todos você 911 00:41:45,440 --> 00:41:48,460 sair da classe usando um pouco algo em que você era esperamos 912 00:41:48,460 --> 00:41:52,680 feliz ou orgulho de dizer que eu levei CS50. 913 00:41:52,680 --> 00:41:55,220 >> Mas antes disso e antes de servir o bolo, 914 00:41:55,220 --> 00:41:58,980 nós colocamos together-- graças a CS50 de equipe de produção e uma certa auto 915 00:41:58,980 --> 00:42:03,120 vara, a única ocasião que usamos tais coisas for-- quando ele foi enviado para 916 00:42:03,120 --> 00:42:05,380 não só aqui para Cambridge mas também para New Haven 917 00:42:05,380 --> 00:42:08,760 para reunir algumas hellos do Os funcionários do curso e todas as pessoas 918 00:42:08,760 --> 00:42:12,640 você vai encontrar tanto aqui como na Nova Haven ao longo dos meses seguintes. 919 00:42:12,640 --> 00:42:15,449 >> Permita-me apresentar um pouco mais de gabinete de CS50. 920 00:42:15,449 --> 00:42:16,990 Mark Zuckerberg: Será que isso torná-lo ir? 921 00:42:16,990 --> 00:42:18,266 Oh, ele está indo. 922 00:42:18,266 --> 00:42:20,910 Vai. 923 00:42:20,910 --> 00:42:21,570 Ooh. 924 00:42:21,570 --> 00:42:23,170 Yarr! 925 00:42:23,170 --> 00:42:25,350 >> [Música tocando Andy Grammer, "Mel, eu sou  BOA"] 926 00:42:25,350 --> 00:42:29,672 927 00:42:29,672 --> 00:42:32,152 >> MARY: Este é Caitlin. 928 00:42:32,152 --> 00:42:34,515 Isso é Jay, e eu sou Mary. 929 00:42:34,515 --> 00:42:35,140 SATO: Oi, pessoal. 930 00:42:35,140 --> 00:42:35,640 Estou Sato. 931 00:42:35,640 --> 00:42:36,264 MICHAEL G .: Hi. 932 00:42:36,264 --> 00:42:37,181 Meu nome é Michael, G. 933 00:42:37,181 --> 00:42:38,014 DOUG LLOYD: Eu não sou. 934 00:42:38,014 --> 00:42:38,540 Não. 935 00:42:38,540 --> 00:42:39,310 Estou Doug Lloyd. 936 00:42:39,310 --> 00:42:41,757 Eu não posso acreditar que eu estou segurando um selfie ficar agora. 937 00:42:41,757 --> 00:42:42,340 COLUNA 4: Hi. 938 00:42:42,340 --> 00:42:42,560 COLUNA 5: Hi. 939 00:42:42,560 --> 00:42:43,307 COLUNA 6: Olá. 940 00:42:43,307 --> 00:42:44,023 COLUNA 7: Hi. 941 00:42:44,023 --> 00:42:44,648 COLUNA 8: Hey. 942 00:42:44,648 --> 00:42:46,436 Nós estamos andando em Yale. 943 00:42:46,436 --> 00:42:48,910 Estamos realmente animado para neste semestre porque é 944 00:42:48,910 --> 00:42:50,840 a primeira vez que está vindo para Yale. 945 00:42:50,840 --> 00:42:53,012 Vai ser incrível! 946 00:42:53,012 --> 00:42:55,928 >> [REPRODUÇÃO DE MÚSICA] 947 00:42:55,928 --> 00:43:02,190 948 00:43:02,190 --> 00:43:04,664 >> JACOB SCHERBA: Meu nome é Jacob Scherba. 949 00:43:04,664 --> 00:43:08,310 Estou animado para ensinar CS50 porque eu acho 950 00:43:08,310 --> 00:43:11,429 que trazem ciência da computação para pessoas e em forma acessível. 951 00:43:11,429 --> 00:43:13,220 COLUNA 9: Eu estou realmente animado para ensinar CS50 952 00:43:13,220 --> 00:43:17,717 porque eu levei a classe no ano passado, e é uma das melhores classes. 953 00:43:17,717 --> 00:43:18,425 COLUNA 10: Sim. 954 00:43:18,425 --> 00:43:20,476 Meu conselho é que você deve tomar CS50. 955 00:43:20,476 --> 00:43:23,350 JACOB SCHERBA: Eu escolhi CS porque Eu acho que é uma forma divertida e criativa 956 00:43:23,350 --> 00:43:25,314 para resolver problemas de forma analítica. 957 00:43:25,314 --> 00:43:28,480 COLUNA 11: Quando eu era um pouco caloiro e com medo de ciência da computação 958 00:43:28,480 --> 00:43:30,229 e medo de fazer engenharia e outras coisas, 959 00:43:30,229 --> 00:43:34,091 foi a primeira classe duro eu tomei, e foi também a minha classe favorita sempre. 960 00:43:34,091 --> 00:43:36,090 DOUG LLOYD: Este é o meu nona CS50 ensinamento ano. 961 00:43:36,090 --> 00:43:37,482 Isso me faz soar tão velho! 962 00:43:37,482 --> 00:43:38,690 Há sempre algo novo. 963 00:43:38,690 --> 00:43:39,550 Há sempre algo emocionante. 964 00:43:39,550 --> 00:43:43,077 Há sempre novos desafios enfrentados pelos novos alunos, e é divertido para ajudá-los 965 00:43:43,077 --> 00:43:44,910 e experimentar os desafios com eles 966 00:43:44,910 --> 00:43:45,925 e ajudá-los a resolver seus problemas. 967 00:43:45,925 --> 00:43:47,955 >> COLUNA 12: Quando eu primeiro aprendi a fazer CS, 968 00:43:47,955 --> 00:43:49,413 era como a aprendizagem de uma super potência. 969 00:43:49,413 --> 00:43:53,749 E para ver que em outros estudantes e para ajudá-los através desse processo 970 00:43:53,749 --> 00:43:55,665 é um dos melhores coisas gratificantes que eu já. 971 00:43:55,665 --> 00:43:58,706 >> COLUNA 7: Eu escolhi porque no CS começando, eu era um concentrador de matemática 972 00:43:58,706 --> 00:44:00,497 e eu levei CS50 e se apaixonou por ele. 973 00:44:00,497 --> 00:44:02,455 Também senti que com CS, eu poderia construir coisas. 974 00:44:02,455 --> 00:44:04,410 E isso, pensei, era um aspecto muito legal. 975 00:44:04,410 --> 00:44:08,156 >> COLUNA 13: Alguns conselhos para a nova estudantes é ir para o horário de expediente 976 00:44:08,156 --> 00:44:09,573 e sair com a impressionante TFs. 977 00:44:09,573 --> 00:44:11,906 COLUNA 14: Comece o seu P-sets cedo, ir para o horário de expediente, 978 00:44:11,906 --> 00:44:13,457 tornar frends com o TF. 979 00:44:13,457 --> 00:44:14,165 COLUNA 15: Sim. 980 00:44:14,165 --> 00:44:16,164 Tudo o que ela disse. 981 00:44:16,164 --> 00:44:17,997 COLUNA 16: Não seja medo de pedir ajuda. 982 00:44:17,997 --> 00:44:18,980 COLUNA 17: Sim. 983 00:44:18,980 --> 00:44:22,052 COLUNA 18: Comece o seu P-sets cedo. 984 00:44:22,052 --> 00:44:23,760 COLUNA 19: É uma grande experiência social. 985 00:44:23,760 --> 00:44:25,112 Fazer um monte de amigos dessa forma. 986 00:44:25,112 --> 00:44:26,570 COLUNA 14: Vá para a seção É divertido. 987 00:44:26,570 --> 00:44:28,050 COLUNA 11: Quer dizer, ir para ele. 988 00:44:28,050 --> 00:44:28,770 É realmente difícil. 989 00:44:28,770 --> 00:44:30,581 Você vai sair dela o que você colocar nele, 990 00:44:30,581 --> 00:44:32,580 mas é um realmente divertido classe especialmente se você estiver 991 00:44:32,580 --> 00:44:35,496 dispostos a colocar o tempo para ele, mas ajuda se você colocar o tempo para ele. 992 00:44:35,496 --> 00:44:38,336 Você vai ficar muito mais fora dele mais tarde. 993 00:44:38,336 --> 00:44:38,960 MIKE: Eu sou Mike. 994 00:44:38,960 --> 00:44:39,882 CAMILLE: Eu sou Camille. 995 00:44:39,882 --> 00:44:40,590 Hanya: Eu sou Hanya. 996 00:44:40,590 --> 00:44:41,310 MATT: Eu sou Matt. 997 00:44:41,310 --> 00:44:42,140 PETER: Eu sou Peter. 998 00:44:42,140 --> 00:44:42,620 PHILLIP: Eu sou Phillip. 999 00:44:42,620 --> 00:44:43,495 PATRICK: Eu sou Patrick. 1000 00:44:43,495 --> 00:44:45,234 ROB BOWDEN: Eu sou Rob Bowden. 1001 00:44:45,234 --> 00:44:47,150 BRIAN Scassellati: My nome é SCAS e isto-- 1002 00:44:47,150 --> 00:44:49,958 ALL: --is CS50. 1003 00:44:49,958 --> 00:44:50,806 COLUNA 20: Em Yale. 1004 00:44:50,806 --> 00:44:51,639 COLUNA 21: Em Yale. 1005 00:44:51,639 --> 00:44:52,840 [RINDO] 1006 00:44:52,840 --> 00:44:54,270 DAVID MALAN: Isso é tudo para CS50. 1007 00:44:54,270 --> 00:44:59,000 Vamos vê-lo a partir de Yale em Sexta-feira, Quebra-dia no sábado. 1008 00:44:59,000 --> 00:45:00,475 O bolo é agora servido. 1009 00:45:00,475 --> 00:45:01,640 Este é CS50. 1010 00:45:01,640 --> 00:45:05,314 1011 00:45:05,314 --> 00:45:10,992 >> [REPRODUÇÃO DE MÚSICA] 1012 00:45:10,992 --> 00:47:00,434