1 00:00:00,000 --> 00:00:03,440 >> [MÚSICA DE XOGO] 2 00:00:03,440 --> 00:01:57,217 3 00:01:57,217 --> 00:02:00,710 >> [Aplausos] 4 00:02:00,710 --> 00:02:05,700 5 00:02:05,700 --> 00:02:09,669 >> David J. Malan: Este é CS50, Introdución da Universidade de Harvard 6 00:02:09,669 --> 00:02:12,370 ao intelectual empresas de informática 7 00:02:12,370 --> 00:02:14,180 ea arte da programación. 8 00:02:14,180 --> 00:02:17,530 Agora, se está entre aqueles que cada ano está sentado aquí 9 00:02:17,530 --> 00:02:21,450 cun pouco de nerviosismo na súa mente, tales que non pensa que é aquí, 10 00:02:21,450 --> 00:02:24,270 Pensas que a maioría alguén sentado ao seu redor 11 00:02:24,270 --> 00:02:27,730 sabe moito máis do que vostede, é de feito máis cómodo que no ordenador 12 00:02:27,730 --> 00:02:30,430 ciencia ou ordenadores de xeito máis xeral, enténdese 13 00:02:30,430 --> 00:02:36,140 que o 78% dos alumnos que agora tomar CS50 ten ningunha experiencia previa. 14 00:02:36,140 --> 00:02:39,570 >> De feito, hai 100 puntos alí na pantalla, 78 dos cales 15 00:02:39,570 --> 00:02:43,540 son verde continuo, o que significa que, se está entre ese grupo demográfico, 16 00:02:43,540 --> 00:02:46,420 están en moi boa compañía de aquí en diante. 17 00:02:46,420 --> 00:02:50,320 E se está en lugar entre os 22% dos estudantes que fan de feito CS50 18 00:02:50,320 --> 00:02:53,920 ter experiencia anterior, sexa en ensino medio ou algún outro programa, 19 00:02:53,920 --> 00:02:56,430 entender que, tamén, vai ser contestada no curso. 20 00:02:56,430 --> 00:02:59,930 >> Non só temos diferentes temas para os alumnos menos cómodo e máis 21 00:02:59,930 --> 00:03:03,789 cómodo iguais en seccións, tamén chamado edicións de hackers 22 00:03:03,789 --> 00:03:06,080 de máis conxuntos de problemas que vai desafiar os alumnos 23 00:03:06,080 --> 00:03:09,650 con esta experiencia adicional para explorar material semellante 24 00:03:09,650 --> 00:03:12,140 pero a partir dun máis perspectiva sofisticado. 25 00:03:12,140 --> 00:03:13,900 >> Pero o que é ciencia da computación? 26 00:03:13,900 --> 00:03:17,750 Ben, en definitiva, o que vai importa como explorar este campo non é 27 00:03:17,750 --> 00:03:20,500 tanto que acaba en relación aos seus compañeiros de clase, 28 00:03:20,500 --> 00:03:25,350 pero onde aínda acabar en semana 12 versus onde comeza aquí 29 00:03:25,350 --> 00:03:26,720 a semana cero. 30 00:03:26,720 --> 00:03:31,850 Agora ordenador science-- ben, imos chaman a ciencia da computation-- 31 00:03:31,850 --> 00:03:35,910 onde a computación é realmente só unha xeito elegante de dicir, tendo algunha entrada, 32 00:03:35,910 --> 00:03:39,460 producir algunha saída, e facelo a través de algoritmos que executan, 33 00:03:39,460 --> 00:03:43,700 conxuntos de instrucións para resolver problemas neses inputs 34 00:03:43,700 --> 00:03:48,460 de forma a producir preto de saída ou solución na que che interesa. 35 00:03:48,460 --> 00:03:51,310 >> Entón, recentemente, tivemos oportunidade de viaxar fóra 36 00:03:51,310 --> 00:03:53,170 a California para atoparse cunha alumna. 37 00:03:53,170 --> 00:03:54,650 O nome dela é Susan Wojcicki. 38 00:03:54,650 --> 00:03:57,190 E ela quere falar para ti aquí en vídeo 39 00:03:57,190 --> 00:04:01,690 para testemuñar o quão aplicable mesmo só unha mostra do ordenador 40 00:04:01,690 --> 00:04:03,770 ciencia no nivel introdutorio pode ser. 41 00:04:03,770 --> 00:04:06,870 Mesmo se non ir a continuar ciencia da computación como un campo, 42 00:04:06,870 --> 00:04:09,330 ou mesmo a enxeñería, ou STEM máis xeral, 43 00:04:09,330 --> 00:04:12,360 vai ver, en realidade, como un correcto Claro que tanto influíu a súa vida. 44 00:04:12,360 --> 00:04:16,630 E ela só tomou cando estaba no último ano aquí na facultade de Harvard. 45 00:04:16,630 --> 00:04:19,482 >> Se puidésemos diminuír as luces para Susan. 46 00:04:19,482 --> 00:04:20,690 SUSAN Wojcicki: Ola, mundo. 47 00:04:20,690 --> 00:04:22,100 Estou Susan Wojcicki. 48 00:04:22,100 --> 00:04:24,110 Eu son o CEO de YouTube. 49 00:04:24,110 --> 00:04:29,150 E tomei CS50 cando eu era un senior na Universidade de Harvard en 1990. 50 00:04:29,150 --> 00:04:31,220 Eu era realmente unha historia e gran literatura. 51 00:04:31,220 --> 00:04:36,760 >> E o meu verán Júnior, Eu entender que talvez 52 00:04:36,760 --> 00:04:39,060 quería aprender algo sobre ordenadores. 53 00:04:39,060 --> 00:04:40,930 E así, eu volvín. 54 00:04:40,930 --> 00:04:42,500 Tomei CS50. 55 00:04:42,500 --> 00:04:46,940 Foi difícil, pero foi o máis clase incrible que eu tomei. 56 00:04:46,940 --> 00:04:49,630 >> El cambiou o xeito no que eu penso sobre todo. 57 00:04:49,630 --> 00:04:55,810 E cando eu me forma en Harvard en 1990, fun para o Silicon Valley. 58 00:04:55,810 --> 00:04:57,140 E eu teño un emprego. 59 00:04:57,140 --> 00:05:00,150 E eu teño a traballar en tecnoloxía desde entón. 60 00:05:00,150 --> 00:05:02,650 DAVID J. Malan: Agora que Susan non mencionou neste vídeo, 61 00:05:02,650 --> 00:05:05,340 que era, en realidade, na súa garaxe que o propio Google foi 62 00:05:05,340 --> 00:05:07,420 fundada por Larry e Sergey. 63 00:05:07,420 --> 00:05:11,169 >> Agora tamén estendeu a man para os nosos amigos en code.org, unha organización que 64 00:05:11,169 --> 00:05:13,460 en relación ao ano pasado foi levar a xente particularmente 65 00:05:13,460 --> 00:05:16,520 animado sobre ciencia da computación e de programación, en particular. 66 00:05:16,520 --> 00:05:20,590 Pero é importante ter en conta que a programación non é ciencia da computación per se. 67 00:05:20,590 --> 00:05:22,090 A ciencia da computación non está programando. 68 00:05:22,090 --> 00:05:24,560 No canto de programación é só unha tool-- que todos vostedes 69 00:05:24,560 --> 00:05:27,510 será moi ben familiarizado con end-- semestre 70 00:05:27,510 --> 00:05:30,650 de tal forma que pode non aplicarse só para os futuros cursos de CS 71 00:05:30,650 --> 00:05:33,670 pero para o que quere que os campos de onde está a benvida, en humanidades, 72 00:05:33,670 --> 00:05:36,090 ciencias sociais, natural ciencia, ou similares. 73 00:05:36,090 --> 00:05:39,740 >> De feito, facer que algúns outros ex-alumnos e os seus compañeiros 74 00:05:39,740 --> 00:05:43,400 para falar coa aplicabilidade do campo que o espera. 75 00:05:43,400 --> 00:05:52,340 76 00:05:52,340 --> 00:05:57,350 >> BILL GATES: Eu tiña 13 anos cando primeiro ten acceso a un ordenador. 77 00:05:57,350 --> 00:06:00,485 >> Jack Dorsey: Os meus pais me comprou un Macintosh en 1984 78 00:06:00,485 --> 00:06:01,640 cando tiña oito anos de idade. 79 00:06:01,640 --> 00:06:02,990 >> Mark Zuckerberg: Estaba na sexta serie. 80 00:06:02,990 --> 00:06:04,670 >> COLUMNA 1: Eu aprendín a programar na facultade. 81 00:06:04,670 --> 00:06:09,080 >> Ruchi Sanghvi: primeiro ano, primeiro semestre, Introdución á Ciencia da Computación. 82 00:06:09,080 --> 00:06:11,850 >> BILL GATES: Eu escribín un programa que xogou tic-tac-toe. 83 00:06:11,850 --> 00:06:14,100 >> DREW HOUSTON: Creo que foi comezos moi humildes. 84 00:06:14,100 --> 00:06:16,370 Creo que o primeiro programa Escribín preguntou cousas como: 85 00:06:16,370 --> 00:06:17,820 cal é a súa cor favorita? 86 00:06:17,820 --> 00:06:18,696 Ou cantos anos tes? 87 00:06:18,696 --> 00:06:21,070 ELENA SILENOK: Aprendín primeiro como facer un círculo verde 88 00:06:21,070 --> 00:06:23,670 e un cadrado vermello aparecerá na pantalla. 89 00:06:23,670 --> 00:06:25,420 Gabe Newell: O primeiro xa que eu realmente tiña 90 00:06:25,420 --> 00:06:27,360 algo chegar e dicir: Ola, mundo. 91 00:06:27,360 --> 00:06:29,710 E eu fixen un ordenador facelo. 92 00:06:29,710 --> 00:06:30,850 Foi simplemente incrible. 93 00:06:30,850 --> 00:06:33,224 >> Mark Zuckerberg: Aprender para o programa non comezou 94 00:06:33,224 --> 00:06:35,450 como querendo aprender todo de ciencia da computación 95 00:06:35,450 --> 00:06:38,630 ou tentando dominar esta disciplina ou algo así. 96 00:06:38,630 --> 00:06:41,591 El só comezou porque eu quería facer unha cousa simple. 97 00:06:41,591 --> 00:06:44,340 Quería facer algo que Foi divertido para min e para os meus irmás. 98 00:06:44,340 --> 00:06:46,399 >> E escribín este pequeno programa. 99 00:06:46,399 --> 00:06:48,440 E entón, basicamente, só engadido un pouco a el. 100 00:06:48,440 --> 00:06:49,930 E entón, cando eu precisaba para aprender algo novo, 101 00:06:49,930 --> 00:06:52,210 Eu olhei para arriba, sexa en un libro ou en Internet, 102 00:06:52,210 --> 00:06:53,240 e, a continuación, engade un pouco a el. 103 00:06:53,240 --> 00:06:56,300 >> DREW HOUSTON: Realmente non é diferente de tocar un instrumento ou algo 104 00:06:56,300 --> 00:07:00,007 ou practicar un deporte. 105 00:07:00,007 --> 00:07:01,090 DAVID J. Malan: Todo ben. 106 00:07:01,090 --> 00:07:04,120 Entón, nós imos agora, en realidade, mergullo un pouco máis fondo. 107 00:07:04,120 --> 00:07:07,430 Cales son esas entradas e saídas que estamos a falar aquí? 108 00:07:07,430 --> 00:07:09,110 >> Entón, que tal algo sinxelo? 109 00:07:09,110 --> 00:07:12,120 Probablemente sabe, mesmo se ten ningunha familiaridade coa informática 110 00:07:12,120 --> 00:07:16,570 que sexa, de que os ordenadores de algunha maneira usar e comprende só ceros e uns. 111 00:07:16,570 --> 00:07:20,500 Pero como é que isto pode, eventualmente, ser dada como escritorios como portátiles de hoxe e do mesmo xeito 112 00:07:20,500 --> 00:07:21,280 pode facer? 113 00:07:21,280 --> 00:07:24,310 >> O ADN do día, a única alfabeto que comprendan 114 00:07:24,310 --> 00:07:26,410 é un cero ou un un. 115 00:07:26,410 --> 00:07:27,470 Ben, considere isto. 116 00:07:27,470 --> 00:07:30,840 Nós, os seres humanos, tenden a utilizar a sistema decimal. "Decembro", que significa 10. 117 00:07:30,840 --> 00:07:33,970 E iso é 10 porque temos 10 díxitos, de 0 a nove. 118 00:07:33,970 --> 00:07:36,180 >> Agora, os ordenadores, por contraste, tenden a usar binario. 119 00:07:36,180 --> 00:07:37,270 "Bi" significa dous. 120 00:07:37,270 --> 00:07:39,560 Así, eles tenden só cero e un para usar. 121 00:07:39,560 --> 00:07:42,680 Pero acontece que, aínda só con ceros e uns, que 122 00:07:42,680 --> 00:07:45,900 é suficientemente grande alfabeto coa cal a representar máis 123 00:07:45,900 --> 00:07:48,490 calquera peza de datos que quere, se é un número, 124 00:07:48,490 --> 00:07:52,100 se é unha carta, se é unha gráfica ou de vídeo na pantalla. 125 00:07:52,100 --> 00:07:57,140 >> Considero, por exemplo, como nós, seres humanos normalmente interpretar ese número aquí. 126 00:07:57,140 --> 00:08:00,010 Este é só tres díxitos, un, dous, tres. 127 00:08:00,010 --> 00:08:04,570 Pero sabemos que este número innately agora como 123. 128 00:08:04,570 --> 00:08:05,510 Pero por que isto? 129 00:08:05,510 --> 00:08:07,570 >> Ben, se pensas que volta quizais para a escola, 130 00:08:07,570 --> 00:08:11,700 probablemente foi ensino a pensar en estas cifras como, en columnas 131 00:08:11,700 --> 00:08:14,700 onde un é na orde dos centos lugar, a dous está na casa das decenas, 132 00:08:14,700 --> 00:08:16,360 e os tres está na casa das unidades. 133 00:08:16,360 --> 00:08:17,790 Por que iso é realmente útil? 134 00:08:17,790 --> 00:08:19,665 Ben, pense sobre o aritmética super sinxelo 135 00:08:19,665 --> 00:08:22,219 que todos temos sido facendo desde hai anos. 136 00:08:22,219 --> 00:08:24,510 Efectivamente, se ten un na casa dos centos, 137 00:08:24,510 --> 00:08:29,610 Vostede fai a matemática rápida 100 veces 1 máis 10 veces 2-- 138 00:08:29,610 --> 00:08:33,059 porque dous é na casa das decenas lugar-- máis 1 veces 3-- 139 00:08:33,059 --> 00:08:34,830 porque tres é na casa das unidades. 140 00:08:34,830 --> 00:08:37,039 Así, é evidente que, se realmente multiplicar tanto, 141 00:08:37,039 --> 00:08:39,600 o que realmente estamos representando con este pattern-- 142 00:08:39,600 --> 00:08:46,150 dous três-- é de 100 máis 20 máis 3, o que, naturalmente, é de 123. 143 00:08:46,150 --> 00:08:51,130 >> Agora binario, e os ordenadores realmente, fundamentalmente falan a mesma lingua 144 00:08:51,130 --> 00:08:51,680 o que facemos. 145 00:08:51,680 --> 00:08:53,400 Eles só teñen un alfabeto menor. 146 00:08:53,400 --> 00:08:57,100 Así, os ordenadores só ten ceros e aqueles á súa disposición. 147 00:08:57,100 --> 00:09:02,500 Así, mentres que nós seres humanos temos esencialmente potencias de 10 en cada unha destas places-- 148 00:09:02,500 --> 00:09:06,810 10 para o cero, a 10 a un, dez para os dous, dándolle 110 e 100 149 00:09:06,810 --> 00:09:07,700 respectivamente. 150 00:09:07,700 --> 00:09:12,140 >> Como os computadores só ten dous valores que se poidan entender, cero e un, 151 00:09:12,140 --> 00:09:16,600 eles teñen que usar valores distintos nesas columnas, un, dous, catro. 152 00:09:16,600 --> 00:09:20,480 E se continuou, oito, 16, 32, 64, e así por diante. 153 00:09:20,480 --> 00:09:24,220 Pero o patrón e o mentalidade é exactamente o mesmo. 154 00:09:24,220 --> 00:09:27,340 >> Entón, por esta lóxica, calquera, como sería Vou sobre o que representa o número 155 00:09:27,340 --> 00:09:28,530 un par en? 156 00:09:28,530 --> 00:09:33,080 Se nunca sequera pensou en iso antes, o que é o seu intestino dicir? 157 00:09:33,080 --> 00:09:33,777 >> Audiencia: One. 158 00:09:33,777 --> 00:09:34,610 DAVID J. Malan: One. 159 00:09:34,610 --> 00:09:35,660 Exactamente. 160 00:09:35,660 --> 00:09:38,100 Só necesitamos un un no queridos lugar porque os ceros 161 00:09:38,100 --> 00:09:40,610 suficiente para darnos nin un, nin un de catro dous. 162 00:09:40,610 --> 00:09:42,440 Entón, un veces un é igual a un. 163 00:09:42,440 --> 00:09:43,940 Agora as cousas están un pouco interesante. 164 00:09:43,940 --> 00:09:46,830 Se eu queira representar no binario número dois-- pero, 165 00:09:46,830 --> 00:09:49,790 de novo, aínda que nunca fala esa lingua, antes, 166 00:09:49,790 --> 00:09:54,680 como é que imos representar en binario O valor que os humanos saben como dous? 167 00:09:54,680 --> 00:09:55,570 Cero un cero. 168 00:09:55,570 --> 00:09:57,620 Basta pór un no columna que quere. 169 00:09:57,620 --> 00:09:59,560 >> Agora está quedando moi fácil probablemente agora. 170 00:09:59,560 --> 00:10:02,950 Entón, se eu queira representar três-- hai columna tres. 171 00:10:02,950 --> 00:10:06,770 Entón, de novo, eu agora pode engadir eses valores xuntos, poñendo un aquí. 172 00:10:06,770 --> 00:10:10,320 Polo tanto, 2 veces 1 máis 1 veces 1 é, evidentemente, 3. 173 00:10:10,320 --> 00:10:13,480 >> Agora as cousas están un pouco de diversión quen agora se fixo cero. 174 00:10:13,480 --> 00:10:15,480 E para representar catro, entendo iso. 175 00:10:15,480 --> 00:10:19,310 E se aumentar lentamente aqui-- que sería cinco. 176 00:10:19,310 --> 00:10:20,700 Este sería seis. 177 00:10:20,700 --> 00:10:22,100 Este sería sete. 178 00:10:22,100 --> 00:10:25,310 >> Pero agora me parece atopou con un problema. 179 00:10:25,310 --> 00:10:30,520 Cómo podería ir sobre a representación eight-- sería o seguinte valor. 180 00:10:30,520 --> 00:10:31,900 Si, por iso necesitamos un novo bits. 181 00:10:31,900 --> 00:10:33,899 E, de feito, se ten escoitou esta frase antes, 182 00:10:33,899 --> 00:10:37,380 anacos, iso é só a abreviación de díxito binario, cero ou un. 183 00:10:37,380 --> 00:10:41,520 >> E así acontece que eu estar representando só tres deses anacos aquí. 184 00:10:41,520 --> 00:10:44,900 Pero se eu tivese un xeito de non gardar tres diferentes bits, pero catro, 185 00:10:44,900 --> 00:10:47,250 seguramente podería representar oito, nove e despois, e logo 186 00:10:47,250 --> 00:10:49,400 10, e aínda máis e máis. 187 00:10:49,400 --> 00:10:52,140 >> Pero que chama entón trate como podemos 188 00:10:52,140 --> 00:10:54,540 ir sobre o que supón estes cousas en primeiro lugar. 189 00:10:54,540 --> 00:10:56,950 É unha cousa para deseñar los aquí en un slide, 190 00:10:56,950 --> 00:11:00,660 pero como representa-los se é un dispositivo mecánico? 191 00:11:00,660 --> 00:11:04,390 ¿Que é un ordenador que fai a representan as entradas e saídas que 192 00:11:04,390 --> 00:11:09,020 fundamentalmente axustar computación ao final do día? 193 00:11:09,020 --> 00:11:12,090 >> Ben, o que dicir de algo super sinxelo coma este? 194 00:11:12,090 --> 00:11:13,200 É só unha lámpada. 195 00:11:13,200 --> 00:11:15,460 E podo accionar esta lámpada para ir 196 00:11:15,460 --> 00:11:17,920 xirando un pouco de electricidade on e permitindo que os electróns 197 00:11:17,920 --> 00:11:22,585 a fluír a través, que cambia a súa estado ou o seu valor, por así dicir. 198 00:11:22,585 --> 00:11:24,460 Por exemplo, esta é unha lámpada de mesa vella escola 199 00:11:24,460 --> 00:11:27,250 aquí con un tal lámpada dentro del. 200 00:11:27,250 --> 00:11:29,940 E agora non é realmente facendo algo útil. 201 00:11:29,940 --> 00:11:32,680 Pero así que eu liga-lo a unha toma de corrente 202 00:11:32,680 --> 00:11:36,390 e, a continuación, usar ese switch-- ou podemos ata chamalo dun transistor 203 00:11:36,390 --> 00:11:39,970 ou pensar nel como such-- Agora podo representar tanto 204 00:11:39,970 --> 00:11:44,120 ese valor, se a lámpada do obviamente, fóra, ou ese valor. 205 00:11:44,120 --> 00:11:46,060 Este valor é ese valor. 206 00:11:46,060 --> 00:11:47,520 Este valor e así por diante. 207 00:11:47,520 --> 00:11:51,220 >> Entón, dentro dun ordenador, presuntamente, son pezas moi pequenas de hardware, 208 00:11:51,220 --> 00:11:52,970 pero que ao final do día simplemente ter 209 00:11:52,970 --> 00:11:55,360 usar electricity-- quizais capturar ele-- 210 00:11:55,360 --> 00:11:59,730 e logo manter algo ou manter algo fóra. 211 00:11:59,730 --> 00:12:02,021 Por suposto, este non é particularmente interesante para facer 212 00:12:02,021 --> 00:12:03,270 con só unha única lámpada. 213 00:12:03,270 --> 00:12:06,726 >> De feito, como alto podo contar en binaria con esta lámpada de mesa aquí? 214 00:12:06,726 --> 00:12:07,420 >> Audiencia: One. 215 00:12:07,420 --> 00:12:08,545 >> DAVID J. Malan: un, non? 216 00:12:08,545 --> 00:12:11,020 Necesito máis lámpadas de mesa se eu Realmente quere contar superior. 217 00:12:11,020 --> 00:12:12,210 Pero podemos facer mellor que iso. 218 00:12:12,210 --> 00:12:14,460 Porque as lámpadas que poñemos nestas cousas 219 00:12:14,460 --> 00:12:17,730 son realmente extravagantes lámpadas que antigamente permitía. 220 00:12:17,730 --> 00:12:20,310 E son, en realidade, lámpadas en rede. 221 00:12:20,310 --> 00:12:23,160 E grupos de empresas facer isto nos días de hoxe. 222 00:12:23,160 --> 00:12:25,190 >> Pero parece que este en particular 223 00:12:25,190 --> 00:12:27,680 ven con un recurso a través do cal pode cambiar as súas cores. 224 00:12:27,680 --> 00:12:30,810 Así, por exemplo, se adornada seu cuarto do dormitorio 225 00:12:30,810 --> 00:12:33,200 con algúns destes luz lámpadas, dependendo do seu humor, 226 00:12:33,200 --> 00:12:35,366 dependendo de quen vén, Dependendo do tempo, 227 00:12:35,366 --> 00:12:37,360 dependendo do tempo do día, pode realmente 228 00:12:37,360 --> 00:12:40,300 cambiar as cores as lámpadas no seu cuarto. 229 00:12:40,300 --> 00:12:43,740 E iso é porque estes luz lámpadas e outros como el ten o que fai 230 00:12:43,740 --> 00:12:48,010 chamado dunha API, unha aplicación interface de programación, que 231 00:12:48,010 --> 00:12:50,920 é un tema co que estará ben familiarizado con ata o final do semestre. 232 00:12:50,920 --> 00:12:53,710 >> E esta é só unha fantasía, forma críptica de dicir: 233 00:12:53,710 --> 00:12:57,570 pode programar estes luz lámpadas para facer o seu tiro. 234 00:12:57,570 --> 00:13:00,360 Pode enviar-lles mensaxes así como, un ser humano, 235 00:13:00,360 --> 00:13:03,640 Pode enviar unha mensaxe a un servidor web dicindo, dáme a noticia de hoxe 236 00:13:03,640 --> 00:13:05,110 ou dar-me o meu correo electrónico. 237 00:13:05,110 --> 00:13:08,010 >> Pode enviar máis arcano mensaxes para estas lámpadas 238 00:13:08,010 --> 00:13:09,700 quere dicir, activar e desactivar. 239 00:13:09,700 --> 00:13:11,370 Pero isto non é tan interesante. 240 00:13:11,370 --> 00:13:14,280 Pode dicir, chame vermello, conectar verde, chame azul, 241 00:13:14,280 --> 00:13:15,990 todas coa mesma lámpada. 242 00:13:15,990 --> 00:13:20,990 E aínda pode, con algo máis savvy, din, Xire se para o azul 243 00:13:20,990 --> 00:13:24,710 cando é un día sombrío fóra, por exemplo. 244 00:13:24,710 --> 00:13:27,910 É realmente fixar en unha API tempo e descubrir 245 00:13:27,910 --> 00:13:32,260 que o tempo é, ou o tempo do día, ou outros tales gatillo. 246 00:13:32,260 --> 00:13:35,550 >> Así, en realidade, dous Propios membros do equipo do CS50, 247 00:13:35,550 --> 00:13:38,827 Dan Bradley e Ansel Duff aquí, por favor adquiridos 248 00:13:38,827 --> 00:13:40,410 nós unha morea desas lámpadas. 249 00:13:40,410 --> 00:13:42,910 E eles construíron CS50 da primeiros bulbos xa binarios 250 00:13:42,910 --> 00:13:46,850 onde temos representado aqui-- con estes pequenos magnets-- brincallón 251 00:13:46,850 --> 00:13:49,780 os distintos espazos reservados nos aludido só un pouco atrás. 252 00:13:49,780 --> 00:13:52,572 >> Entón ata aquí é o queridos lugar, dous, catro. 253 00:13:52,572 --> 00:13:54,030 E nós non vimos máis alto do que iso. 254 00:13:54,030 --> 00:13:55,613 Pero, por suposto, son potencias de dous. 255 00:13:55,613 --> 00:13:59,490 Oito, 16, 32, 64 e 128. 256 00:13:59,490 --> 00:14:03,320 Entón, se eu agora quero ser un pouco afeccionado que o uso desta opción da vella escola, 257 00:14:03,320 --> 00:14:07,310 Teño aquí neste iPad unha interface sinxela super 258 00:14:07,310 --> 00:14:10,440 que Dan Bradley, ex estudante e agora ensinando compañeiro, 259 00:14:10,440 --> 00:14:13,510 programado empregando algún HTML e JavaScript, que 260 00:14:13,510 --> 00:14:15,685 son de traza e programación idiomas respectivamente. 261 00:14:15,685 --> 00:14:17,560 E pode ser ver-- mesmo na traseira-- 262 00:14:17,560 --> 00:14:21,670 hai unha gran vantaxe e unha gran desvantaxe, un botón para cada unha destas lámpadas. 263 00:14:21,670 --> 00:14:25,740 E o que iso me vai deixar non é, por exemplo, prema no signo máis 264 00:14:25,740 --> 00:14:28,250 e agora representan, de Por suposto, o que número? 265 00:14:28,250 --> 00:14:28,750 Unha. 266 00:14:28,750 --> 00:14:30,220 E podo bate-lo de novo. 267 00:14:30,220 --> 00:14:31,480 Dous. 268 00:14:31,480 --> 00:14:32,800 Tres. 269 00:14:32,800 --> 00:14:33,950 Catro. 270 00:14:33,950 --> 00:14:35,200 Cinco. 271 00:14:35,200 --> 00:14:36,360 Six. 272 00:14:36,360 --> 00:14:36,880 Sete. 273 00:14:36,880 --> 00:14:40,740 >> E aquí agora temos que rollover, pero temos un cuarto bit este tempo, 274 00:14:40,740 --> 00:14:42,180 entón agora temos oito. 275 00:14:42,180 --> 00:14:44,000 Entón, poderíamos facelo por algún tempo. 276 00:14:44,000 --> 00:14:46,530 De feito, como un aparte, ; alto poderiamos contar? 277 00:14:46,530 --> 00:14:48,318 Calquera? 278 00:14:48,318 --> 00:14:49,270 >> Audiencia: 255. 279 00:14:49,270 --> 00:14:51,420 >> DAVID J. Malan: 255, non? 280 00:14:51,420 --> 00:14:54,900 Non te preocupes moito coa matemática para agora, pero que é un número moi decente. 281 00:14:54,900 --> 00:14:59,140 Pero, en realidade, non vinculada só cantas pezas de información, 282 00:14:59,140 --> 00:15:01,760 como unha carta ou un gráfico que podería representar. 283 00:15:01,760 --> 00:15:02,697 >> Pero non importa agora. 284 00:15:02,697 --> 00:15:04,530 Eu estou indo a ir adiante e transformalo los todos fóra. 285 00:15:04,530 --> 00:15:09,670 E se eu puidese, gustaríame pedir un voluntario, o noso primeiro volunteer-- 286 00:15:09,670 --> 00:15:11,342 Oh, hello-- no escenario. 287 00:15:11,342 --> 00:15:14,050 O problema é que ten que ser cómodo aparecendo, como claramente 288 00:15:14,050 --> 00:15:17,421 están diante de todos os seus compañeiros de clase, , Así como en internet. 289 00:15:17,421 --> 00:15:20,420 E déixeme mirar un pouco máis aló o-- E aquí na camisa branca? 290 00:15:20,420 --> 00:15:20,920 E entregarse. 291 00:15:20,920 --> 00:15:22,071 Imos cara arriba. 292 00:15:22,071 --> 00:15:22,820 Cal é o seu nome? 293 00:15:22,820 --> 00:15:23,760 >> Audiencia: Jackie. 294 00:15:23,760 --> 00:15:24,718 >> DAVID J. Malan: Jackie. 295 00:15:24,718 --> 00:15:25,820 Jackie, imos cara arriba. 296 00:15:25,820 --> 00:15:29,820 Entón, o que hai é tamén neste iPad é un botón chamado Modo de Xogo. 297 00:15:29,820 --> 00:15:32,570 E este modo de xogo é me vai permitir a entrada 298 00:15:32,570 --> 00:15:35,780 anticipadamente un decimal especial número, as cifras que os seres humanos son 299 00:15:35,780 --> 00:15:36,760 familiarizado. 300 00:15:36,760 --> 00:15:39,820 E entón será desafiado aquí para usar os botóns 301 00:15:39,820 --> 00:15:42,140 na para unha top-- cada un destes bulbs-- 302 00:15:42,140 --> 00:15:45,050 para realmente descubrir o estándar de lámpadas 303 00:15:45,050 --> 00:15:46,970 que representa o número en cuestión. 304 00:15:46,970 --> 00:15:47,790 >> E eu sinto moito, o que era o seu nome? 305 00:15:47,790 --> 00:15:48,250 >> Audiencia: Jackie. 306 00:15:48,250 --> 00:15:48,620 >> DAVID J. Malan: Jackie. 307 00:15:48,620 --> 00:15:48,920 Todo correcto. 308 00:15:48,920 --> 00:15:49,740 Pracer en coñece-lo. 309 00:15:49,740 --> 00:15:54,580 >> Entón deixe-me ir adiante e no programa para que o mundo vexa o número 15. 310 00:15:54,580 --> 00:15:56,360 Imos mantelo pequeno a principio aquí. 311 00:15:56,360 --> 00:15:58,240 E eu estou indo a entrar en Modo de Xogo. 312 00:15:58,240 --> 00:16:01,160 E eu vou especificar, ofrécenos o número 15. 313 00:16:01,160 --> 00:16:01,900 >> Está ben. 314 00:16:01,900 --> 00:16:05,510 E agora, con todo watching-- se quere destacar, quizais deste xeito, 315 00:16:05,510 --> 00:16:09,970 porque vai aliñar up-- dalle cambiar entre os oito botóns na parte superior 316 00:16:09,970 --> 00:16:12,530 para conectar as lámpadas en ou fóra como ve o axuste. 317 00:16:12,530 --> 00:16:13,530 >> Audiencia: Aceptar. 318 00:16:13,530 --> 00:16:17,720 >> DAVID J. Malan: E sen trampas por bater máis de 15 veces. 319 00:16:17,720 --> 00:16:19,275 Oh, nós imos facelo. 320 00:16:19,275 --> 00:16:20,069 >> Audiencia: Oh, espera. 321 00:16:20,069 --> 00:16:20,610 Eu sinto moito. 322 00:16:20,610 --> 00:16:22,660 >> DAVID J. Malan: Tamén pode activar as lámpadas en forma individual 323 00:16:22,660 --> 00:16:24,076 con cada un destes botóns na parte superior. 324 00:16:24,076 --> 00:16:24,844 Audiencia: Oh, Aceptar. 325 00:16:24,844 --> 00:16:27,429 Polo tanto, sería como-- 326 00:16:27,429 --> 00:16:28,220 DAVID J. Malan: Aceptar. 327 00:16:28,220 --> 00:16:29,100 Polo tanto, agora temos oito. 328 00:16:29,100 --> 00:16:31,280 Entón, imos facer unha pausa para o público a participar aquí. 329 00:16:31,280 --> 00:16:34,300 O número é Jackie representando na actualidade? 330 00:16:34,300 --> 00:16:34,800 11. 331 00:16:34,800 --> 00:16:35,730 Entón, nós estamos case alí. 332 00:16:35,730 --> 00:16:38,360 333 00:16:38,360 --> 00:16:39,630 E excelente. 334 00:16:39,630 --> 00:16:41,487 Polo tanto, temos o noso primeiro gañador. 335 00:16:41,487 --> 00:16:42,445 Parabéns. 336 00:16:42,445 --> 00:16:48,200 >> E nós cremos que teriamos algúns agasallos fabulosos. 337 00:16:48,200 --> 00:16:50,860 Se desexa ser un deses dormitorio cuarto aquí no campus, 338 00:16:50,860 --> 00:16:56,126 pódese ter un proxecto final usando agora esta API, grazas a Jackie. 339 00:16:56,126 --> 00:16:57,050 Entón agora-- 340 00:16:57,050 --> 00:16:58,902 >> [Aplausos] 341 00:16:58,902 --> 00:17:01,690 342 00:17:01,690 --> 00:17:04,839 >> --if puidésemos, unha tal arredor deste. 343 00:17:04,839 --> 00:17:07,690 Oh, agora todo o mundo quere algunhas lámpadas. 344 00:17:07,690 --> 00:17:11,790 Para a chamada edición hacker imos rampla lo a-- oh, 345 00:17:11,790 --> 00:17:12,770 si, evasiva. 346 00:17:12,770 --> 00:17:16,010 Creo que está chegando agora se a súa man está indo para abaixo. 347 00:17:16,010 --> 00:17:16,800 Cal é o seu nome? 348 00:17:16,800 --> 00:17:17,424 >> Audiencia: Alex. 349 00:17:17,424 --> 00:17:19,440 DAVID J. Malan: Alex, veña aquí. 350 00:17:19,440 --> 00:17:26,190 Así, para Alex, imos programa dun número lixeiramente maior. 351 00:17:26,190 --> 00:17:27,790 Quizais en orde. 352 00:17:27,790 --> 00:17:29,110 O número 50. 353 00:17:29,110 --> 00:17:29,744 >> Audiencia: Aceptar. 354 00:17:29,744 --> 00:17:31,660 DAVID J. Malan: Pero como Eu disse-- e que pode 355 00:17:31,660 --> 00:17:33,580 quero estar aquí para que que os botóns se aliñan 356 00:17:33,580 --> 00:17:37,115 como sería expect-- pero eu fixen chamar esta edición hacker. 357 00:17:37,115 --> 00:17:47,125 Assim-- boa sorte! 358 00:17:47,125 --> 00:17:48,416 >> [Risas] 359 00:17:48,416 --> 00:17:58,570 360 00:17:58,570 --> 00:18:02,050 >> Vai ser capaz de transformar los se você-- Aceptar. 361 00:18:02,050 --> 00:18:02,880 Excelente. 362 00:18:02,880 --> 00:18:03,675 Marabilloso. 363 00:18:03,675 --> 00:18:04,341 Parabéns. 364 00:18:04,341 --> 00:18:08,730 >> [Aplausos] 365 00:18:08,730 --> 00:18:10,355 Creo que eu debería pagar. 366 00:18:10,355 --> 00:18:11,830 Parabéns ao Alex tamén. 367 00:18:11,830 --> 00:18:12,330 Está ben. 368 00:18:12,330 --> 00:18:15,550 >> Así, o takeaway final aquí está espero, sinceramente, 369 00:18:15,550 --> 00:18:18,109 o simplicity-- o sinxeleza con que 370 00:18:18,109 --> 00:18:20,650 pode obter algunha luz agradable lámpadas, aparentemente en [inaudível]. 371 00:18:20,650 --> 00:18:23,000 Pero eles representan, en definitiva, as mesmas ideas 372 00:18:23,000 --> 00:18:26,310 co cal nós, seres humanos son xa moi familiar. 373 00:18:26,310 --> 00:18:28,660 Entón, o que pode próxima paso estar na progresión 374 00:18:28,660 --> 00:18:30,920 de tratar de facer algo interesante con datos 375 00:18:30,920 --> 00:18:34,950 e representando as entradas que non son só números, pero son talvez cartas ou máis? 376 00:18:34,950 --> 00:18:37,820 >> Ben, acontece que o mundo da informática, por moitos anos, 377 00:18:37,820 --> 00:18:43,300 simplemente adoptou un arbitrario, senón un estándar consistente que mapea números 378 00:18:43,300 --> 00:18:44,610 para as letras do alfabeto. 379 00:18:44,610 --> 00:18:47,120 Por exemplo, aquí está un fragmento do mapeamento. 380 00:18:47,120 --> 00:18:48,350 Chámase ASCII. 381 00:18:48,350 --> 00:18:53,220 A-S-C-I-I. E iso é simplemente unha táboa que mapea letters-- maiúscula 382 00:18:53,220 --> 00:18:56,600 neste caso-- en números decimais. 383 00:18:56,600 --> 00:18:57,890 >> Pero cal é a implicación? 384 00:18:57,890 --> 00:19:01,090 Ben, se o quere representar algo así como un correo electrónico ou texto 385 00:19:01,090 --> 00:19:03,310 nunha páxina web, obviamente quere amosar 386 00:19:03,310 --> 00:19:06,100 as letras humanos da alfabeto, non números. 387 00:19:06,100 --> 00:19:09,140 Entón, dependendo do contexto do programa 388 00:19:09,140 --> 00:19:12,600 que un usuario está a usar, se é un navegador ou cliente de correo electrónico, 389 00:19:12,600 --> 00:19:16,090 números pode ser certamente interpretada como letras. 390 00:19:16,090 --> 00:19:20,290 É dicir, os patróns de bits pode facilmente ser interpretada como letras. 391 00:19:20,290 --> 00:19:24,700 >> E entón o que podemos ter é a letra A ser 392 00:19:24,700 --> 00:19:28,410 representada como 65, B sendo representado como 66. 393 00:19:28,410 --> 00:19:30,900 Entón, se temos unha super palabra curta, como ola, 394 00:19:30,900 --> 00:19:35,740 o que un ordenador faría en última instancia tenda en decimal, pero realmente en binario, 395 00:19:35,740 --> 00:19:40,070 usando unha secuencia de bits, panca un pouco de electricidade, de algunha maneira, 396 00:19:40,070 --> 00:19:44,010 serían os dous números 72 e 73. 397 00:19:44,010 --> 00:19:46,780 >> Pero o patrón de bits que representa os valores. 398 00:19:46,780 --> 00:19:49,820 Polo tanto, estas son, entón, como podemos representan as nosas entradas e saídas. 399 00:19:49,820 --> 00:19:52,630 E basta dicir, podemos facer representacións máis complexas 400 00:19:52,630 --> 00:19:56,450 en definitiva, con cousas como gráficos, vídeos, música e moito máis 401 00:19:56,450 --> 00:19:58,190 como veremos a finais deste prazo. 402 00:19:58,190 --> 00:20:00,630 >> Entón, iso só deixa entón algoritmos, estes conxuntos 403 00:20:00,630 --> 00:20:03,490 de instrucións co cal estamos resolvendo problemas reais. 404 00:20:03,490 --> 00:20:05,820 Estamos pasando en insumos para algoritmos. 405 00:20:05,820 --> 00:20:09,630 E eses algoritmos están producindo saídas, saídas espero correctas 406 00:20:09,630 --> 00:20:14,160 e, esperamos, tamén, eficientemente reunidos saídas. 407 00:20:14,160 --> 00:20:16,890 Noutras palabras, é unha cousa aplicar algo correctamente. 408 00:20:16,890 --> 00:20:20,790 É outra cousa para aplicar algo ben ou eficiente. 409 00:20:20,790 --> 00:20:23,690 >> Por exemplo, unha demostración que estamos Apaixonado por no curso 410 00:20:23,690 --> 00:20:24,460 é este. 411 00:20:24,460 --> 00:20:26,345 Pero estas cousas están quedando cada vez máis difícil de atopar. 412 00:20:26,345 --> 00:20:28,930 Pero esta é realmente unha vella escola libro de teléfono, dentro do cal 413 00:20:28,930 --> 00:20:32,580 son 1.000 páxinas, máis de nomes e números de teléfono. 414 00:20:32,580 --> 00:20:34,830 E se eu quixese mirar para arriba alguén nesta lista telefónica, 415 00:20:34,830 --> 00:20:38,640 Podería simplemente facer unha algoritmo moi inxenuo. 416 00:20:38,640 --> 00:20:42,150 Podería abrir a primeira páxina, e Podería comezar a buscar, por exemplo, alguén 417 00:20:42,150 --> 00:20:43,130 chamado Mike Smith. 418 00:20:43,130 --> 00:20:46,160 E se non está na primeira páxina, que acada para o segundo, 419 00:20:46,160 --> 00:20:49,120 e, a continuación, para o terceiro, e logo para o cuarto, e así por diante, 420 00:20:49,120 --> 00:20:51,430 ata que eu finalmente atopar Mike Smith. 421 00:20:51,430 --> 00:20:53,010 >> Agora é que o algoritmo correcto? 422 00:20:53,010 --> 00:20:53,896 >> Audiencia: Si. 423 00:20:53,896 --> 00:20:54,248 >> DAVID J. Malan: Yeah. 424 00:20:54,248 --> 00:20:56,039 Se está alí, eu vou finalmente atopalo. 425 00:20:56,039 --> 00:20:58,820 Pero non é, sen dúbida, moi eficiente, seguro que non é rápido, 426 00:20:58,820 --> 00:21:01,200 porque, meu Deus, por que eu son perdendo meu tempo Flipping 427 00:21:01,200 --> 00:21:04,500 a través de todas estas páxinas cando podía certamente facelo físicamente máis rápido? 428 00:21:04,500 --> 00:21:08,210 >> Ben, unha pequena optimización, a fin de falar, pode non ser unha páxina de cada vez, 429 00:21:08,210 --> 00:21:11,610 pero dous, catro, seis, oito, 10. 430 00:21:11,610 --> 00:21:12,725 Aínda correcto? 431 00:21:12,725 --> 00:21:14,030 >> Audiencia: Non 432 00:21:14,030 --> 00:21:17,040 >> DAVID J. Malan: Polo tanto, non se eu para exemplo saltar Mike Smith. 433 00:21:17,040 --> 00:21:20,530 Pero mentres eu volver pedal unha páxina, se eu superar el, 434 00:21:20,530 --> 00:21:25,240 quizá poderiamos resolver o que poderían ser unha pegadinha. 435 00:21:25,240 --> 00:21:26,020 >> Pero será que é mellor? 436 00:21:26,020 --> 00:21:27,469 É máis rápido? 437 00:21:27,469 --> 00:21:28,010 Quero dicir, si. 438 00:21:28,010 --> 00:21:30,950 É, literalmente, dúas veces máis rápido se eu facer dúas páxinas de cada vez. 439 00:21:30,950 --> 00:21:35,720 Entón, se eu orixinalmente tiña 1.000 páxinas, agora eu só teño que virar 500 veces, 440 00:21:35,720 --> 00:21:39,429 non é total de 1.000 páxinas para obter potencialmente, no peor caso 441 00:21:39,429 --> 00:21:41,220 ao final do teléfono libro, en que alguén 442 00:21:41,220 --> 00:21:44,380 como Mike Smith ou alguén con un nome máis tarde pode realmente ser. 443 00:21:44,380 --> 00:21:46,540 >> Pero, por suposto, nos os seres humanos non son certamente 444 00:21:46,540 --> 00:21:49,250 vai estar facendo iso, certamente non neste momento das nosas vidas. 445 00:21:49,250 --> 00:21:51,454 ¿Que é un razoable humana probablemente vai facer? 446 00:21:51,454 --> 00:21:52,870 Audiencia: Vaia directo para The9 S de. 447 00:21:52,870 --> 00:21:53,860 DAVID J. Malan: ir directo ao S do? 448 00:21:53,860 --> 00:21:55,563 ¿Como ir directo ao S do? 449 00:21:55,563 --> 00:21:57,342 >> Audiencia: Rip-o ao medio. 450 00:21:57,342 --> 00:21:59,050 DAVID J. Malan: Ben, non hai ningunha cita. 451 00:21:59,050 --> 00:22:02,116 Entón, si, se houbese de feito unha etiqueta ou unha guía pegajosa para S, 452 00:22:02,116 --> 00:22:03,240 debemos ir directo alí. 453 00:22:03,240 --> 00:22:05,420 Pero é moi inócuo. 454 00:22:05,420 --> 00:22:08,480 Entón, o mellor que podo facer é máis ou menos á sección S ou que máis ou menos 455 00:22:08,480 --> 00:22:09,650 para o medio. 456 00:22:09,650 --> 00:22:12,110 Pero o principal argumento agora-- ea intuición 457 00:22:12,110 --> 00:22:14,430 que tomou a concedido por anos probably-- 458 00:22:14,430 --> 00:22:17,103 é que o que fai agora sabe sobre este problema? 459 00:22:17,103 --> 00:22:19,320 >> Audiencia: [inaudível] 460 00:22:19,320 --> 00:22:22,290 >> DAVID J. Malan: Mike Smith é certamente non desa metade do problema 461 00:22:22,290 --> 00:22:25,600 porque Smith vén despois do medio que é aproximadamente o punto M, 462 00:22:25,600 --> 00:22:26,510 parece ser. 463 00:22:26,510 --> 00:22:30,340 Entón, como pode ver en Visitas, agora podemos literalmente 464 00:22:30,340 --> 00:22:31,737 rasgar este problema á metade. 465 00:22:31,737 --> 00:22:32,320 Audiencia: Woo! 466 00:22:32,320 --> 00:22:33,690 DAVID J. Malan: É cada vez máis doado. 467 00:22:33,690 --> 00:22:34,666 [Aplausos] 468 00:22:34,666 --> 00:22:36,618 Alí vai. 469 00:22:36,618 --> 00:22:39,060 [Risas] 470 00:22:39,060 --> 00:22:41,870 E agora eu fundamentalmente teñen o mesmo problema, 471 00:22:41,870 --> 00:22:43,866 pero é, literalmente, a metade do tamaño. 472 00:22:43,866 --> 00:22:45,240 Eu aínda estou buscando por Mike Smith. 473 00:22:45,240 --> 00:22:47,950 E eu ouso dicir, eu aínda podo buscalo, do mesmo xeito, 474 00:22:47,950 --> 00:22:51,200 dividir o problema en metade de novo, rasgando o problema de novo 475 00:22:51,200 --> 00:22:54,140 ao medio, que agora déixame con un problema de un cuarto do tamaño, 476 00:22:54,140 --> 00:22:58,710 xogar dramáticas que media de distancia, e Repita este proceso unha e outra vez 477 00:22:58,710 --> 00:23:01,150 e de novo, ollando para abaixo en cada punto para ver 478 00:23:01,150 --> 00:23:03,400 se o Mike é en Smith a páxina en cuestión. 479 00:23:03,400 --> 00:23:06,190 >> Agora, se eu fai iso dereito, en definitiva, eu vou atopar-me 480 00:23:06,190 --> 00:23:11,085 con só unha páxina na que Mike Smith é se está de feito no libro de teléfono. 481 00:23:11,085 --> 00:23:13,510 Por suposto, eu podería nunca chamar Mike novo. 482 00:23:13,510 --> 00:23:18,800 Pero o punto aquí é que se comezou a con 1.000 páxinas, o meu primeiro algoritmo, 483 00:23:18,800 --> 00:23:21,620 pasar páxina, quizais 1.000 vezes-- definitivamente menos porque é 484 00:23:21,620 --> 00:23:26,430 un nome de S e non un nome de Z, pero como moitos como 1.000 páxinas, potencialmente. 485 00:23:26,430 --> 00:23:27,590 >> Segundo algoritmo, mellor. 486 00:23:27,590 --> 00:23:28,480 500 páxinas. 487 00:23:28,480 --> 00:23:31,230 Terceiro algoritmo, con todo, cantos pasos sería el 488 00:23:31,230 --> 00:23:35,520 levar a dividir unha páxina 1000 Teléfonos ao medio así? 489 00:23:35,520 --> 00:23:37,000 10, máis ou menos. 490 00:23:37,000 --> 00:23:40,770 Entón, só por navegar que Teléfonos, mergullo e conquistando, 491 00:23:40,770 --> 00:23:46,130 por así dicir, 10 veces, farei meu camiño abaixo a só unha única páxina. 492 00:23:46,130 --> 00:23:48,880 >> E así podemos capturar esa intuición agora algo gráficamente 493 00:23:48,880 --> 00:23:51,320 se considerar só Neste gráfico super sinxelo. 494 00:23:51,320 --> 00:23:55,470 Estamos no eixe x, ou horizontal eixe, é o tamaño do meu problema, 495 00:23:55,470 --> 00:23:57,100 o número de páxinas no libro de teléfono. 496 00:23:57,100 --> 00:23:59,040 E científicos da computación xeralmente quere chamar 497 00:23:59,040 --> 00:24:02,180 o tamaño dun problema n, no que n é só unha variable que 498 00:24:02,180 --> 00:24:04,310 represents-- neste caso-- número de páxinas. 499 00:24:04,310 --> 00:24:07,412 >> O eixe y vertical, ou, aquí está será o tempo para resolver, 500 00:24:07,412 --> 00:24:09,870 quizais o número de viradas de páxina, quizais o número de segundos 501 00:24:09,870 --> 00:24:11,960 ou minutos, independentemente súa unidade de medida é. 502 00:24:11,960 --> 00:24:14,337 E así esta liña vermella representa o primeiro algoritmo, 503 00:24:14,337 --> 00:24:16,670 porque hai un 1-1 relación entre o número 504 00:24:16,670 --> 00:24:18,880 de páxinas e cantidade de tempo que leva. 505 00:24:18,880 --> 00:24:22,240 >> Se Verizon dobra o número de páxinas lista telefónica o ano que vén, 506 00:24:22,240 --> 00:24:24,590 miña carreira tempo-- o tempo necesario para realizar 507 00:24:24,590 --> 00:24:27,610 aquel primeiro algorithm-- dobra no peor dos casos. 508 00:24:27,610 --> 00:24:30,690 Pero o segundo algoritmo, onde estou lanzando a dous, 509 00:24:30,690 --> 00:24:33,650 require menos tempo para un determinado problema de tamaño. 510 00:24:33,650 --> 00:24:36,090 Entón, se eu tivera tanto, moitos páxinas aqui-- aviso 511 00:24:36,090 --> 00:24:38,870 que a liña amarela suxire menos tempo para resolver. 512 00:24:38,870 --> 00:24:42,490 E, de feito, representa, imos dicir, n máis de dous. 513 00:24:42,490 --> 00:24:47,717 >> Pero o que é a forma de terceira e curva final, vai parecer? 514 00:24:47,717 --> 00:24:50,800 Si, é, en realidade vai look-- I Non sei o que ía dicir. 515 00:24:50,800 --> 00:24:52,300 Pero imos ver o que ía dicir. 516 00:24:52,300 --> 00:24:53,280 >> Audiencia: Así. 517 00:24:53,280 --> 00:24:57,060 >> DAVID J. Malan: Vai parecer este, un exactly-- slope-- logarítmica 518 00:24:57,060 --> 00:24:59,770 no que ten esa inclinación curiosa. 519 00:24:59,770 --> 00:25:01,235 Xa non é unha liña recta. 520 00:25:01,235 --> 00:25:05,000 E o que é interesante sobre iso é que aínda que o gráfico está cortada, 521 00:25:05,000 --> 00:25:07,790 pode extrapolar no seu importa que esa liña verde non é 522 00:25:07,790 --> 00:25:10,060 vai aumentar en altura todo o que moito 523 00:25:10,060 --> 00:25:13,500 a medida que avanzar aínda máis debaixo dese eixe horizontal. 524 00:25:13,500 --> 00:25:15,890 >> De feito, Verizon, por exemplo, pode dobrar 525 00:25:15,890 --> 00:25:19,100 o número de páxinas no teléfono libro entre este ano eo próximo ano 526 00:25:19,100 --> 00:25:22,140 desde 1000 a 2000 páxinas, pero non é gran cousa. 527 00:25:22,140 --> 00:25:24,960 Con esta terceira e última, hai un algoritmo intuitivo 528 00:25:24,960 --> 00:25:26,209 de dividir e conquistar. 529 00:25:26,209 --> 00:25:29,000 Vai me levar cantos máis os pasos o próximo ano para atopar alguén 530 00:25:29,000 --> 00:25:29,700 como Mike Smith? 531 00:25:29,700 --> 00:25:30,560 >> Audiencia: One. 532 00:25:30,560 --> 00:25:31,230 >> DAVID J. Malan: Hai só un. 533 00:25:31,230 --> 00:25:34,430 E poden quadruplicar iso, é me vai levar só dous pasos 534 00:25:34,430 --> 00:25:35,210 e así por diante. 535 00:25:35,210 --> 00:25:38,730 E por iso este é unha proba só como un proxecto coidadoso 536 00:25:38,730 --> 00:25:42,437 e algúns aprecio polo que súas entradas son pode facer aínda mellor. 537 00:25:42,437 --> 00:25:44,270 Agora, estamos enganando a pouco no sentido 538 00:25:44,270 --> 00:25:46,350 que estamos panca unha suposición. 539 00:25:46,350 --> 00:25:48,500 Cal é a miña suposición sobre o noso libro de teléfono 540 00:25:48,500 --> 00:25:52,720 que me permitiu dividir e conquistar deste xeito intuitivo e aínda correcta? 541 00:25:52,720 --> 00:25:53,705 >> Audiencia: [inaudível] 542 00:25:53,705 --> 00:25:54,580 DAVID J. Malan: Yeah. 543 00:25:54,580 --> 00:25:55,440 Por iso, foi orde. 544 00:25:55,440 --> 00:25:57,392 Foi clasificada polo a compañía telefónica. 545 00:25:57,392 --> 00:26:00,100 Se fose en orde aleatoria, que sería un inferno dun catálogo telefónico, 546 00:26:00,100 --> 00:26:02,850 pero certamente non o faría prestar-se ao algoritmo 547 00:26:02,850 --> 00:26:05,950 Eu usei, porque nunca faría só terá lugar a través de Mike Smith 548 00:26:05,950 --> 00:26:09,210 se mantivo a división en metade dese xeito por casualidade. 549 00:26:09,210 --> 00:26:12,060 >> Entón, imos agora formalizar o que é claramente intuitiva. 550 00:26:12,060 --> 00:26:13,950 Entón, unha cousa chamada pseudocódigo é onde imos 551 00:26:13,950 --> 00:26:15,780 comezar algúns dos nosos problemas iniciais. 552 00:26:15,780 --> 00:26:20,410 E esta é unha forma xenérica de describir un algoritmo ou un programa de ordenador, 553 00:26:20,410 --> 00:26:24,150 non usar C ou C ++, ou Java, ou dalgunha linguaxe específica, 554 00:26:24,150 --> 00:26:27,430 pero só mediante inglés, con que calquera ser humano pode ser familiar. 555 00:26:27,430 --> 00:26:31,220 >> E podemos escribir o pseudocódigo a este problema, como segue. 556 00:26:31,220 --> 00:26:33,520 Paso un, incorporarse o libro de teléfono. 557 00:26:33,520 --> 00:26:35,840 Paso dous, aberta a través da lista telefónica. 558 00:26:35,840 --> 00:26:37,730 Paso tres, ollar os nomes. 559 00:26:37,730 --> 00:26:40,630 Paso Catro si Smith está entre names-- 560 00:26:40,630 --> 00:26:42,960 >> E agora esta é unha construto interesante. 561 00:26:42,960 --> 00:26:44,290 É un punto de decisión. 562 00:26:44,290 --> 00:26:47,920 É unha bifurcación na estrada, se vai, unha filial, por así dicir. 563 00:26:47,920 --> 00:26:50,810 Entón eu vou para recuar só por convención step-- 564 00:26:50,810 --> 00:26:53,950 cinco-- que non é por exemplo, eu vou chamar a Mike. 565 00:26:53,950 --> 00:26:57,290 Polo tanto, este retroceso, totalmente convención humana arbitraria, pero é 566 00:26:57,290 --> 00:27:01,160 simplemente a intención de transmitir semanticamente que se Smith está entre nomes, 567 00:27:01,160 --> 00:27:03,310 entón eu debería chamar Mike. 568 00:27:03,310 --> 00:27:06,630 >> Mentres tanto, no paso seis, aviso que a retirada marchou. 569 00:27:06,630 --> 00:27:10,980 Entón, outra cousa é outra bifurcación na estrada, o outro camiño que eu podería viaxar. 570 00:27:10,980 --> 00:27:14,130 Entón else if Smith é no inicio do libro, o que é 571 00:27:14,130 --> 00:27:16,964 o meu seguinte paso probablemente vai estar aquí? 572 00:27:16,964 --> 00:27:18,380 Audiencia: Vai para o lado esquerdo. 573 00:27:18,380 --> 00:27:21,004 DAVID J. Malan: Si, entón vai a a metade esquerda da lista telefónica. 574 00:27:21,004 --> 00:27:24,140 Xoga fóra a metade dereita se Smith está no inicio do libro. 575 00:27:24,140 --> 00:27:27,140 Entón aberto ata o medio da a metade da esquerda do libro. 576 00:27:27,140 --> 00:27:30,240 >> E despois paso oito, vaia á liña tres. 577 00:27:30,240 --> 00:27:34,520 E este é un lazo curioso eu son indución, unha recursão por así dicir. 578 00:27:34,520 --> 00:27:35,990 Pero máis sobre iso no futuro. 579 00:27:35,990 --> 00:27:39,590 >> Estou usando o meu mesmo algoritmo, miña mesmo pseudocódigo, 580 00:27:39,590 --> 00:27:43,020 para resolver o mesmo problema novo porque o único que cambiou 581 00:27:43,020 --> 00:27:46,550 é o tamaño do problema, non meu obxectivo, e non a persoa 582 00:27:46,550 --> 00:27:47,340 Estou buscando. 583 00:27:47,340 --> 00:27:51,610 Para que eu poida reutilizar o algoritmo que eu xa teña definido. 584 00:27:51,610 --> 00:27:53,580 >> Else if Smith é máis tarde en book-- que pode 585 00:27:53,580 --> 00:27:56,200 adiviñar aberta ao medio a metade dereita do libro. 586 00:27:56,200 --> 00:27:58,350 E, de novo, vaia á liña tres. 587 00:27:58,350 --> 00:28:01,480 Else-- cal é a liña de fondo neste programa vai ser? 588 00:28:01,480 --> 00:28:03,580 Se non está entre os nomes na páxina Son 589 00:28:03,580 --> 00:28:06,870 on, se non está no inicio o libro, e el non é máis tarde 590 00:28:06,870 --> 00:28:09,899 no libro, o que sei é verdade sobre Mike Smith agora? 591 00:28:09,899 --> 00:28:11,190 Audiencia: Non está no libro. 592 00:28:11,190 --> 00:28:12,731 DAVID J. Malan: Non está no libro. 593 00:28:12,731 --> 00:28:16,040 Entón, o mellor que podo facer é só desistir e deixar este programa. 594 00:28:16,040 --> 00:28:16,540 Todo correcto. 595 00:28:16,540 --> 00:28:20,350 Polo tanto, neste punto, imos dar un rápido paseo un pouco do que espera. 596 00:28:20,350 --> 00:28:23,620 E, de feito, estou xuntouse aquí por un número de empregados CS50. 597 00:28:23,620 --> 00:28:26,940 Se estas persoas poderían todo unirse a min aquí enriba no escenario. 598 00:28:26,940 --> 00:28:28,900 >> [Aplausos] 599 00:28:28,900 --> 00:28:35,280 600 00:28:35,280 --> 00:28:38,170 >> Lembre, este é só un subconxunto do equipo CS50, 601 00:28:38,170 --> 00:28:42,380 xa que cada ano temos uns 100 empregados membros en función de auxiliar do curso, 602 00:28:42,380 --> 00:28:44,410 Teaching Fellows e moito máis. 603 00:28:44,410 --> 00:28:45,700 Imos cara arriba. 604 00:28:45,700 --> 00:28:48,820 Entón, eles van unirse a nós aquí torpes por un momento 605 00:28:48,820 --> 00:28:54,230 como dar un rápido tour que ten que esperar aquí no curso. 606 00:28:54,230 --> 00:28:59,640 >> Entón, en primeiro lugar, temos SAT / UNS como a posibilidade de clasificación no curso. 607 00:28:59,640 --> 00:29:03,180 Este destino se deliberadamente para ser unha opción na que 608 00:29:03,180 --> 00:29:05,570 se é un pouco incómoda a estar en curso, 609 00:29:05,570 --> 00:29:09,390 e temer failure-- mesmo francamente fallo significa ferir o seu GPa, 610 00:29:09,390 --> 00:29:13,180 a obtención dun B e non un A-- que é precisamente o que, sen dúbida, a unha porta de entrada 611 00:29:13,180 --> 00:29:15,750 Claro que como CS50 e outros cursos introdutorios, 612 00:29:15,750 --> 00:29:17,540 esta opción de clasificación destinado a permitir. 613 00:29:17,540 --> 00:29:19,930 >> Eu sinceramente fomentar students-- especialmente 614 00:29:19,930 --> 00:29:23,090 ó fence-- para iniciar o Claro SAT / UNS, aínda permanecen SAT / UNS. 615 00:29:23,090 --> 00:29:27,310 Pero certamente pode pasar a unha carta grao xoves en término. 616 00:29:27,310 --> 00:29:31,560 >> Francamente, cando era un calouro en 1995, 617 00:29:31,560 --> 00:29:34,630 Eu mesmo nin sequera ter CS50 porque eu non tiven coraxe 618 00:29:34,630 --> 00:29:36,540 para realmente chegar á aula. 619 00:29:36,540 --> 00:29:40,020 Parecía un dominio demasiado descoñecido para min e realmente só 620 00:29:40,020 --> 00:29:43,080 para os meus amigos, francamente, que fora programación 621 00:29:43,080 --> 00:29:45,570 xa que eles eran seis ou quizais 10 anos de idade. 622 00:29:45,570 --> 00:29:48,640 E foi só porque eu era capaz de tomar CS50 no meu día 623 00:29:48,640 --> 00:29:52,720 na versión equivalente SAT / pass UNS-- / reprovação de volta na dia-- 624 00:29:52,720 --> 00:29:53,850 que mesmo eu levei 50. 625 00:29:53,850 --> 00:29:57,440 E de algunha maneira ou doutra, eu son aquí de novo con vostedes hoxe. 626 00:29:57,440 --> 00:30:00,690 >> Agora, con todo, o que máis lle debe ter presente uns 50 627 00:30:00,690 --> 00:30:01,910 é a inscrición simultánea. 628 00:30:01,910 --> 00:30:03,785 Contrariamente aos rumores que pode ter oído, 629 00:30:03,785 --> 00:30:07,650 pode, de feito, á vez alta no CS50 e outra clase que 630 00:30:07,650 --> 00:30:12,150 atende ao mesmo ou algunha superposición tempo, como conferencias de CS50 aquí. 631 00:30:12,150 --> 00:30:16,420 Vexa o currículo para as indicacións da súa execución. 632 00:30:16,420 --> 00:30:19,540 >> Charla, mentres, ao contrario do o que está oficialmente no catálogo, 633 00:30:19,540 --> 00:30:22,060 xeralmente só atopar a só unha hora. 634 00:30:22,060 --> 00:30:24,240 Na ocasión, podemos correr un pouco longo. 635 00:30:24,240 --> 00:30:26,800 Pero ten en conta que a obxectivo en conferencias de CS50 636 00:30:26,800 --> 00:30:28,980 é proporcionar-lle con unha visión xeral conceptual, 637 00:30:28,980 --> 00:30:31,830 espero que algunhas manifestacións, quizais mesmo algúns agasallos, 638 00:30:31,830 --> 00:30:34,390 que agarda para a semana que segue. 639 00:30:34,390 --> 00:30:37,730 >> E así, en conferencias, imos explorar estes temas e exemplos xuntos, 640 00:30:37,730 --> 00:30:41,420 traendo os alumnos para o escenario, e persoal enriba do escenario o máis rápido que pudermos, 641 00:30:41,420 --> 00:30:43,740 para só un par de horas á semana. 642 00:30:43,740 --> 00:30:47,435 Seccións, con todo, será ofrecidos por eles mesmos aqui-- moitos 643 00:30:47,435 --> 00:30:50,060 deles ensinando compañeiros, algúns deles curso assistants-- vontade 644 00:30:50,060 --> 00:30:51,160 pasar semanalmente. 645 00:30:51,160 --> 00:30:52,940 >> E o que é fundamental para manter presente é que nós 646 00:30:52,940 --> 00:30:55,920 Non ao contrario da primeira have-- Nights, a música class-- 647 00:30:55,920 --> 00:30:59,220 diferentes grupos de seccións para alumnos menos cómodos, máis 648 00:30:59,220 --> 00:31:01,150 cómodo, e nalgún lugar no medio. 649 00:31:01,150 --> 00:31:03,559 E, francamente, xa sabe se vostede é menos cómodo. 650 00:31:03,559 --> 00:31:05,600 E probablemente sabe se está máis cómodo. 651 00:31:05,600 --> 00:31:09,920 E se non está realmente certo, é por definición, algures no medio. 652 00:31:09,920 --> 00:31:12,850 Entón, cando chega a hora de sección nunha semana ou así, por o plan de estudos, 653 00:31:12,850 --> 00:31:14,070 imos pedirlle esta pregunta. 654 00:31:14,070 --> 00:31:16,890 E pode auto-selección en base no seu propio nivel de confort 655 00:31:16,890 --> 00:31:22,220 e estar con students-- estar con verde dots-- similar a nivel de confort para ti. 656 00:31:22,220 --> 00:31:25,710 >> Non obstante, temos problema define, o que acabará 657 00:31:25,710 --> 00:31:28,310 definir a súa experiencia neste curso. 658 00:31:28,310 --> 00:31:30,370 Son ofrecidos normalmente en varias edicións. 659 00:31:30,370 --> 00:31:34,150 A edición estándar que esperamos máis cada alumno no curso de afrontar 660 00:31:34,150 --> 00:31:37,900 pero tamén o chamado edición hackers que non ofrece ningunha forma de crédito extra 661 00:31:37,900 --> 00:31:41,980 de inmediato, pero realmente os dereitos de se gabar quere dicir que intentou e abordou 662 00:31:41,980 --> 00:31:45,250 edicións de hackers do curso que achegamos do material semellante 663 00:31:45,250 --> 00:31:47,370 pero desde un ángulo de máis sofisticado. 664 00:31:47,370 --> 00:31:49,480 >> O que ofrecemos para o Standard Edition, para, 665 00:31:49,480 --> 00:31:51,420 de novo, un super maioría dos estudantes, non son 666 00:31:51,420 --> 00:31:54,060 só walk-through, que son videos liderados polo equipo do curso 667 00:31:54,060 --> 00:31:57,840 que realmente levalo a través do problemas do curso e posible deseño 668 00:31:57,840 --> 00:31:58,910 implementacións. 669 00:31:58,910 --> 00:32:01,434 E tamén, despois do feito, ofrecer autopsias, 670 00:32:01,434 --> 00:32:03,350 en que se está a pensar como podería 671 00:32:03,350 --> 00:32:05,930 ou debería arranxarse ​​algúns problema, o corpo docente 672 00:32:05,930 --> 00:32:08,640 o guiará a través aqueles en vídeo tamén. 673 00:32:08,640 --> 00:32:14,350 >> Mentres tanto, o que espera tamén son cinco días de atraso eo feito 674 00:32:14,350 --> 00:32:16,680 que imos soltar a súa menor conxunto de problemas de puntuación. 675 00:32:16,680 --> 00:32:20,370 Nós certamente apreciar que a cambio para a carga de traballo que espera 50 676 00:32:20,370 --> 00:32:24,020 de ti, a vida está no camiño Ás veces, se non cinco veces. 677 00:32:24,020 --> 00:32:26,150 E para que isto pode ofrecer lle un pouco de flexibilidade, 678 00:32:26,150 --> 00:32:29,400 estender o prazo de, digamos, un Xoves ó mediodía do venres ao mediodía. 679 00:32:29,400 --> 00:32:33,150 Vexa o currículo ao detalles de implantación do mesmo. 680 00:32:33,150 --> 00:32:34,702 >> Agora, o que agora agarda? 681 00:32:34,702 --> 00:32:36,660 E iso se produciron só para min agora canto tempo 682 00:32:36,660 --> 00:32:38,333 Estou convosco quedan aquí no escenario. 683 00:32:38,333 --> 00:32:39,060 >> [Risas] 684 00:32:39,060 --> 00:32:41,867 >> DAVID J. Malan: Pero nós imos chegar a o remate clímax antes de tempo. 685 00:32:41,867 --> 00:32:43,700 Entón, o que espera en termos dos conxuntos de problemas? 686 00:32:43,700 --> 00:32:47,099 Ben, quizais un teaser do que todos nós fixo o ano pasado cos seus antecesores. 687 00:32:47,099 --> 00:32:49,140 O primeiro conxunto de problemas o ano pasado, introducimos 688 00:32:49,140 --> 00:32:51,630 Cero, unha gráfica linguaxe de programación que 689 00:32:51,630 --> 00:32:54,570 permite programar literalmente por arrastrando e soltando pezas do puzzle, 690 00:32:54,570 --> 00:32:57,220 como estes, que están lembra as construcións 691 00:32:57,220 --> 00:32:59,260 vai ver só unha semana Así, cando trocamos 692 00:32:59,260 --> 00:33:01,870 dun xeito máis tradicional lingua, coñecida como C. 693 00:33:01,870 --> 00:33:03,930 >> O ano pasado, procedeu a este conxunto de problemas, 694 00:33:03,930 --> 00:33:06,720 envolvendo o cifrado, a codificación da información 695 00:33:06,720 --> 00:33:10,410 para evitar que gobernamental ou amigos ' ollos que non quere velo. 696 00:33:10,410 --> 00:33:12,540 Codificado aquí é un mensaxe de que en breve 697 00:33:12,540 --> 00:33:15,740 poderá descifrar ou de-carreira. 698 00:33:15,740 --> 00:33:17,960 >> Breakout era un problema establecido o ano pasado, no que 699 00:33:17,960 --> 00:33:21,530 usalos nova programación atopados habilidades para realmente aplicar 700 00:33:21,530 --> 00:33:24,840 un xogo como wherein-- debe lembrar de childhood-- 701 00:33:24,840 --> 00:33:28,040 o obxectivo era bater o ladrillos que están na parte superior da pantalla 702 00:33:28,040 --> 00:33:30,190 aquí, acumulando marcar ao longo do camiño, 703 00:33:30,190 --> 00:33:35,460 e aplicar os seus propios algoritmos que esta solución, en definitiva 704 00:33:35,460 --> 00:33:37,357 permite que xogue o partido. 705 00:33:37,357 --> 00:33:39,440 Non obstante, ao final do semestre, imos darlle 706 00:33:39,440 --> 00:33:43,470 un dicionario de 143.091 palabras en inglés. 707 00:33:43,470 --> 00:33:46,300 E será desafiado para escribir un programa que 708 00:33:46,300 --> 00:33:50,260 deletrear cheques, documentos, por carga que moitas palabras para a memoria 709 00:33:50,260 --> 00:33:52,300 forma máis eficiente posible. 710 00:33:52,300 --> 00:33:54,240 Xeralmente poñendo vostede contra os seus compañeiros de clase 711 00:33:54,240 --> 00:33:56,610 se optar en algo de reto no cadro de líderes 712 00:33:56,610 --> 00:34:00,090 para ver quen pode utilizar o menor número segundos de tempo de execución, 713 00:34:00,090 --> 00:34:03,550 e o número menor cantidade de megabytes de memoria, 714 00:34:03,550 --> 00:34:08,659 e realmente afinar os seus programas para ser incrible eficiente de recursos non 715 00:34:08,659 --> 00:34:09,820 tempo só. 716 00:34:09,820 --> 00:34:13,239 >> O ano pasado, tamén, miramos para o final do semestre en programación web. 717 00:34:13,239 --> 00:34:16,230 E, de feito, nós imos facelo de novo esta ano con varios conxuntos de problemas, 718 00:34:16,230 --> 00:34:20,290 introducindo-lle as técnicas e a mentalidade coa que pode aplicar 719 00:34:20,290 --> 00:34:23,489 esas habilidades de programación para sitios, sitios dinámicos, 720 00:34:23,489 --> 00:34:26,639 sitios que realmente resolver problemas e se comportan de forma diferente 721 00:34:26,639 --> 00:34:30,620 e simplemente non son estáticos sitios con información estáticas. 722 00:34:30,620 --> 00:34:32,854 >> O proxecto final, en última instancia vai establecer, con todo, 723 00:34:32,854 --> 00:34:34,770 o clímax do curso para os alumnos, que 724 00:34:34,770 --> 00:34:37,228 Será desafiado a aplicar máis calquera cousa de interese 725 00:34:37,228 --> 00:34:40,590 para ti, sempre que de algunha maneira baséase en clases do curso. 726 00:34:40,590 --> 00:34:42,930 >> E como viu no vídeo ao principio, 727 00:34:42,930 --> 00:34:47,340 imos completar o semestre co CS50 hackathon, que se, non familiar, 728 00:34:47,340 --> 00:34:51,420 terá comezo ás 07:00 unha noite e rematará ás 07h00 do día seguinte. 729 00:34:51,420 --> 00:34:53,614 Ao redor de 09:00, imos orde no primeiro xantar. 730 00:34:53,614 --> 00:34:55,489 Ao redor de 01h00, imos orde en segundo cea. 731 00:34:55,489 --> 00:34:57,490 E se aínda está situándose en 5:00, nos 732 00:34:57,490 --> 00:35:00,320 vontade de traslado ti para IHOP no almorzo. 733 00:35:00,320 --> 00:35:04,980 >> O CS50 Fair, pola súa banda, é un evento a que máis de 2.000 profesores, alumnos, 734 00:35:04,980 --> 00:35:07,850 e funcionarios de todo campus veñen a ver as súas realizacións 735 00:35:07,850 --> 00:35:10,150 no curso e na final proxectos e creacións 736 00:35:10,150 --> 00:35:14,960 que crea nos seus portátiles, escritorios, ou quizais mesmo lámpadas de luz. 737 00:35:14,960 --> 00:35:17,340 >> Mentres tanto, o horario de expediente e a estrutura de soporte. 738 00:35:17,340 --> 00:35:20,480 E agora xa sería un mellor momento para causar-lle todo. 739 00:35:20,480 --> 00:35:24,310 >> Horario de atención terá lugar catro noites por semana durante varias horas por noite 740 00:35:24,310 --> 00:35:27,710 con xeralmente 20 a 30 do Os funcionarios do curso de servizo dunha soa vez 741 00:35:27,710 --> 00:35:31,240 para ofrece-lo con íntimo one-on-one oportunidades de apoio 742 00:35:31,240 --> 00:35:33,790 con conxuntos de problemas do curso. 743 00:35:33,790 --> 00:35:36,120 Explicacións tamén será dispoñibles, en especial 744 00:35:36,120 --> 00:35:39,630 para os alumnos menos comfortable-- ou atrévome a dicir menos comfortable-- para quen 745 00:35:39,630 --> 00:35:41,869 horario de oficina non o son máis ambiente acolledor 746 00:35:41,869 --> 00:35:43,660 e, por suposto, non son o máis libre de estrés. 747 00:35:43,660 --> 00:35:47,430 Especialmente cando os prazos están presionando, imos Proativo vincular vostedes mesmos 748 00:35:47,430 --> 00:35:51,440 con un membro do persoal para traballar con nalgún horario regular como as súas necesidades 749 00:35:51,440 --> 00:35:53,850 e súa axenda permite. 750 00:35:53,850 --> 00:35:55,260 >> E o equipo. 751 00:35:55,260 --> 00:36:01,020 Permita-me presentar Davon, Rob, e Gabriel, os xefes deste ano. 752 00:36:01,020 --> 00:36:02,370 Se che gusta de cada dizer-- 753 00:36:02,370 --> 00:36:03,349 >> [Aplausos] 754 00:36:03,349 --> 00:36:03,849 palabra -Un. 755 00:36:03,849 --> 00:36:05,328 [Aplausos] 756 00:36:05,328 --> 00:36:10,270 757 00:36:10,270 --> 00:36:13,220 Davon aquí é o director do curso, que 758 00:36:13,220 --> 00:36:15,730 significa no seu papel a tempo completo el contribúe coa execución 759 00:36:15,730 --> 00:36:18,424 e loxística de CS50. 760 00:36:18,424 --> 00:36:19,340 Davon: Si, ola, persoal. 761 00:36:19,340 --> 00:36:20,965 Vai ver unha morea para min no horario de oficina. 762 00:36:20,965 --> 00:36:22,110 Eu vou estar ensinando seccións. 763 00:36:22,110 --> 00:36:25,150 E se lle tire electrónicos adiante, Eu probablemente vou estar respondendo. 764 00:36:25,150 --> 00:36:27,670 Entón, eu vou ver moitos de vostedes durante todo o semestre. 765 00:36:27,670 --> 00:36:29,890 E benvido ao CS50. 766 00:36:29,890 --> 00:36:38,330 >> DAVID J. Malan: E agora Gabriel, que si era só un calouro do ano pasado, 767 00:36:38,330 --> 00:36:41,820 pero para os últimos dous anos está a funcionar a súa propia versión do CS50 768 00:36:41,820 --> 00:36:44,660 no Brasil, na que baixou todos content-- do curso 769 00:36:44,660 --> 00:36:46,890 que está sendo claramente filmado e posto online-- 770 00:36:46,890 --> 00:36:51,480 para que el puidese traducir-lo para Portugués e, a continuación, ensinar máis de 100 771 00:36:51,480 --> 00:36:54,610 dos seus compañeiros sobre o curso de un par de anos, 772 00:36:54,610 --> 00:36:57,650 ensino na súa lingua nativa currículo do curso. 773 00:36:57,650 --> 00:36:58,964 >> GABRIEL: Ola. 774 00:36:58,964 --> 00:37:00,912 >> [Aplausos] 775 00:37:00,912 --> 00:37:06,669 776 00:37:06,669 --> 00:37:07,710 GABRIEL: Ola, eu son Gabriel. 777 00:37:07,710 --> 00:37:09,340 Eu son o TF cabeza do curso. 778 00:37:09,340 --> 00:37:10,780 E eu espero que vai adorar CS50. 779 00:37:10,780 --> 00:37:12,830 Este é CS50. 780 00:37:12,830 --> 00:37:14,697 >> DAVID J. Malan: Agora para Rob. 781 00:37:14,697 --> 00:37:15,780 Oh, quere introdución? 782 00:37:15,780 --> 00:37:16,696 >> ROB: Non, eu non sei. 783 00:37:16,696 --> 00:37:18,225 [Risas] 784 00:37:18,225 --> 00:37:19,475 DAVID J. Malan: E Rob Boden. 785 00:37:19,475 --> 00:37:22,300 [Risas] 786 00:37:22,300 --> 00:37:23,800 ROB: Ola, eu son Rob. 787 00:37:23,800 --> 00:37:27,220 Este é o quinto ano involucrada co curso. 788 00:37:27,220 --> 00:37:29,220 Todos os anos, é só un mellor e mellor clase, 789 00:37:29,220 --> 00:37:31,550 Entón vostedes son claramente Vai ser incrible. 790 00:37:31,550 --> 00:37:33,181 Espero que todos divertirse con el. 791 00:37:33,181 --> 00:37:34,430 Eu estou indo a divertirse con el. 792 00:37:34,430 --> 00:37:36,670 Entón ve-lo arredor. 793 00:37:36,670 --> 00:37:38,445 >> DAVID J. Malan: E o tempo non vai permitir US-- 794 00:37:38,445 --> 00:37:39,670 >> [Aplausos] 795 00:37:39,670 --> 00:37:41,661 >> O tempo non permítenos presentar todos 796 00:37:41,661 --> 00:37:44,660 sobre o escenario e todos os seus compañeiros que están a mercar clases hoxe. 797 00:37:44,660 --> 00:37:47,390 Pero permítame presentar Belinda e CS50 enigma 798 00:37:47,390 --> 00:37:49,550 Day, que agarda esta próximo sábado, o que 799 00:37:49,550 --> 00:37:51,800 é o primeiro da eventos de grande escala do curso. 800 00:37:51,800 --> 00:37:54,300 >> Este en particular significado para martelar a punto 801 00:37:54,300 --> 00:37:57,580 que a informática é, en definitiva non sobre a programación, senón 802 00:37:57,580 --> 00:37:59,280 sobre a resolución de problemas de forma máis xeral. 803 00:37:59,280 --> 00:38:01,450 E Enigma do día, como vai ver, lle vai traer 804 00:38:01,450 --> 00:38:04,207 e os seus compañeiros together-- Esperamos que este sábado. 805 00:38:04,207 --> 00:38:04,961 >> Belinda: Aceptar. 806 00:38:04,961 --> 00:38:05,750 Ola, persoal. 807 00:38:05,750 --> 00:38:06,740 Entón, grazas. 808 00:38:06,740 --> 00:38:10,120 Así como o noso ilustre capitán dixo, Belinda do meu nome. 809 00:38:10,120 --> 00:38:12,100 Eu son un estudante de segundo ano en Quincy House. 810 00:38:12,100 --> 00:38:15,730 >> Eu, como vostedes, levou CS50 ano pasado, realmente adorei. 811 00:38:15,730 --> 00:38:17,960 Eu teño un fraquinho por vostedes na terceira fila. 812 00:38:17,960 --> 00:38:21,384 E teño orgullo de dicir, eu son agora nunha relación serio 813 00:38:21,384 --> 00:38:22,300 con CS50 [inaudível]. 814 00:38:22,300 --> 00:38:22,799 Está ben. 815 00:38:22,799 --> 00:38:26,140 Esa foi a miña versión coxo dunha broma. 816 00:38:26,140 --> 00:38:28,320 >> Sexa como sexa, así que seguir adiante, só quería invitar 817 00:38:28,320 --> 00:38:31,439 vostedes todos ao i-lab ou Urticaria HBS. 818 00:38:31,439 --> 00:38:33,730 Nós imos ter Quebra-Day 12: 00-03: 00. 819 00:38:33,730 --> 00:38:37,680 E é unha grande oportunidade para vostede caras para coñecer os seus compañeiros amigos CS, 820 00:38:37,680 --> 00:38:42,780 resolver algúns enigmas non-CS, como capitán mencionado, e tamén comer algún alimento libre, 821 00:38:42,780 --> 00:38:46,910 gañar algúns premios incribles, como tarxetas de agasallo, $ 75 por persoa, 822 00:38:46,910 --> 00:38:48,400 e também-- o que era? 823 00:38:48,400 --> 00:38:49,540 Wii Ou é algo así? 824 00:38:49,540 --> 00:38:50,333 Wii U? 825 00:38:50,333 --> 00:38:51,040 Si. 826 00:38:51,040 --> 00:38:52,330 Para o noso sorteo. 827 00:38:52,330 --> 00:38:52,830 Incrible. 828 00:38:52,830 --> 00:38:54,310 Entón, eu vou ir por aquí despois da aula. 829 00:38:54,310 --> 00:38:56,770 E se vós ten algunha preguntas, deixe-me saber. 830 00:38:56,770 --> 00:38:59,980 >> DAVID J. Malan: E vai ver, ademais iso non hai nada que facer hoxe. 831 00:38:59,980 --> 00:39:01,920 O primeiro conxunto de problemas vai saír venres. 832 00:39:01,920 --> 00:39:05,420 Pero para traer a casa hoxe, gustaríame presentar-lle máis especificamente un 833 00:39:05,420 --> 00:39:09,080 membro do equipo, Colton Ogden aquí, cuxas mans están agora 834 00:39:09,080 --> 00:39:12,250 protexido por riba de ti con este controlador MIDI 835 00:39:12,250 --> 00:39:15,170 para martelar o punto máis que a informática, tamén, 836 00:39:15,170 --> 00:39:19,130 ten aplicabilidade moito máis alá da enxeñería e talo e ciencia da computación en si, 837 00:39:19,130 --> 00:39:22,890 estendéndose até mesmo a ámbitos como a música. 838 00:39:22,890 --> 00:39:30,590 >> Colton foi xentilmente offered-- Pensei un deles estaba indo a fixar o enfoque. 839 00:39:30,590 --> 00:39:34,400 Andrew, se puidésemos convocar foco aquí só por un momento. 840 00:39:34,400 --> 00:39:36,780 >> O Colton fixo con antelación é o programa 841 00:39:36,780 --> 00:39:40,345 este dispositivo, esta almofada de botóns que ve na imaxe aquí enriba, 842 00:39:40,345 --> 00:39:42,470 como un controlador MIDI, en que cada un destes botóns 843 00:39:42,470 --> 00:39:47,080 está conectado a unha nota musical particular ou un son, máis xeralmente unha gravación, 844 00:39:47,080 --> 00:39:50,445 de tal xeito que ao xogar os patróns de estes botóns, moi parecido os patróns de bits, 845 00:39:50,445 --> 00:39:52,620 pode representar outro conceptos de nivel superior. 846 00:39:52,620 --> 00:39:56,750 Será que vai ser capaz, en última instancia para levar a casa hoxe? 847 00:39:56,750 --> 00:39:59,540 Sen máis delongas, se poderiamos diminuír as luces, 848 00:39:59,540 --> 00:40:03,145 e conectar a pantalla detrás Colton. 849 00:40:03,145 --> 00:40:03,865 >> Audiencia: Woo! 850 00:40:03,865 --> 00:40:06,090 >> David J. Malan: Este é CS50. 851 00:40:06,090 --> 00:40:10,518 >> [MÚSICA DE XOGO] 852 00:40:10,518 --> 00:42:46,018 853 00:42:46,018 --> 00:42:49,420 >> [Aplausos] 854 00:42:49,420 --> 00:42:54,766 855 00:42:54,766 --> 00:42:56,450 >> Isto é todo para CS50. 856 00:42:56,450 --> 00:42:57,950 Imos velo venres. 857 00:42:57,950 --> 00:42:59,890 Algúns bolo espera por vostede no transepto. 858 00:42:59,890 --> 00:43:04,046 859 00:43:04,046 --> 00:43:08,850 >> [MÚSICA DE XOGO] 860 00:43:08,850 --> 00:45:49,227