1 00:00:00,000 --> 00:00:03,440 >> [REPRODUCCIÓN DE MÚSICA] 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 es CS50, Introducción de la Universidad de Harvard 6 00:02:09,669 --> 00:02:12,370 al intelectual empresas de ciencias de la computación 7 00:02:12,370 --> 00:02:14,180 y el arte de la programación. 8 00:02:14,180 --> 00:02:17,530 Ahora bien, si usted está entre aquellos que todos los años están sentados aquí 9 00:02:17,530 --> 00:02:21,450 con un poco de nervios en su mente, tal que usted no piensa que usted pertenece aquí, 10 00:02:21,450 --> 00:02:24,270 usted piensa que la mayoría cualquier persona que se sienta a tu alrededor 11 00:02:24,270 --> 00:02:27,730 sabe mucho más de lo que, es de hecho más cómodo de lo que en la computadora 12 00:02:27,730 --> 00:02:30,430 la ciencia o los ordenadores más en general, se dan cuenta 13 00:02:30,430 --> 00:02:36,140 que el 78% de los estudiantes que ahora tomar CS50 no tienen experiencia previa. 14 00:02:36,140 --> 00:02:39,570 >> De hecho, hay 100 puntos no en la pantalla, 78 de los cuales 15 00:02:39,570 --> 00:02:43,540 son de color verde sólido, que significa, si usted está entre ese grupo demográfico, 16 00:02:43,540 --> 00:02:46,420 están en muy buena compañía aquí en adelante. 17 00:02:46,420 --> 00:02:50,320 Y si usted está en su lugar entre los 22% de los estudiantes CS50 que hacen de hecho 18 00:02:50,320 --> 00:02:53,920 tener experiencia previa, ya sea en escuela secundaria o algún otro programa, 19 00:02:53,920 --> 00:02:56,430 darse cuenta de que, también, ser impugnada en el curso. 20 00:02:56,430 --> 00:02:59,930 >> No sólo tenemos diferentes pistas para los estudiantes menos cómodo y más 21 00:02:59,930 --> 00:03:03,789 cómodo por igual en secciones, También han llamado ediciones de hackers 22 00:03:03,789 --> 00:03:06,080 de más boletines de problemas que pondrá a prueba a aquellos estudiantes 23 00:03:06,080 --> 00:03:09,650 con esa experiencia adicional para explorar material similar 24 00:03:09,650 --> 00:03:12,140 pero desde un más perspectiva sofisticado. 25 00:03:12,140 --> 00:03:13,900 >> Pero, ¿qué es la informática? 26 00:03:13,900 --> 00:03:17,750 Pues bien, en última instancia, lo que va a cuestión a medida que explora este campo no es 27 00:03:17,750 --> 00:03:20,500 tanto donde terminas en relación con sus compañeros de clase, 28 00:03:20,500 --> 00:03:25,350 pero donde tú mismo terminan en semana 12 frente a donde usted comienza aquí 29 00:03:25,350 --> 00:03:26,720 en la semana cero. 30 00:03:26,720 --> 00:03:31,850 Ahora ordenador science-- bien, vamos a llamarla la ciencia de computation-- 31 00:03:31,850 --> 00:03:35,910 donde la computación es realmente sólo una forma elegante de decir, teniendo alguna entrada, 32 00:03:35,910 --> 00:03:39,460 producir alguna salida, y hacerlo por los algoritmos que se ejecutan, 33 00:03:39,460 --> 00:03:43,700 conjuntos de instrucciones para resolver algún problema en los insumos 34 00:03:43,700 --> 00:03:48,460 con el fin de producir una salida o solución en la que usted está interesado. 35 00:03:48,460 --> 00:03:51,310 >> Así que recientemente hemos tenido ocasión para viajar fuera 36 00:03:51,310 --> 00:03:53,170 a California para reunirse con una alumna. 37 00:03:53,170 --> 00:03:54,650 Su nombre es Susan Wojcicki. 38 00:03:54,650 --> 00:03:57,190 Y a ella le gustaría hablar a usted aquí en video 39 00:03:57,190 --> 00:04:01,690 para dar testimonio de cuán aplicable incluso sólo una muestra de la computadora 40 00:04:01,690 --> 00:04:03,770 la ciencia en la nivel introductorio puede ser. 41 00:04:03,770 --> 00:04:06,870 Incluso si usted no va a perseguir ciencias de la computación como un campo, 42 00:04:06,870 --> 00:04:09,330 o incluso de ingeniería, o STEM más en general, 43 00:04:09,330 --> 00:04:12,360 verás, de hecho, cómo un determinado Por supuesto lo influyó en su vida. 44 00:04:12,360 --> 00:04:16,630 Y ella sólo lo tomamos cuando ella era estudiante de último año aquí en la Universidad de Harvard. 45 00:04:16,630 --> 00:04:19,482 >> Si pudiéramos apagar las luces para Susan. 46 00:04:19,482 --> 00:04:20,690 SUSAN Wojcicki: Hola, mundo. 47 00:04:20,690 --> 00:04:22,100 Soy Susan Wojcicki. 48 00:04:22,100 --> 00:04:24,110 Soy el CEO de YouTube. 49 00:04:24,110 --> 00:04:29,150 Y tomé CS50 cuando era su último año en la Universidad de Harvard en 1990. 50 00:04:29,150 --> 00:04:31,220 Yo estaba en realidad una historia y gran literatura. 51 00:04:31,220 --> 00:04:36,760 >> Y mi tercer verano, Me di cuenta de que tal vez 52 00:04:36,760 --> 00:04:39,060 querido aprender algo acerca de las computadoras. 53 00:04:39,060 --> 00:04:40,930 Y así, he vuelto. 54 00:04:40,930 --> 00:04:42,500 Tomé CS50. 55 00:04:42,500 --> 00:04:46,940 Fue difícil, pero fue la más clase increíble que tomé. 56 00:04:46,940 --> 00:04:49,630 >> Cambió mi forma de pensar acerca de todo. 57 00:04:49,630 --> 00:04:55,810 Y cuando me gradué de la Universidad de Harvard en 1990, fui a Silicon Valley. 58 00:04:55,810 --> 00:04:57,140 Y tengo un trabajo. 59 00:04:57,140 --> 00:05:00,150 Y he estado trabajando en tecnología desde entonces. 60 00:05:00,150 --> 00:05:02,650 DAVID J. MALAN: Ahora lo que Susan no mencionó en este video, 61 00:05:02,650 --> 00:05:05,340 que en realidad fue en su garaje que el propio Google era 62 00:05:05,340 --> 00:05:07,420 fundada por Larry y Sergey. 63 00:05:07,420 --> 00:05:11,169 >> Ahora también llegamos a nuestros amigos en code.org, una organización que 64 00:05:11,169 --> 00:05:13,460 en el último año ha sido hacer que la gente en particular 65 00:05:13,460 --> 00:05:16,520 entusiasmado con la informática y programación, en particular. 66 00:05:16,520 --> 00:05:20,590 Pero vale la pena señalar que la programación No es ciencia de la computación per se. 67 00:05:20,590 --> 00:05:22,090 La informática no es la programación. 68 00:05:22,090 --> 00:05:24,560 Más bien la programación es sólo una tool-- con la que todos ustedes 69 00:05:24,560 --> 00:05:27,510 será muy bien familiarizado por end-- del semestre 70 00:05:27,510 --> 00:05:30,650 de tal manera que no se puede aplicar sólo para cursos futuros en CS 71 00:05:30,650 --> 00:05:33,670 pero a cualesquiera campos de donde vienes, en las humanidades, 72 00:05:33,670 --> 00:05:36,090 ciencias sociales, naturales ciencia, o similares. 73 00:05:36,090 --> 00:05:39,740 >> En efecto, permitir que algunos otros ex alumnos y sus colegas 74 00:05:39,740 --> 00:05:43,400 hablar con la aplicabilidad del campo que le espera. 75 00:05:43,400 --> 00:05:52,340 76 00:05:52,340 --> 00:05:57,350 >> BILL GATES: Yo tenía 13 años cuando me primero tiene acceso a una computadora. 77 00:05:57,350 --> 00:06:00,485 >> Jack Dorsey: Mis padres me comprado un Macintosh en 1984 78 00:06:00,485 --> 00:06:01,640 cuando yo tenía ocho años de edad. 79 00:06:01,640 --> 00:06:02,990 >> Mark Zuckerberg: yo era en el sexto grado. 80 00:06:02,990 --> 00:06:04,670 >> ALTAVOZ 1: aprendí a codificar en la universidad. 81 00:06:04,670 --> 00:06:09,080 >> Ruchi Sanghvi: primer año de carrera, primero semestre, Introducción a la Informática. 82 00:06:09,080 --> 00:06:11,850 >> BILL GATES: Escribí un programa que jugó tic-tac-toe. 83 00:06:11,850 --> 00:06:14,100 >> DREW HOUSTON: Creo que era inicios muy humildes. 84 00:06:14,100 --> 00:06:16,370 Creo que el primer programa Me escribió pregunté cosas como, 85 00:06:16,370 --> 00:06:17,820 ¿Cuál es tu color favorito? 86 00:06:17,820 --> 00:06:18,696 O ¿cuántos años tienes? 87 00:06:18,696 --> 00:06:21,070 ELENA SILENOK: La primera vez que aprendió cómo hacer un círculo verde 88 00:06:21,070 --> 00:06:23,670 y un cuadrado rojo aparece en la pantalla. 89 00:06:23,670 --> 00:06:25,420 Gabe Newell: La primera tiempo que en realidad tenía 90 00:06:25,420 --> 00:06:27,360 algo venga y diga, hola, mundo. 91 00:06:27,360 --> 00:06:29,710 E hice un ordenador haga eso. 92 00:06:29,710 --> 00:06:30,850 Fue simplemente impresionante. 93 00:06:30,850 --> 00:06:33,224 >> Mark Zuckerberg: Aprender al programa de no comenzar 94 00:06:33,224 --> 00:06:35,450 como querer aprender todo de la informática 95 00:06:35,450 --> 00:06:38,630 o tratando de dominar este disciplina ni nada de eso. 96 00:06:38,630 --> 00:06:41,591 Simplemente comenzó porque yo quería hacer una cosa simple. 97 00:06:41,591 --> 00:06:44,340 Quería hacer algo que fue divertido para mí y mis hermanas. 98 00:06:44,340 --> 00:06:46,399 >> Y escribí este pequeño programa. 99 00:06:46,399 --> 00:06:48,440 Y entonces, básicamente, sólo añadido un poco a ella. 100 00:06:48,440 --> 00:06:49,930 Y luego cuando lo necesitaba para aprender algo nuevo, 101 00:06:49,930 --> 00:06:52,210 Lo busqué, ya sea en un libro o en Internet, 102 00:06:52,210 --> 00:06:53,240 y después se añadió un poco a ella. 103 00:06:53,240 --> 00:06:56,300 >> DREW HOUSTON: En realidad no es a diferencia de tocar un instrumento o algo 104 00:06:56,300 --> 00:07:00,007 o jugar un deporte. 105 00:07:00,007 --> 00:07:01,090 DAVID J. MALAN: Muy bien. 106 00:07:01,090 --> 00:07:04,120 Así que veamos ahora en realidad bucear un poco más profundo. 107 00:07:04,120 --> 00:07:07,430 ¿Cuáles son estas entradas y salidas que estamos hablando aquí? 108 00:07:07,430 --> 00:07:09,110 >> Así que ¿qué tal algo sencillo? 109 00:07:09,110 --> 00:07:12,120 Usted probablemente sabe, incluso si usted tiene ninguna familiaridad con la informática 110 00:07:12,120 --> 00:07:16,570 alguno, que las computadoras utilizan de alguna manera y entiende sólo ceros y unos. 111 00:07:16,570 --> 00:07:20,500 Pero, ¿cómo puede posiblemente ser que teniendo en cuenta lo computadoras de escritorio y computadoras portátiles por igual tanto de la actualidad 112 00:07:20,500 --> 00:07:21,280 puede hacer? 113 00:07:21,280 --> 00:07:24,310 >> El ADN del día, el único alfabeto que entiendan 114 00:07:24,310 --> 00:07:26,410 es un cero o un uno. 115 00:07:26,410 --> 00:07:27,470 Bueno, considere esto. 116 00:07:27,470 --> 00:07:30,840 Nosotros, los humanos, tendemos a utilizar el sistema decimal. "Diciembre", es decir 10. 117 00:07:30,840 --> 00:07:33,970 Y eso es 10 porque tenemos 10 dígitos, del 0 al nueve. 118 00:07:33,970 --> 00:07:36,180 >> Ahora ordenadores, por el contrario, tienden a utilizar binario. 119 00:07:36,180 --> 00:07:37,270 "Bi", que significa dos. 120 00:07:37,270 --> 00:07:39,560 Así que ellos tienden a usar sólo cero y uno. 121 00:07:39,560 --> 00:07:42,680 Pero resulta, que incluso sólo con ceros y unos, que 122 00:07:42,680 --> 00:07:45,900 es suficientemente grande alfabeto con la que representar más 123 00:07:45,900 --> 00:07:48,490 cualquier pieza de datos que desea, si se trata de un número, 124 00:07:48,490 --> 00:07:52,100 si se trata de una carta, ya sea un gráfico o vídeo en la pantalla. 125 00:07:52,100 --> 00:07:57,140 >> Consideremos, por ejemplo, cómo los seres humanos típicamente interpretar este número aquí. 126 00:07:57,140 --> 00:08:00,010 Esto es sólo tres dígitos, uno, dos, tres. 127 00:08:00,010 --> 00:08:04,570 Pero sabemos que este número innatamente ahora como 123. 128 00:08:04,570 --> 00:08:05,510 Pero ¿por qué es eso? 129 00:08:05,510 --> 00:08:07,570 >> Bueno, si usted piensa de nuevo que tal vez la escuela primaria, 130 00:08:07,570 --> 00:08:11,700 es probable que se les enseñó a pensar estos números como estar en columnas, 131 00:08:11,700 --> 00:08:14,700 donde el uno es en los cientos lugar, los dos está en el lugar de las decenas, 132 00:08:14,700 --> 00:08:16,360 y los tres es en el lugar de las unidades. 133 00:08:16,360 --> 00:08:17,790 ¿Por qué es que realmente útil? 134 00:08:17,790 --> 00:08:19,665 Bueno, pensar en el super simple aritmética 135 00:08:19,665 --> 00:08:22,219 que todos hemos sido haciendo desde hace años. 136 00:08:22,219 --> 00:08:24,510 Efectivamente, si tienes uno en el lugar de las centenas, 137 00:08:24,510 --> 00:08:29,610 usted hace la matemáticas rápida 100 por 1 más 10 veces 2-- 138 00:08:29,610 --> 00:08:33,059 porque dos está en las decenas lugar-- plus 1 veces 3-- 139 00:08:33,059 --> 00:08:34,830 porque tres es en el lugar de las unidades. 140 00:08:34,830 --> 00:08:37,039 Así que, por supuesto, si nos realmente multiplicar esto, 141 00:08:37,039 --> 00:08:39,600 lo que realmente estamos representando con éste pattern-- 142 00:08:39,600 --> 00:08:46,150 dos tres-- es 100 más 20 más 3, que, por supuesto, es 123. 143 00:08:46,150 --> 00:08:51,130 >> Ahora binario, y las computadoras realmente, fundamentalmente hablar el mismo idioma 144 00:08:51,130 --> 00:08:51,680 lo que hacemos. 145 00:08:51,680 --> 00:08:53,400 Sólo tienen un alfabeto más pequeño. 146 00:08:53,400 --> 00:08:57,100 Así que los ordenadores sólo tienen ceros y los que disponen. 147 00:08:57,100 --> 00:09:02,500 Así, mientras que los seres humanos tienen esencialmente potencias de 10 en cada uno de estos places-- 148 00:09:02,500 --> 00:09:06,810 10 a la cero, 10 a la una, diez a los dos, que le da 110 y 100 149 00:09:06,810 --> 00:09:07,700 respectivamente. 150 00:09:07,700 --> 00:09:12,140 >> Debido a que los ordenadores sólo tienen dos valores que puedan entender, cero y uno, 151 00:09:12,140 --> 00:09:16,600 tienen que utilizar diferentes valores de en estas columnas, una, dos, cuatro. 152 00:09:16,600 --> 00:09:20,480 Y si seguimos adelante, ocho, 16, 32, 64, y así sucesivamente. 153 00:09:20,480 --> 00:09:24,220 Pero el patrón y el mentalidad es exactamente el mismo. 154 00:09:24,220 --> 00:09:27,340 >> Así por esta lógica, cualquier persona, ¿cómo Me ocupo de lo que representa el número 155 00:09:27,340 --> 00:09:28,530 uno en binario? 156 00:09:28,530 --> 00:09:33,080 Si nunca has pensado en esto antes, ¿qué dice tu instinto? 157 00:09:33,080 --> 00:09:33,777 >> AUDIENCIA: Una. 158 00:09:33,777 --> 00:09:34,610 DAVID J. MALAN: Una. 159 00:09:34,610 --> 00:09:35,660 Exactamente. 160 00:09:35,660 --> 00:09:38,100 Sólo necesitamos un uno en la los lugar porque los ceros 161 00:09:38,100 --> 00:09:40,610 suficiente para darnos ni un cuatro ni un dos. 162 00:09:40,610 --> 00:09:42,440 Así que una veces uno es igual a uno. 163 00:09:42,440 --> 00:09:43,940 Ahora las cosas se ponen un poco interesante. 164 00:09:43,940 --> 00:09:46,830 Si yo quiero representar en binario el número dos-- pero, 165 00:09:46,830 --> 00:09:49,790 de nuevo, incluso si usted nunca ha hablado este idioma antes, 166 00:09:49,790 --> 00:09:54,680 ¿cómo nos representamos en binario el valor de los seres humanos conocen como dos? 167 00:09:54,680 --> 00:09:55,570 Cero uno cero. 168 00:09:55,570 --> 00:09:57,620 Sólo hay que poner el uno en el la columna que lo desee. 169 00:09:57,620 --> 00:09:59,560 >> Ahora se está haciendo bastante fácil probablemente ahora. 170 00:09:59,560 --> 00:10:02,950 Así que si quiero representar tres-- no hay ninguna columna de tres. 171 00:10:02,950 --> 00:10:06,770 Así que, de nuevo, ahora puedo agregar estos valores juntos poniendo un uno aquí. 172 00:10:06,770 --> 00:10:10,320 Así que 2 veces 1 más 1 veces 1 es, por supuesto, 3. 173 00:10:10,320 --> 00:10:13,480 >> Ahora las cosas se ponen un poco de diversión en que los que ahora se convierten en ceros. 174 00:10:13,480 --> 00:10:15,480 Y para representar cuatro, me sale esto. 175 00:10:15,480 --> 00:10:19,310 Y si incrementamos lentamente aquí-- que habría cinco. 176 00:10:19,310 --> 00:10:20,700 Esto sería seis. 177 00:10:20,700 --> 00:10:22,100 Esto sería siete. 178 00:10:22,100 --> 00:10:25,310 >> Pero ahora me parece que tienen ejecutar en un problema. 179 00:10:25,310 --> 00:10:30,520 ¿Cómo podría yo ir sobre lo que representa eight-- sería el siguiente valor. 180 00:10:30,520 --> 00:10:31,900 Sí, por lo que necesitamos un nuevo bits. 181 00:10:31,900 --> 00:10:33,899 Y, de hecho, si no tienes escuchado esta frase antes, 182 00:10:33,899 --> 00:10:37,380 pedacitos, eso es sólo la abreviatura de dígito binario, cero o uno. 183 00:10:37,380 --> 00:10:41,520 >> Y así sucede que representar a sólo tres de esos pedacitos aquí. 184 00:10:41,520 --> 00:10:44,900 Pero si tuviera una forma de no almacenar tres diferentes bits, pero cuatro, 185 00:10:44,900 --> 00:10:47,250 seguramente yo podría representar ocho, y luego nueve, y luego 186 00:10:47,250 --> 00:10:49,400 10, e incluso más y más alto. 187 00:10:49,400 --> 00:10:52,140 >> Pero que luego llama en tela de juicio la forma en que podemos 188 00:10:52,140 --> 00:10:54,540 ir sobre la representación de éstos las cosas en el primer lugar. 189 00:10:54,540 --> 00:10:56,950 Es una cosa para dibujar ellos aquí en una diapositiva, 190 00:10:56,950 --> 00:11:00,660 pero ¿cómo representarlos si usted es un dispositivo mecánico? 191 00:11:00,660 --> 00:11:04,390 Lo que está haciendo un equipo para representar a las entradas y salidas que 192 00:11:04,390 --> 00:11:09,020 fundamentalmente definir cómputo al final del día? 193 00:11:09,020 --> 00:11:12,090 >> Bueno, ¿qué pasa con algo super simple como esto? 194 00:11:12,090 --> 00:11:13,200 Es sólo una bombilla. 195 00:11:13,200 --> 00:11:15,460 Y puedo activar este bombilla para ir en 196 00:11:15,460 --> 00:11:17,920 girando algo de electricidad en y permitiendo que los electrones 197 00:11:17,920 --> 00:11:22,585 a fluir a través, que cambia su estado o su valor, por así decirlo. 198 00:11:22,585 --> 00:11:24,460 Por ejemplo, este es una lámpara de escritorio de la vieja escuela 199 00:11:24,460 --> 00:11:27,250 aquí con uno de tales bombilla de luz en el interior de la misma. 200 00:11:27,250 --> 00:11:29,940 Y en este momento no es realmente haciendo algo útil. 201 00:11:29,940 --> 00:11:32,680 Pero tan pronto como me conecto a un enchufe eléctrico 202 00:11:32,680 --> 00:11:36,390 y después utilizar esta switch-- o incluso podemos llamarlo un transistor 203 00:11:36,390 --> 00:11:39,970 o pensar en él como tal-- Ahora puedo representar tanto 204 00:11:39,970 --> 00:11:44,120 este valor, donde la bombilla de obviamente, fuera de, o este valor. 205 00:11:44,120 --> 00:11:46,060 Este valor o este valor. 206 00:11:46,060 --> 00:11:47,520 Este valor y así sucesivamente. 207 00:11:47,520 --> 00:11:51,220 >> Así interior de una computadora, presumiblemente, son piezas mucho más pequeñas de hardware, 208 00:11:51,220 --> 00:11:52,970 pero que al final del día simplemente tener 209 00:11:52,970 --> 00:11:55,360 utilizar electricity-- quizás capturar it-- 210 00:11:55,360 --> 00:11:59,730 y luego mantener, ya sea algo o mantener algo fuera. 211 00:11:59,730 --> 00:12:02,021 Por supuesto, esto no es particularmente interesante que hacer 212 00:12:02,021 --> 00:12:03,270 con una sola bombilla. 213 00:12:03,270 --> 00:12:06,726 >> De hecho, ¿qué altura puedo contar en binario con esta lámpara de escritorio aquí? 214 00:12:06,726 --> 00:12:07,420 >> AUDIENCIA: Una. 215 00:12:07,420 --> 00:12:08,545 >> DAVID J. MALAN: Uno, ¿no? 216 00:12:08,545 --> 00:12:11,020 Necesito más lámparas de escritorio si realmente quiere contar más. 217 00:12:11,020 --> 00:12:12,210 Pero podemos hacer algo mejor que eso. 218 00:12:12,210 --> 00:12:14,460 Debido a que las bombillas que hemos puesto en estas cosas 219 00:12:14,460 --> 00:12:17,730 son bombillas realmente elegantes que antaño le permitía. 220 00:12:17,730 --> 00:12:20,310 Y en realidad son bombillas conectadas en red. 221 00:12:20,310 --> 00:12:23,160 Y racimos de empresas hacer estas cosas en estos días. 222 00:12:23,160 --> 00:12:25,190 >> Pero resulta que este en particular 223 00:12:25,190 --> 00:12:27,680 viene con una característica mediante el cual usted puede cambiar sus colores. 224 00:12:27,680 --> 00:12:30,810 Así, por ejemplo, si usted adornado su habitación de la residencia 225 00:12:30,810 --> 00:12:33,200 con algunos de ellos la luz bombillas, dependiendo de su estado de ánimo, 226 00:12:33,200 --> 00:12:35,366 dependiendo de quién entra, dependiendo del clima, 227 00:12:35,366 --> 00:12:37,360 dependiendo de la hora del día, en realidad se puede 228 00:12:37,360 --> 00:12:40,300 cambiar los colores de las bombillas de su habitación. 229 00:12:40,300 --> 00:12:43,740 Y eso es porque este la luz bulbos y otros como él tienen lo que hay 230 00:12:43,740 --> 00:12:48,010 llamada API, una aplicación interfaz de programación, que 231 00:12:48,010 --> 00:12:50,920 Es un tema con el cual usted estará bien familiarizado con el final del semestre. 232 00:12:50,920 --> 00:12:53,710 >> Y esto es sólo una suposición, manera críptica de decir, 233 00:12:53,710 --> 00:12:57,570 usted puede programar este la luz bombillas para hacer su hacer una oferta. 234 00:12:57,570 --> 00:13:00,360 Usted puede enviar mensajes al igual que usted, un ser humano, 235 00:13:00,360 --> 00:13:03,640 puede enviar un mensaje a un servidor web diciendo dame noticias de hoy 236 00:13:03,640 --> 00:13:05,110 o darme mi correo electrónico. 237 00:13:05,110 --> 00:13:08,010 >> Usted puede enviar más arcana mensajes a estas bombillas 238 00:13:08,010 --> 00:13:09,700 decir, encender y apagar. 239 00:13:09,700 --> 00:13:11,370 Pero eso no es tan interesante. 240 00:13:11,370 --> 00:13:14,280 Se puede decir, encienda el rojo, encienda verde, encienda azul, 241 00:13:14,280 --> 00:13:15,990 todos con la misma bombilla. 242 00:13:15,990 --> 00:13:20,990 E incluso se puede, con un poco más inteligente, dicen, entrégate a azul 243 00:13:20,990 --> 00:13:24,710 cuando es un día sombrío exterior, por ejemplo. 244 00:13:24,710 --> 00:13:27,910 En realidad, puede parchear en una API de tiempo y saber 245 00:13:27,910 --> 00:13:32,260 cómo está el tiempo, o el tiempo de días, u otros factores desencadenantes. 246 00:13:32,260 --> 00:13:35,550 >> Así, de hecho, dos de los Propios miembros del personal del CS50, 247 00:13:35,550 --> 00:13:38,827 Dan Bradley y Ansel Duff aquí, amablemente procuró 248 00:13:38,827 --> 00:13:40,410 nosotros un montón de estas bombillas. 249 00:13:40,410 --> 00:13:42,910 Y construyeron de CS50 primeros bulbos nunca binarios, 250 00:13:42,910 --> 00:13:46,850 donde hemos representado aquí-- con estos pequeños magnets-- juguetón 251 00:13:46,850 --> 00:13:49,780 los diversos marcadores de posición que nosotros aludido hace sólo un poco. 252 00:13:49,780 --> 00:13:52,572 >> Así que hasta aquí es el las lugar, dos, cuatro. 253 00:13:52,572 --> 00:13:54,030 Y no hemos visto más que eso. 254 00:13:54,030 --> 00:13:55,613 Pero, por supuesto, que son potencias de dos. 255 00:13:55,613 --> 00:13:59,490 Ocho, 16, 32, 64, y 128. 256 00:13:59,490 --> 00:14:03,320 Así que si yo ahora quiero ser un poco más lujoso que el uso de este interruptor de la vieja escuela, 257 00:14:03,320 --> 00:14:07,310 Que tengo aquí en este iPad una interfaz super simple 258 00:14:07,310 --> 00:14:10,440 que Dan Bradley, ex estudiante y compañero que ahora enseña, 259 00:14:10,440 --> 00:14:13,510 programado usando algo de HTML y JavaScript, que 260 00:14:13,510 --> 00:14:15,685 son marcas y programación idiomas respectivamente. 261 00:14:15,685 --> 00:14:17,560 Y usted puede probablemente ver-- incluso en la parte posterior-- 262 00:14:17,560 --> 00:14:21,670 hay una gran ventaja y un gran inconveniente, más un botón para cada una de estas bombillas. 263 00:14:21,670 --> 00:14:25,740 Y lo que esto me va a permitir a no es, por ejemplo, haga clic en el signo más 264 00:14:25,740 --> 00:14:28,250 y ahora representan, de Por supuesto, ¿qué número? 265 00:14:28,250 --> 00:14:28,750 Una. 266 00:14:28,750 --> 00:14:30,220 Y puedo golpear de nuevo. 267 00:14:30,220 --> 00:14:31,480 Dos. 268 00:14:31,480 --> 00:14:32,800 Tres. 269 00:14:32,800 --> 00:14:33,950 Cuatro. 270 00:14:33,950 --> 00:14:35,200 Cinco. 271 00:14:35,200 --> 00:14:36,360 Seis. 272 00:14:36,360 --> 00:14:36,880 Siete. 273 00:14:36,880 --> 00:14:40,740 >> Y aquí ahora tenemos que rollover, pero tenemos un cuarto bit de este tiempo, 274 00:14:40,740 --> 00:14:42,180 así que ahora tenemos ocho. 275 00:14:42,180 --> 00:14:44,000 Así que podríamos hacer esto desde hace bastante tiempo. 276 00:14:44,000 --> 00:14:46,530 De hecho, en un aparte, qué tan alto podríamos contar? 277 00:14:46,530 --> 00:14:48,318 ¿Alguien? 278 00:14:48,318 --> 00:14:49,270 >> AUDIENCIA: 255. 279 00:14:49,270 --> 00:14:51,420 >> DAVID J. MALAN: 255, ¿verdad? 280 00:14:51,420 --> 00:14:54,900 No se preocupe demasiado acerca de los cálculos por ahora, pero eso es un número bastante decente. 281 00:14:54,900 --> 00:14:59,140 Pero en realidad no sólo obligado cuántas piezas de información, 282 00:14:59,140 --> 00:15:01,760 como una carta, o un gráfico que podríamos representar. 283 00:15:01,760 --> 00:15:02,697 >> Pero no importa por ahora. 284 00:15:02,697 --> 00:15:04,530 Voy a seguir adelante y de que estén apagados. 285 00:15:04,530 --> 00:15:09,670 Y si pudiera, me gustaría pedir voluntario, nuestro primer volunteer-- 286 00:15:09,670 --> 00:15:11,342 oh, hello-- en el escenario. 287 00:15:11,342 --> 00:15:14,050 El problema es que tienes que ser apareciendo cómoda, ya que claramente 288 00:15:14,050 --> 00:15:17,421 se encuentran en frente de todos sus compañeros de clase, así como en el Internet. 289 00:15:17,421 --> 00:15:20,420 Y déjame mirar un poco más allá el-- ¿qué hay aquí en la camisa blanca? 290 00:15:20,420 --> 00:15:20,920 Y de la mano hacia arriba. 291 00:15:20,920 --> 00:15:22,071 Vamos arriba. 292 00:15:22,071 --> 00:15:22,820 Cuál es tu nombre? 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, vamos arriba. 296 00:15:25,820 --> 00:15:29,820 Así que lo que hay también en este iPad es un botón llamado Modo de juego. 297 00:15:29,820 --> 00:15:32,570 Y este modo de juego es me va a permitir a la entrada 298 00:15:32,570 --> 00:15:35,780 de antemano una cifra determinada número, los números de los seres humanos somos 299 00:15:35,780 --> 00:15:36,760 familiarizados. 300 00:15:36,760 --> 00:15:39,820 Y entonces serás retado aquí para utilizar los botones 301 00:15:39,820 --> 00:15:42,140 por una top-- para cada uno de estos bulbs-- 302 00:15:42,140 --> 00:15:45,050 de entender realmente a cabo el patrón de bombillas 303 00:15:45,050 --> 00:15:46,970 que representa el número en cuestión. 304 00:15:46,970 --> 00:15:47,790 >> Y lo siento, ¿cuál era su nombre? 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 Bien. 308 00:15:48,920 --> 00:15:49,740 Encantado de conocerte. 309 00:15:49,740 --> 00:15:54,580 >> Así que déjame ir por delante y el programa de para que el mundo vea el número 15. 310 00:15:54,580 --> 00:15:56,360 Vamos a mantenerlo pequeño al principio aquí. 311 00:15:56,360 --> 00:15:58,240 Y yo voy a entrar en el Modo de Juego. 312 00:15:58,240 --> 00:16:01,160 Y yo voy a especificar, nos dan el número 15. 313 00:16:01,160 --> 00:16:01,900 >> Okay. 314 00:16:01,900 --> 00:16:05,510 Y ahora con todo el mundo watching-- si desea destacar tal vez de esta manera, 315 00:16:05,510 --> 00:16:09,970 porque va a alinear up-- seguir adelante y alternar los ocho botones a lo largo de la parte superior 316 00:16:09,970 --> 00:16:12,530 para encender las bombillas en o fuera como mejor le parezca. 317 00:16:12,530 --> 00:16:13,530 >> AUDIENCIA: OK. 318 00:16:13,530 --> 00:16:17,720 >> DAVID J. MALAN: Y sin trampas golpeando más 15 veces. 319 00:16:17,720 --> 00:16:19,275 Oh, vamos a hacer eso. 320 00:16:19,275 --> 00:16:20,069 >> AUDIENCIA: Oh, espera. 321 00:16:20,069 --> 00:16:20,610 Lo siento mucho. 322 00:16:20,610 --> 00:16:22,660 >> DAVID J. MALAN: También puede activar las bombillas en forma individual 323 00:16:22,660 --> 00:16:24,076 con cada uno de estos botones en la parte superior. 324 00:16:24,076 --> 00:16:24,844 AUDIENCIA: Oh, OK. 325 00:16:24,844 --> 00:16:27,429 Así que sería como-- 326 00:16:27,429 --> 00:16:28,220 DAVID J. MALAN: OK. 327 00:16:28,220 --> 00:16:29,100 Así que ahora tenemos ocho. 328 00:16:29,100 --> 00:16:31,280 Así que vamos a hacer una pausa para el audiencia a participar aquí. 329 00:16:31,280 --> 00:16:34,300 ¿Qué número es Jackie actualmente representan? 330 00:16:34,300 --> 00:16:34,800 11. 331 00:16:34,800 --> 00:16:35,730 Así que ya casi estamos allí. 332 00:16:35,730 --> 00:16:38,360 333 00:16:38,360 --> 00:16:39,630 Y excelente. 334 00:16:39,630 --> 00:16:41,487 Así que tenemos nuestro primer ganador. 335 00:16:41,487 --> 00:16:42,445 Felicitaciones. 336 00:16:42,445 --> 00:16:48,200 >> Y nosotros pensamos que lo tienen algunos regalos fabulosos. 337 00:16:48,200 --> 00:16:50,860 Si desea ser uno de esos Dorm Room aquí en el campus, 338 00:16:50,860 --> 00:16:56,126 puede usted tener un proyecto final utilizando ahora esta API, gracias a Jackie. 339 00:16:56,126 --> 00:16:57,050 Así ahora-- 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 >> --si pudimos, una más tales alrededor de este. 343 00:17:04,839 --> 00:17:07,690 Oh, ahora todo el mundo quiere algunas bombillas. 344 00:17:07,690 --> 00:17:11,790 Para la llamada edición hacker, vamos a la rampa hacia arriba un-- oh, 345 00:17:11,790 --> 00:17:12,770 sí, evasivo. 346 00:17:12,770 --> 00:17:16,010 Creo que está llegando ahora si tu mano va hacia abajo. 347 00:17:16,010 --> 00:17:16,800 Cuál es tu nombre? 348 00:17:16,800 --> 00:17:17,424 >> AUDIENCIA: Alex. 349 00:17:17,424 --> 00:17:19,440 DAVID J. MALAN: Alex, ven aquí. 350 00:17:19,440 --> 00:17:26,190 Así que para Alex, vamos a programa en un número ligeramente más grande. 351 00:17:26,190 --> 00:17:27,790 Tal vez en orden. 352 00:17:27,790 --> 00:17:29,110 El número 50. 353 00:17:29,110 --> 00:17:29,744 >> AUDIENCIA: OK. 354 00:17:29,744 --> 00:17:31,660 DAVID J. MALAN: Pero, como Yo dijiste-- y es posible que 355 00:17:31,660 --> 00:17:33,580 quiero estar aquí por lo que los botones se alinean 356 00:17:33,580 --> 00:17:37,115 como era de expect-- pero lo hice llamar a esta la edición de los piratas cibernéticos. 357 00:17:37,115 --> 00:17:47,125 Entonces-- buena suerte! 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 >> Usted será capaz de convertir a retirarse si usted-- Aceptar. 361 00:18:02,050 --> 00:18:02,880 Excelente. 362 00:18:02,880 --> 00:18:03,675 Maravilloso. 363 00:18:03,675 --> 00:18:04,341 Felicitaciones. 364 00:18:04,341 --> 00:18:08,730 >> [Aplausos] 365 00:18:08,730 --> 00:18:10,355 Supongo que debería pagar. 366 00:18:10,355 --> 00:18:11,830 Felicitaciones a Alex también. 367 00:18:11,830 --> 00:18:12,330 Okay. 368 00:18:12,330 --> 00:18:15,550 >> Así que la comida para llevar definitiva aquí es de esperar, francamente, 369 00:18:15,550 --> 00:18:18,109 la simplicity-- la sencillez con la que 370 00:18:18,109 --> 00:18:20,650 usted puede conseguir un poco de luz agradable bombillas, al parecer en [inaudible]. 371 00:18:20,650 --> 00:18:23,000 Pero ellos representan, en última instancia, las mismas ideas 372 00:18:23,000 --> 00:18:26,310 con la que los seres humanos somos ya demasiado familiar. 373 00:18:26,310 --> 00:18:28,660 Entonces, ¿qué podría la próxima paso sea en la progresión 374 00:18:28,660 --> 00:18:30,920 de tratar de hacer algo interesante con los datos 375 00:18:30,920 --> 00:18:34,950 y en representación de los insumos que no son sólo números, pero son tal vez las letras o más? 376 00:18:34,950 --> 00:18:37,820 >> Bueno, resulta que la mundo de la informática, durante muchos años, 377 00:18:37,820 --> 00:18:43,300 simplemente adoptado una arbitraria sino una estándar consistente que asigna números 378 00:18:43,300 --> 00:18:44,610 a las letras del alfabeto. 379 00:18:44,610 --> 00:18:47,120 Por ejemplo, aquí hay un extracto de esa asignación. 380 00:18:47,120 --> 00:18:48,350 Se llama Ascii. 381 00:18:48,350 --> 00:18:53,220 A-S-C-I-I. Y eso es simplemente una tabla que asigna letters-- mayúsculas 382 00:18:53,220 --> 00:18:56,600 en este caso-- números decimales. 383 00:18:56,600 --> 00:18:57,890 >> Pero ¿cuál es la implicación? 384 00:18:57,890 --> 00:19:01,090 Bueno, si usted realmente quiere que lo represente algo así como un correo electrónico o un poco de texto 385 00:19:01,090 --> 00:19:03,310 en una página web, obviamente quiere mostrar 386 00:19:03,310 --> 00:19:06,100 las letras humanos de la alfabeto, no números. 387 00:19:06,100 --> 00:19:09,140 Así que dependiendo de la contexto del programa 388 00:19:09,140 --> 00:19:12,600 que un usuario está usando, si es un navegador web o cliente de correo electrónico, 389 00:19:12,600 --> 00:19:16,090 números sin duda puede ser interpretado como letras. 390 00:19:16,090 --> 00:19:20,290 Es decir, los patrones de bits pueden fácilmente ser interpretado como letras. 391 00:19:20,290 --> 00:19:24,700 >> Y así lo que podemos tener es la letra de un ser 392 00:19:24,700 --> 00:19:28,410 representado como 65, B siendo representado como 66. 393 00:19:28,410 --> 00:19:30,900 Así que si tenemos un super palabra corta, como hi, 394 00:19:30,900 --> 00:19:35,740 lo que un ordenador haría en última instancia, tienda en decimal, pero en realidad en binario, 395 00:19:35,740 --> 00:19:40,070 usando una secuencia de bits, el aprovechamiento un poco de electricidad de alguna manera, 396 00:19:40,070 --> 00:19:44,010 serían los dos números 72 y 73. 397 00:19:44,010 --> 00:19:46,780 >> Pero el patrón de bits que representa esos valores. 398 00:19:46,780 --> 00:19:49,820 Así que estos son, entonces, ¿cómo podemos representar nuestras entradas y salidas. 399 00:19:49,820 --> 00:19:52,630 Y baste decir, que podemos hacer representaciones más complejas 400 00:19:52,630 --> 00:19:56,450 en última instancia, con cosas como gráficos, videos, música y más 401 00:19:56,450 --> 00:19:58,190 como veremos más adelante este término. 402 00:19:58,190 --> 00:20:00,630 >> Así que le toca a continuación, algoritmos, estos conjuntos 403 00:20:00,630 --> 00:20:03,490 de instrucciones con la que estamos resolviendo problemas reales. 404 00:20:03,490 --> 00:20:05,820 Estamos pasando de insumos a los algoritmos. 405 00:20:05,820 --> 00:20:09,630 Y esos algoritmos están produciendo salidas, salidas de esperar correctas 406 00:20:09,630 --> 00:20:14,160 y es de esperar, también, recogida eficiente salidas. 407 00:20:14,160 --> 00:20:16,890 En otras palabras, es una cosa implementar algo correctamente. 408 00:20:16,890 --> 00:20:20,790 Es otra cosa para poner en práctica algo bien o de manera eficiente. 409 00:20:20,790 --> 00:20:23,690 >> Por ejemplo, una demostración que somos aficionados a en el curso 410 00:20:23,690 --> 00:20:24,460 es éste. 411 00:20:24,460 --> 00:20:26,345 Pero estas cosas están cada vez más difícil de encontrar. 412 00:20:26,345 --> 00:20:28,930 Pero esto es de hecho una vieja escuela guía telefónica, dentro de los cuales 413 00:20:28,930 --> 00:20:32,580 son 1.000 páginas, más de nombres y números de teléfono. 414 00:20:32,580 --> 00:20:34,830 Y si quería mirar hacia arriba alguien en este directorio, 415 00:20:34,830 --> 00:20:38,640 Yo podría simplemente hacer una algoritmo muy ingenuo. 416 00:20:38,640 --> 00:20:42,150 Yo podría abrirse a la primera página, y Podría empezar a buscar, por ejemplo, alguien 417 00:20:42,150 --> 00:20:43,130 llamado Mike Smith. 418 00:20:43,130 --> 00:20:46,160 Y si él no está en la primera página, avanzo a la segunda, 419 00:20:46,160 --> 00:20:49,120 y luego a la tercera, y luego a la cuarta, y así sucesivamente, 420 00:20:49,120 --> 00:20:51,430 hasta que por fin encontré Mike Smith. 421 00:20:51,430 --> 00:20:53,010 >> Ahora es cierto que el algoritmo? 422 00:20:53,010 --> 00:20:53,896 >> AUDIENCIA: Si. 423 00:20:53,896 --> 00:20:54,248 >> DAVID J. MALAN: Si. 424 00:20:54,248 --> 00:20:56,039 Si él está ahí, voy a finalmente encontrarlo. 425 00:20:56,039 --> 00:20:58,820 Pero no es sin duda muy eficiente, sin duda no es rápido, 426 00:20:58,820 --> 00:21:01,200 porque, Dios mío, ¿por qué estoy perdiendo el tiempo flipping 427 00:21:01,200 --> 00:21:04,500 a través de todas estas páginas cuando podía ciertamente hacer esto físicamente más rápido? 428 00:21:04,500 --> 00:21:08,210 >> Bueno, una ligera optimización, por lo que hablar, podría ser no una página a la vez, 429 00:21:08,210 --> 00:21:11,610 pero dos, cuatro, seis, ocho, 10. 430 00:21:11,610 --> 00:21:12,725 Aún correcta? 431 00:21:12,725 --> 00:21:14,030 >> AUDIENCIA: No. 432 00:21:14,030 --> 00:21:17,040 >> DAVID J. MALAN: Así que no si para ejemplo saltar sobre Mike Smith. 433 00:21:17,040 --> 00:21:20,530 Pero siempre y cuando hago una copia de pedal una página, si lo exceso, 434 00:21:20,530 --> 00:21:25,240 tal vez podríamos corregir lo de otro modo podría ser una de gotcha. 435 00:21:25,240 --> 00:21:26,020 >> Pero, ¿es mejor? 436 00:21:26,020 --> 00:21:27,469 ¿Es más rápido? 437 00:21:27,469 --> 00:21:28,010 Quiero decir, sí. 438 00:21:28,010 --> 00:21:30,950 Es, literalmente, el doble de rápido si lo hago dos páginas a la vez. 439 00:21:30,950 --> 00:21:35,720 Así que si yo tenía originalmente 1.000 páginas, Ahora sólo tengo que dar la vuelta 500 veces, 440 00:21:35,720 --> 00:21:39,429 no está totalmente de 1.000 páginas para obtener potencialmente en el peor de los casos 441 00:21:39,429 --> 00:21:41,220 hasta el final del teléfono libro, donde alguien 442 00:21:41,220 --> 00:21:44,380 como Mike Smith o alguien con un nombre más adelante podría ser en realidad. 443 00:21:44,380 --> 00:21:46,540 >> Pero, por supuesto, los seres humanos no son ciertamente 444 00:21:46,540 --> 00:21:49,250 va a hacer que, sin duda no en este momento de nuestras vidas. 445 00:21:49,250 --> 00:21:51,454 ¿Qué es un razonable humano probable que va a hacer? 446 00:21:51,454 --> 00:21:52,870 AUDIENCIA: Ir directamente a The9 de S. 447 00:21:52,870 --> 00:21:53,860 DAVID J. MALAN: Ir directamente a los de S? 448 00:21:53,860 --> 00:21:55,563 ¿Cómo puedo ir directamente a los de S? 449 00:21:55,563 --> 00:21:57,342 >> AUDIENCIA: Rip por la mitad. 450 00:21:57,342 --> 00:21:59,050 DAVID J. MALAN: Bueno, no hay marca. 451 00:21:59,050 --> 00:22:02,116 Así que, sí, si no eran de hecho una etiqueta o una lengüeta pegajosa para S, 452 00:22:02,116 --> 00:22:03,240 debemos saltar a la derecha allí. 453 00:22:03,240 --> 00:22:05,420 Pero es bastante inocuo. 454 00:22:05,420 --> 00:22:08,480 Así que lo mejor que puedo hacer es más o menos a la sección S o tal vez más o menos 455 00:22:08,480 --> 00:22:09,650 en el medio. 456 00:22:09,650 --> 00:22:12,110 Pero el punto clave ahora-- y la intuición 457 00:22:12,110 --> 00:22:14,430 que usted ha tomado para otorgado por años probablemente-- 458 00:22:14,430 --> 00:22:17,103 es que lo que haces ahora saber acerca de este problema? 459 00:22:17,103 --> 00:22:19,320 >> AUDIENCIA: [inaudible] 460 00:22:19,320 --> 00:22:22,290 >> DAVID J. MALAN: Mike Smith es sin duda no en esta mitad del problema 461 00:22:22,290 --> 00:22:25,600 porque Smith viene después de la mitad que es aproximadamente la sección M, 462 00:22:25,600 --> 00:22:26,510 parece ser. 463 00:22:26,510 --> 00:22:30,340 Así como usted puede ser que haya visto en Visitas, ahora podemos, literalmente, 464 00:22:30,340 --> 00:22:31,737 romper este problema a la mitad. 465 00:22:31,737 --> 00:22:32,320 AUDIENCIA: Woo! 466 00:22:32,320 --> 00:22:33,690 DAVID J. MALAN: Es cada vez más fácil y más fácil. 467 00:22:33,690 --> 00:22:34,666 [Aplausos] 468 00:22:34,666 --> 00:22:36,618 Ahí lo tienes. 469 00:22:36,618 --> 00:22:39,060 [Risas] 470 00:22:39,060 --> 00:22:41,870 Y ahora, fundamentalmente, tienen el mismo problema, 471 00:22:41,870 --> 00:22:43,866 pero es, literalmente, la mitad de grande. 472 00:22:43,866 --> 00:22:45,240 Todavía estoy buscando a Mike Smith. 473 00:22:45,240 --> 00:22:47,950 Y me atrevo a decir, que todavía puede buscarlo en la misma forma, 474 00:22:47,950 --> 00:22:51,200 dividir el problema en un medio de nuevo, arrancando de nuevo el problema 475 00:22:51,200 --> 00:22:54,140 en medio, que ahora me deja con un problema cuarto del tamaño, 476 00:22:54,140 --> 00:22:58,710 tirar drásticamente que la mitad de distancia, y repetir este proceso una y otra vez 477 00:22:58,710 --> 00:23:01,150 y otra vez, mirando hacia abajo en cada punto para ver 478 00:23:01,150 --> 00:23:03,400 si Mike Smith está en la página en cuestión. 479 00:23:03,400 --> 00:23:06,190 >> Ahora, si lo hago bien, en última instancia, me encuentro a mí mismo 480 00:23:06,190 --> 00:23:11,085 con sólo una página en la que Mike Smith es si él está de hecho en la guía telefónica. 481 00:23:11,085 --> 00:23:13,510 Por supuesto, yo podría Nunca más llamar Mike. 482 00:23:13,510 --> 00:23:18,800 Pero el punto aquí es que si empezamos con 1.000 páginas, mi primer algoritmo, 483 00:23:18,800 --> 00:23:21,620 voltear la página, tal vez 1000 veces-- definitivamente menos porque es 484 00:23:21,620 --> 00:23:26,430 un nombre de S y no un nombre Z, pero como tantos como 1.000 páginas potencialmente. 485 00:23:26,430 --> 00:23:27,590 >> Segundo algoritmo, mejor. 486 00:23:27,590 --> 00:23:28,480 500 páginas. 487 00:23:28,480 --> 00:23:31,230 En tercer algoritmo, sin embargo, cuántos pasos ¿verdad 488 00:23:31,230 --> 00:23:35,520 tomar para dividir una página de 1000 libreta de teléfonos en medio de esa manera? 489 00:23:35,520 --> 00:23:37,000 10, más o menos. 490 00:23:37,000 --> 00:23:40,770 Así que sólo por mover de un tirón a través de ese guía telefónica, el buceo y la conquista, 491 00:23:40,770 --> 00:23:46,130 por así decir, 10 veces, voy a hacer mi camino hacia abajo a apenas una sola página. 492 00:23:46,130 --> 00:23:48,880 >> Y así podemos captar esta intuición ahora un poco gráficamente 493 00:23:48,880 --> 00:23:51,320 si solamente se considera esta super simple gráfico. 494 00:23:51,320 --> 00:23:55,470 Estamos en el eje x, u horizontal eje, es el tamaño de mi problema, 495 00:23:55,470 --> 00:23:57,100 el número de páginas de la guía telefónica. 496 00:23:57,100 --> 00:23:59,040 Y científicos de la computación en general, como para llamar 497 00:23:59,040 --> 00:24:02,180 el tamaño de un problema n, donde n es sólo una variable que 498 00:24:02,180 --> 00:24:04,310 represents-- en este caso-- número de páginas. 499 00:24:04,310 --> 00:24:07,412 >> El eje y vertical, o, aquí está va a ser el momento de resolver, 500 00:24:07,412 --> 00:24:09,870 tal vez el número de vueltas de página, Tal vez el número de segundos 501 00:24:09,870 --> 00:24:11,960 o minutos, cualquiera que sea su unidad de medida es. 502 00:24:11,960 --> 00:24:14,337 Y por lo que esta línea roja representa el primer algoritmo, 503 00:24:14,337 --> 00:24:16,670 porque hay una una a una relación entre el número 504 00:24:16,670 --> 00:24:18,880 de páginas y la cantidad de tiempo que tarda. 505 00:24:18,880 --> 00:24:22,240 >> Si Verizon duplica el número de páginas de la guía telefónica el próximo año, 506 00:24:22,240 --> 00:24:24,590 mi carrera tiempo-- la tiempo necesario para ejecutar 507 00:24:24,590 --> 00:24:27,610 que primero algorithm-- se duplica en el peor de los casos. 508 00:24:27,610 --> 00:24:30,690 Pero el segundo algoritmo, donde estoy volteando por dos, 509 00:24:30,690 --> 00:24:33,650 requiere menos tiempo para un problema determinado tamaño. 510 00:24:33,650 --> 00:24:36,090 Así que si tengo esto muchos Aviso páginas aquí-- 511 00:24:36,090 --> 00:24:38,870 que la línea amarilla sugiere menos tiempo para resolver. 512 00:24:38,870 --> 00:24:42,490 Y, en efecto, representa, vamos a decir, n más de dos. 513 00:24:42,490 --> 00:24:47,717 >> Pero lo que es la forma de la tercera y la curva final, va a parecer? 514 00:24:47,717 --> 00:24:50,800 Sí, ha hecho ir a Mira-- I no sabe lo que ibas a decir. 515 00:24:50,800 --> 00:24:52,300 Pero vamos a ver lo que ibas a decir. 516 00:24:52,300 --> 00:24:53,280 >> AUDIENCIA: Al igual que. 517 00:24:53,280 --> 00:24:57,060 >> DAVID J. MALAN: Va a parecer esto, un exactly-- slope-- logarítmica 518 00:24:57,060 --> 00:24:59,770 por el que usted tiene esta curiosa pendiente. 519 00:24:59,770 --> 00:25:01,235 Ya no es una línea recta. 520 00:25:01,235 --> 00:25:05,000 Y lo que es convincente acerca de esto es que a pesar de que el gráfico está ahora cortada, 521 00:25:05,000 --> 00:25:07,790 se puede extrapolar en su importa que esa línea verde no es 522 00:25:07,790 --> 00:25:10,060 va a aumentar en altura de todo lo que mucho 523 00:25:10,060 --> 00:25:13,500 a medida que avance aún más por ese eje horizontal. 524 00:25:13,500 --> 00:25:15,890 >> De hecho, Verizon, por ejemplo, podría duplicarse 525 00:25:15,890 --> 00:25:19,100 el número de páginas en el teléfono libro entre este año y el próximo año 526 00:25:19,100 --> 00:25:22,140 de 1.000 a 2.000 páginas, pero no es gran cosa. 527 00:25:22,140 --> 00:25:24,960 Con esta tercera y última, hay un algoritmo intuitivo 528 00:25:24,960 --> 00:25:26,209 de dividir y conquistar. 529 00:25:26,209 --> 00:25:29,000 Se me va a tomar cuantas más pasos el próximo año para encontrar a alguien 530 00:25:29,000 --> 00:25:29,700 gustaría Mike Smith? 531 00:25:29,700 --> 00:25:30,560 >> AUDIENCIA: Una. 532 00:25:30,560 --> 00:25:31,230 >> DAVID J. MALAN: Sólo hay una. 533 00:25:31,230 --> 00:25:34,430 Y pueden cuadruplicar él, es me va a tomar sólo dos pasos más 534 00:25:34,430 --> 00:25:35,210 y así sucesivamente. 535 00:25:35,210 --> 00:25:38,730 Y por lo que esta es una prueba de lo cierto cuidado diseño 536 00:25:38,730 --> 00:25:42,437 y un poco de aprecio por lo sus entradas son pueden hacer aún mejor. 537 00:25:42,437 --> 00:25:44,270 Ahora estamos engañando un poco en el sentido 538 00:25:44,270 --> 00:25:46,350 que estamos aprovechando una suposición. 539 00:25:46,350 --> 00:25:48,500 ¿Cuál es mi hipótesis acerca de nuestro directorio telefónico 540 00:25:48,500 --> 00:25:52,720 que me permitió dividir y conquistar de esta manera intuitiva y sigue siendo correcta? 541 00:25:52,720 --> 00:25:53,705 >> AUDIENCIA: [inaudible] 542 00:25:53,705 --> 00:25:54,580 DAVID J. MALAN: Si. 543 00:25:54,580 --> 00:25:55,440 Por lo que se le ordenó. 544 00:25:55,440 --> 00:25:57,392 Fue ordenada alfabéticamente por la empresa guía telefónica. 545 00:25:57,392 --> 00:26:00,100 Si estuviera en orden aleatorio, que sería un infierno de una guía telefónica, 546 00:26:00,100 --> 00:26:02,850 pero ciertamente no lo haría prestarse a que el algoritmo 547 00:26:02,850 --> 00:26:05,950 Yo solía, porque nunca lo haría sólo sucederá en toda Mike Smith 548 00:26:05,950 --> 00:26:09,210 si se mantenía la división en medio de esa manera por casualidad. 549 00:26:09,210 --> 00:26:12,060 >> Así que ahora vamos a formalizar lo que es claramente intuitiva. 550 00:26:12,060 --> 00:26:13,950 Así que algo que se llama pseudocódigo es donde vamos a 551 00:26:13,950 --> 00:26:15,780 comenzar algunos de nuestros problemas iniciales. 552 00:26:15,780 --> 00:26:20,410 Y esta es una forma genérica de describir un algoritmo o un programa de ordenador, 553 00:26:20,410 --> 00:26:24,150 no usando C o C ++, o Java, o cualquier lengua específica, 554 00:26:24,150 --> 00:26:27,430 pero sólo mediante Inglés, con que cualquier ser humano puede estar familiarizado. 555 00:26:27,430 --> 00:26:31,220 >> Y podríamos escribir el pseudocódigo para este problema de la siguiente manera. 556 00:26:31,220 --> 00:26:33,520 Paso uno, recoger la guía telefónica. 557 00:26:33,520 --> 00:26:35,840 Paso dos, abierta a mediados de la guía telefónica. 558 00:26:35,840 --> 00:26:37,730 Paso tres, mirar los nombres. 559 00:26:37,730 --> 00:26:40,630 Paso cuatro, si Smith se encuentra entre nombres-- 560 00:26:40,630 --> 00:26:42,960 >> Y ahora se trata de una constructo interesante. 561 00:26:42,960 --> 00:26:44,290 Es un punto de decisión. 562 00:26:44,290 --> 00:26:47,920 Es un tenedor en la carretera, si será, una rama, por así decirlo. 563 00:26:47,920 --> 00:26:50,810 Así que voy a sangrar sólo por convención step-- 564 00:26:50,810 --> 00:26:53,950 no cinco-- que es por ejemplo, voy a llamar a Mike. 565 00:26:53,950 --> 00:26:57,290 Así que esta sangría, totalmente convención humana arbitraria, pero es 566 00:26:57,290 --> 00:27:01,160 simplemente la intención de transmitir semánticamente que si Smith se encuentra entre nombres, 567 00:27:01,160 --> 00:27:03,310 entonces debo llamar a Mike. 568 00:27:03,310 --> 00:27:06,630 >> Mientras tanto, en el paso seis, previo aviso que el sangrado se ha ido. 569 00:27:06,630 --> 00:27:10,980 Así lo demás es otro tenedor en el carretera, el otro camino que podría viajar. 570 00:27:10,980 --> 00:27:14,130 Así lo demás si Smith es anteriormente en el libro, lo que es 571 00:27:14,130 --> 00:27:16,964 mi siguiente paso, probablemente, va a estar aquí? 572 00:27:16,964 --> 00:27:18,380 AUDIENCIA: Usted va a la izquierda. 573 00:27:18,380 --> 00:27:21,004 DAVID J. MALAN: Sí, así que ir a la mitad izquierda de la guía telefónica. 574 00:27:21,004 --> 00:27:24,140 Tire a la basura la mitad derecha si Smith es anterior en el libro. 575 00:27:24,140 --> 00:27:27,140 Así abierta a la mitad de la mitad izquierda del libro. 576 00:27:27,140 --> 00:27:30,240 >> Y luego paso ocho, pase a la línea de tres. 577 00:27:30,240 --> 00:27:34,520 Y esto es un bucle curioso que soy inducir, una recursividad por así decirlo. 578 00:27:34,520 --> 00:27:35,990 Pero más sobre esto en el futuro. 579 00:27:35,990 --> 00:27:39,590 >> Estoy usando mi mismo algoritmo, mi misma pseudocódigo, 580 00:27:39,590 --> 00:27:43,020 para resolver el mismo problema de nuevo porque lo único que ha cambiado 581 00:27:43,020 --> 00:27:46,550 es la magnitud del problema, no mi objetivo, y no a la persona 582 00:27:46,550 --> 00:27:47,340 Yo estoy buscando. 583 00:27:47,340 --> 00:27:51,610 Así que puedo volver a utilizar el algoritmo que ya he definido. 584 00:27:51,610 --> 00:27:53,580 >> Porque si Smith es tarde en libro-- te pueden 585 00:27:53,580 --> 00:27:56,200 adivinar-- abierta a la mitad de la mitad derecha del libro. 586 00:27:56,200 --> 00:27:58,350 Y de nuevo, ir a la línea de tres. 587 00:27:58,350 --> 00:28:01,480 Else-- lo que es la última línea en este programa va a ser? 588 00:28:01,480 --> 00:28:03,580 Si él no está entre los nombres en la página que estoy 589 00:28:03,580 --> 00:28:06,870 en, si no es a principios de el libro, y no más tarde de 590 00:28:06,870 --> 00:28:09,899 en el libro, ¿qué sé yo es verdad lo de Mike Smith ahora? 591 00:28:09,899 --> 00:28:11,190 AUDIENCIA: No está en el libro. 592 00:28:11,190 --> 00:28:12,731 DAVID J. MALAN: No está en el libro. 593 00:28:12,731 --> 00:28:16,040 Así que lo mejor que puedo hacer es darse por vencido y dejar de este programa. 594 00:28:16,040 --> 00:28:16,540 Bien. 595 00:28:16,540 --> 00:28:20,350 Así que en este punto, vamos a echar un rápido recorrido por algunos de lo que le espera. 596 00:28:20,350 --> 00:28:23,620 Y, de hecho, me acompañan aquí por un número de personal CS50. 597 00:28:23,620 --> 00:28:26,940 Si esta gente pudiera todo unirse a mí aquí en el 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 >> Eso sí, esto sólo es un subconjunto de personal CS50, 601 00:28:38,170 --> 00:28:42,380 ya que cada año tenemos cerca de 100 miembros del personal miembros en los roles de los asistentes del curso, 602 00:28:42,380 --> 00:28:44,410 Teaching Fellows, y más. 603 00:28:44,410 --> 00:28:45,700 Vamos arriba. 604 00:28:45,700 --> 00:28:48,820 Así que van a unirse a nosotros aquí torpemente por un momento 605 00:28:48,820 --> 00:28:54,230 mientras damos un revelará las últimas novedades usted debe esperar aquí en el curso. 606 00:28:54,230 --> 00:28:59,640 >> Así que, ante todo, tenemos SAT / UNS como la opción de clasificación en el curso. 607 00:28:59,640 --> 00:29:03,180 Esto está destinado deliberadamente ser una opción mediante el cual 608 00:29:03,180 --> 00:29:05,570 si usted es un poco incómodo por estar en el curso, 609 00:29:05,570 --> 00:29:09,390 y es que temes failure-- incluso si francamente fracaso significa perjudicar a su GPA, 610 00:29:09,390 --> 00:29:13,180 conseguir un B y no un A-- que es precisamente lo que, sin duda para una pasarela 611 00:29:13,180 --> 00:29:15,750 curso como CS50 y otro cursos de iniciación, 612 00:29:15,750 --> 00:29:17,540 esta opción de clasificación tiene por objeto permitir. 613 00:29:17,540 --> 00:29:19,930 >> Estoy totalmente de animo students-- especialmente 614 00:29:19,930 --> 00:29:23,090 si por el fence-- para iniciar el Por supuesto SAT / UNS, incluso permanecer SAT / UNS. 615 00:29:23,090 --> 00:29:27,310 Pero que sin duda puede cambiar a una carta grado al quinto lunes en el término. 616 00:29:27,310 --> 00:29:31,560 >> Francamente, cuando yo era un estudiante de primer año en 1995, 617 00:29:31,560 --> 00:29:34,630 Yo mismo ni siquiera tomé CS50 porque no he tenido el valor suficiente 618 00:29:34,630 --> 00:29:36,540 al paso realmente el pie en el aula. 619 00:29:36,540 --> 00:29:40,020 Parecía un dominio demasiado desconocido para mí y realmente sólo 620 00:29:40,020 --> 00:29:43,080 para esos amigos míos, francamente, que había sido la programación 621 00:29:43,080 --> 00:29:45,570 puesto que eran de seis o tal vez 10 años de edad. 622 00:29:45,570 --> 00:29:48,640 Y fue sólo porque yo era capaz de tomar CS50 en mi día 623 00:29:48,640 --> 00:29:52,720 en la versión equivalente de SAT / pase UNS-- / conmutación por recuperación en el día-- 624 00:29:52,720 --> 00:29:53,850 que incluso me llevó 50. 625 00:29:53,850 --> 00:29:57,440 Y de alguna manera u otra, estoy aquí de nuevo con ustedes hoy. 626 00:29:57,440 --> 00:30:00,690 >> Ahora mientras tanto qué más debe tener en cuenta sobre 50 627 00:30:00,690 --> 00:30:01,910 es la inscripción simultánea. 628 00:30:01,910 --> 00:30:03,785 Contrariamente a los rumores que usted puede haber oído, 629 00:30:03,785 --> 00:30:07,650 usted puede, de hecho, al mismo tiempo inscribirse en CS50 y otra clase que 630 00:30:07,650 --> 00:30:12,150 se reúne al mismo o algún solapamiento tiempo que las conferencias de CS50 aquí. 631 00:30:12,150 --> 00:30:16,420 Ver el plan de estudios de las indicaciones de la aplicación de los mismos. 632 00:30:16,420 --> 00:30:19,540 >> Conferencias, por su parte, en contra de lo que es oficialmente en el catálogo, 633 00:30:19,540 --> 00:30:22,060 en general, sólo se reunirse por sólo una hora. 634 00:30:22,060 --> 00:30:24,240 En ocasiones podemos correr un poco más largo. 635 00:30:24,240 --> 00:30:26,800 Pero tenga en cuenta que el objetivo en las conferencias de CS50 636 00:30:26,800 --> 00:30:28,980 es para ofrecerle una visión conceptual, 637 00:30:28,980 --> 00:30:31,830 con suerte algunas demostraciones, tal vez incluso algunos regalos, 638 00:30:31,830 --> 00:30:34,390 de lo que espera de la semana que sigue. 639 00:30:34,390 --> 00:30:37,730 >> Y así, en conferencias, exploraremos esos temas y ejemplos juntos, 640 00:30:37,730 --> 00:30:41,420 con lo que los estudiantes en el escenario, y personal en el escenario tan a menudo como podamos, 641 00:30:41,420 --> 00:30:43,740 por sólo un par de horas cada semana. 642 00:30:43,740 --> 00:30:47,435 Secciones, por su parte, serán ofrecido por estas personas aquí-- muchos 643 00:30:47,435 --> 00:30:50,060 de ellos la enseñanza de los becarios, algunos de ellos voluntad curso assistants-- 644 00:30:50,060 --> 00:30:51,160 estar sucediendo semanal. 645 00:30:51,160 --> 00:30:52,940 >> Y lo que es clave para mantener en cuenta es que 646 00:30:52,940 --> 00:30:55,920 no tener-- diferencia de la primera Noches, la música class-- 647 00:30:55,920 --> 00:30:59,220 diferentes pistas de secciones para estudiantes menos cómodos, más 648 00:30:59,220 --> 00:31:01,150 cómodo, y en algún punto intermedio. 649 00:31:01,150 --> 00:31:03,559 Y, francamente, ¿sabes si que es menos cómodo. 650 00:31:03,559 --> 00:31:05,600 Y usted probablemente sabe si se siente más cómodo. 651 00:31:05,600 --> 00:31:09,920 Y si usted no está realmente seguro, usted es por definición, en algún punto intermedio. 652 00:31:09,920 --> 00:31:12,850 Así que cuando llega el momento de la sección en una semana más o menos, por el plan de estudios, 653 00:31:12,850 --> 00:31:14,070 le pediremos que esa pregunta. 654 00:31:14,070 --> 00:31:16,890 Y usted puede auto-seleccione Basado en su propio nivel de comodidad 655 00:31:16,890 --> 00:31:22,220 y estar con students-- estar con verde dots-- similar en el nivel de comodidad para usted. 656 00:31:22,220 --> 00:31:25,710 >> Mientras tanto, tenemos un problema establece, que en última instancia 657 00:31:25,710 --> 00:31:28,310 definir su experiencia en este curso. 658 00:31:28,310 --> 00:31:30,370 Están ofrecen normalmente en múltiples ediciones. 659 00:31:30,370 --> 00:31:34,150 Una edición estándar que más esperamos cada estudiante en el curso para hacer frente a 660 00:31:34,150 --> 00:31:37,900 sino también una denominada edición pirata informático que no ofrece ninguna forma de crédito adicional 661 00:31:37,900 --> 00:31:41,980 pura y simple, pero en realidad los derechos de fanfarronear decir que lo intentaste y corrija 662 00:31:41,980 --> 00:31:45,250 ediciones de hackers del curso que acercarse al material similar 663 00:31:45,250 --> 00:31:47,370 pero desde un ángulo más sofisticado. 664 00:31:47,370 --> 00:31:49,480 >> Lo que ofrecemos para el edición estándar, para, 665 00:31:49,480 --> 00:31:51,420 de nuevo, una súper mayoría de los estudiantes, no son 666 00:31:51,420 --> 00:31:54,060 sólo a pie-through, que son vídeos dirigidos por el personal del curso 667 00:31:54,060 --> 00:31:57,840 que realmente se puede caminar a través de la problemas de los cursos y posible diseño 668 00:31:57,840 --> 00:31:58,910 implementaciones. 669 00:31:58,910 --> 00:32:01,434 Y también, después de la hecho, ofrecer autopsias, 670 00:32:01,434 --> 00:32:03,350 por el que si usted se está preguntando cómo se puede tener 671 00:32:03,350 --> 00:32:05,930 o debería haber resuelto algunos problema, el personal docente 672 00:32:05,930 --> 00:32:08,640 le guiará a través de aquellos en el vídeo también. 673 00:32:08,640 --> 00:32:14,350 >> Mientras tanto, lo que le espera también son cinco días de retraso y el hecho de 674 00:32:14,350 --> 00:32:16,680 que vamos a dejar su problema más bajo establecido puntuación. 675 00:32:16,680 --> 00:32:20,370 Ciertamente Apreciamos que a cambio para la carga de trabajo que 50 Espera 676 00:32:20,370 --> 00:32:24,020 de ti, la vida se interpone en el camino a veces, si no cinco veces. 677 00:32:24,020 --> 00:32:26,150 Y así, esta ofrecerá que un poco de flexibilidad, 678 00:32:26,150 --> 00:32:29,400 la ampliación de su plazo de, por ejemplo, un Jueves al mediodía para un viernes a mediodía. 679 00:32:29,400 --> 00:32:33,150 Ver el plan de estudios para la detalles de implementación de los mismos. 680 00:32:33,150 --> 00:32:34,702 >> Ahora lo que espera ahora? 681 00:32:34,702 --> 00:32:36,660 Y sólo se producen a mí ahora cuánto tiempo 682 00:32:36,660 --> 00:32:38,333 Estoy teniendo ustedes estar aquí en el escenario. 683 00:32:38,333 --> 00:32:39,060 >> [Risas] 684 00:32:39,060 --> 00:32:41,867 >> DAVID J. MALAN: Pero vamos a llegar a el acabado culminante en poco tiempo. 685 00:32:41,867 --> 00:32:43,700 Así que lo que le espera en términos de los conjuntos de problemas? 686 00:32:43,700 --> 00:32:47,099 Bueno, tal vez un teaser de lo que todos lo hizo el año pasado con sus predecesores. 687 00:32:47,099 --> 00:32:49,140 En el primer conjunto de problemas el año pasado, hemos introducido 688 00:32:49,140 --> 00:32:51,630 Scratch, una gráfica lenguaje de programación que 689 00:32:51,630 --> 00:32:54,570 permite programar literalmente por arrastrar y soltar las piezas del rompecabezas, 690 00:32:54,570 --> 00:32:57,220 como estos, que son que recuerda a las construcciones 691 00:32:57,220 --> 00:32:59,260 verá sólo una semana por lo tanto, cuando cambiamos 692 00:32:59,260 --> 00:33:01,870 a una más tradicional idioma, conocido como C. 693 00:33:01,870 --> 00:33:03,930 >> El año pasado se procedió a este conjunto de problemas, 694 00:33:03,930 --> 00:33:06,720 que implica para la criptografía, la codificación de la información 695 00:33:06,720 --> 00:33:10,410 para que no gubernamental o amigos ' ojos que no quieren verlo. 696 00:33:10,410 --> 00:33:12,540 Codificado en aquí es un mensaje de que pronto 697 00:33:12,540 --> 00:33:15,740 será capaz de descifrar o de-scramble. 698 00:33:15,740 --> 00:33:17,960 >> Breakout es un problema establecido el año pasado, en el que 699 00:33:17,960 --> 00:33:21,530 utiliza estos nuevos programas encontrado habilidades para poner en práctica en realidad 700 00:33:21,530 --> 00:33:24,840 un juego wherein-- como usted puede recordar de childhood-- 701 00:33:24,840 --> 00:33:28,040 el objetivo era golpear a la ladrillos que están encima de la pantalla 702 00:33:28,040 --> 00:33:30,190 aquí, acumulando una anotar en el camino, 703 00:33:30,190 --> 00:33:35,460 e implementar sus propios algoritmos con la que esta solución en última instancia 704 00:33:35,460 --> 00:33:37,357 te permite jugar el juego. 705 00:33:37,357 --> 00:33:39,440 Mientras tanto, más tarde en el semestre, le daremos 706 00:33:39,440 --> 00:33:43,470 un diccionario de 143.091 palabras en inglés. 707 00:33:43,470 --> 00:33:46,300 Y serás retado para escribir un programa que 708 00:33:46,300 --> 00:33:50,260 deletrear cheques, documentos, por carga que muchas palabras en la memoria 709 00:33:50,260 --> 00:33:52,300 tan eficientemente como sea posible. 710 00:33:52,300 --> 00:33:54,240 Generalmente las picaduras que en contra de sus compañeros de clase 711 00:33:54,240 --> 00:33:56,610 si se opta en un poco de un desafío en tabla de posiciones 712 00:33:56,610 --> 00:34:00,090 para ver quién puede utilizar la menor cantidad segundos de tiempo de ejecución, 713 00:34:00,090 --> 00:34:03,550 y el menor número de megabytes de memoria, 714 00:34:03,550 --> 00:34:08,659 y en realidad afinando sus programas ser increíblemente eficiente de los recursos no 715 00:34:08,659 --> 00:34:09,820 el tiempo justo. 716 00:34:09,820 --> 00:34:13,239 >> El año pasado, también, nos fijamos en el final del semestre en la programación web. 717 00:34:13,239 --> 00:34:16,230 Y, en efecto, lo haremos de nuevo este años con múltiples conjuntos de problemas, 718 00:34:16,230 --> 00:34:20,290 la introducción a las técnicas y la mentalidad con la que se puede aplicar 719 00:34:20,290 --> 00:34:23,489 estos conocimientos de programación para páginas web, sitios web dinámicos, 720 00:34:23,489 --> 00:34:26,639 sitios web que realmente resuelven problemas y se comportan de manera diferente 721 00:34:26,639 --> 00:34:30,620 y no son simplemente estática sitios con información estática. 722 00:34:30,620 --> 00:34:32,854 >> El proyecto final en última instancia, definirá, sin embargo, 723 00:34:32,854 --> 00:34:34,770 el punto culminante del curso para los estudiantes, en el que 724 00:34:34,770 --> 00:34:37,228 usted será desafiado para implementar más nada de interés 725 00:34:37,228 --> 00:34:40,590 para usted, siempre y cuando de alguna manera dibuja sobre las lecciones del curso. 726 00:34:40,590 --> 00:34:42,930 >> Y como se vio en el vídeo en la salida, 727 00:34:42,930 --> 00:34:47,340 vamos a concluir el semestre con el CS50 hackathon, que si, poco familiar, 728 00:34:47,340 --> 00:34:51,420 comenzará a las 7:00 pm una noche y poner fin a las 7:00 am de la mañana siguiente. 729 00:34:51,420 --> 00:34:53,614 Alrededor de las 9:00 de la tarde, vamos a orden en la primera cena. 730 00:34:53,614 --> 00:34:55,489 Alrededor de la 1:00 de la mañana, vamos a segundo orden en la cena. 731 00:34:55,489 --> 00:34:57,490 Y si usted todavía está de pie a las 5:00 de la mañana, nos 732 00:34:57,490 --> 00:35:00,320 voluntad de autobús que a IHOP para el desayuno. 733 00:35:00,320 --> 00:35:04,980 >> La Feria CS50, por su parte, es un evento a la que más de 2.000 profesores, estudiantes, 734 00:35:04,980 --> 00:35:07,850 y el personal de todo el campus será venir a ver sus logros 735 00:35:07,850 --> 00:35:10,150 en el curso y la final proyectos y creaciones 736 00:35:10,150 --> 00:35:14,960 que cree en sus computadoras portátiles, computadoras de escritorio o bulbos quizás incluso ligeras. 737 00:35:14,960 --> 00:35:17,340 >> Mientras tanto, las horas de oficina y la estructura de soporte. 738 00:35:17,340 --> 00:35:20,480 Y ahora lo que hubiera sido un mejor momento para llevar a todos ustedes. 739 00:35:20,480 --> 00:35:24,310 >> El horario de oficina tendrán lugar cuatro noches a la semana durante varias horas cada noche 740 00:35:24,310 --> 00:35:27,710 con generalmente de 20 a 30 de la El personal del curso de servicio a la vez 741 00:35:27,710 --> 00:35:31,240 para ofrecerle íntima uno-a-uno oportunidades de apoyo 742 00:35:31,240 --> 00:35:33,790 con conjuntos de problemas del curso. 743 00:35:33,790 --> 00:35:36,120 Tutoría también será disponible, en particular 744 00:35:36,120 --> 00:35:39,630 para los estudiantes menos comfortable-- o se atreven a decir lo menos comfortable-- para quienes 745 00:35:39,630 --> 00:35:41,869 horario de oficina no son la más ambiente de consolidación 746 00:35:41,869 --> 00:35:43,660 y ciertamente no son la más libre de estrés. 747 00:35:43,660 --> 00:35:47,430 Especialmente cuando los plazos están presionando, vamos a vincular de manera proactiva que nosotros mismos 748 00:35:47,430 --> 00:35:51,440 con un miembro del personal para trabajar con en algún horario regular como sus necesidades 749 00:35:51,440 --> 00:35:53,850 y su horario lo permite. 750 00:35:53,850 --> 00:35:55,260 >> Y el personal. 751 00:35:55,260 --> 00:36:01,020 Permítame presentarle Davon, Rob, y Gabriel, los jefes de este año. 752 00:36:01,020 --> 00:36:02,370 Si a usted le gustaría cada decir-- 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í es la gerente del curso, que 758 00:36:13,220 --> 00:36:15,730 significa en su papel de tiempo completo él ayuda con la ejecución 759 00:36:15,730 --> 00:36:18,424 y logística de CS50. 760 00:36:18,424 --> 00:36:19,340 DAVON: Sí, hola, chicos. 761 00:36:19,340 --> 00:36:20,965 Usted verá un montón para mí en las horas de oficina. 762 00:36:20,965 --> 00:36:22,110 Voy a estar enseñando secciones. 763 00:36:22,110 --> 00:36:25,150 Y si usted tira correos electrónicos por delante, Probablemente estaré respondiendo. 764 00:36:25,150 --> 00:36:27,670 Así que voy a ver a muchos de ustedes durante todo el semestre. 765 00:36:27,670 --> 00:36:29,890 Y bienvenidos a CS50. 766 00:36:29,890 --> 00:36:38,330 >> DAVID J. MALAN: Y ahora Gabriel, que mismo era sólo un estudiante de primer año el año pasado, 767 00:36:38,330 --> 00:36:41,820 pero desde hace un par de años tiene estado operando su propia versión del CS50 768 00:36:41,820 --> 00:36:44,660 en Brasil, por el que descargó todos content-- del curso 769 00:36:44,660 --> 00:36:46,890 que está siendo claramente filmado y puesto online-- 770 00:36:46,890 --> 00:36:51,480 para que pudiera traducirlo a Portugués y luego enseñar a más de 100 771 00:36:51,480 --> 00:36:54,610 de sus compañeros de clase sobre el transcurso de un par de años, 772 00:36:54,610 --> 00:36:57,650 enseñanza en su lengua materna plan de estudios del curso. 773 00:36:57,650 --> 00:36:58,964 >> GABRIEL: Hola. 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: Hola, soy Gabriel. 777 00:37:07,710 --> 00:37:09,340 Soy el jefe de la TF curso. 778 00:37:09,340 --> 00:37:10,780 Y espero que te encantará CS50. 779 00:37:10,780 --> 00:37:12,830 Esto es CS50. 780 00:37:12,830 --> 00:37:14,697 >> DAVID J. MALAN: Ahora para Rob. 781 00:37:14,697 --> 00:37:15,780 Oh, usted quiere introducción? 782 00:37:15,780 --> 00:37:16,696 >> ROB: No, yo no lo sé. 783 00:37:16,696 --> 00:37:18,225 [Risas] 784 00:37:18,225 --> 00:37:19,475 DAVID J. MALAN: Y Rob Boden. 785 00:37:19,475 --> 00:37:22,300 [Risas] 786 00:37:22,300 --> 00:37:23,800 ROB: Hola, soy Rob. 787 00:37:23,800 --> 00:37:27,220 Este es mi quinto año involucrado con el curso. 788 00:37:27,220 --> 00:37:29,220 Cada año, es sólo una mejor y mejor clase, 789 00:37:29,220 --> 00:37:31,550 así que ustedes son claramente va a ser impresionante. 790 00:37:31,550 --> 00:37:33,181 Espero que todos se diviertan con ella. 791 00:37:33,181 --> 00:37:34,430 Voy a tener diversión con ella. 792 00:37:34,430 --> 00:37:36,670 Así que nos vemos después. 793 00:37:36,670 --> 00:37:38,445 >> DAVID J. MALAN: Y tiempo no permitirá nosotros-- 794 00:37:38,445 --> 00:37:39,670 >> [Aplausos] 795 00:37:39,670 --> 00:37:41,661 >> El tiempo no nos permitirá introducir todos 796 00:37:41,661 --> 00:37:44,660 en el escenario y todos sus colegas que está haciendo compras clases hoy. 797 00:37:44,660 --> 00:37:47,390 Pero permítame presentarle Belinda y CS50 Puzzle 798 00:37:47,390 --> 00:37:49,550 Día, que espera a esta El próximo sábado, que 799 00:37:49,550 --> 00:37:51,800 es el primero de los eventos a gran escala de golf. 800 00:37:51,800 --> 00:37:54,300 >> Este en particular significado para recalcar el punto 801 00:37:54,300 --> 00:37:57,580 que la informática es en última instancia, No se trata de la programación, sino más bien 802 00:37:57,580 --> 00:37:59,280 sobre la resolución de problemas de manera más general. 803 00:37:59,280 --> 00:38:01,450 Y puzzle día, como usted ver, le traerá 804 00:38:01,450 --> 00:38:04,207 y sus compañeros de clase juntos-- esperamos este sábado. 805 00:38:04,207 --> 00:38:04,961 >> BELINDA: OK. 806 00:38:04,961 --> 00:38:05,750 Hola, chicos. 807 00:38:05,750 --> 00:38:06,740 Así que gracias. 808 00:38:06,740 --> 00:38:10,120 Así como nuestro ilustre capitán Dicho esto, mi nombre es Belinda. 809 00:38:10,120 --> 00:38:12,100 Soy un estudiante de segundo año en Quincy Casa. 810 00:38:12,100 --> 00:38:15,730 >> Yo, al igual que ustedes, tomé CS50 año pasado, realmente me encantó. 811 00:38:15,730 --> 00:38:17,960 Tengo una debilidad por ustedes en la tercera fila. 812 00:38:17,960 --> 00:38:21,384 Y estoy orgulloso de decir que estoy ahora en una relación de compromiso 813 00:38:21,384 --> 00:38:22,300 con CS50 [inaudible]. 814 00:38:22,300 --> 00:38:22,799 Okay. 815 00:38:22,799 --> 00:38:26,140 Esa fue mi versión cojo de una broma. 816 00:38:26,140 --> 00:38:28,320 >> De todos modos, por lo que seguir adelante, sólo quería invitar a 817 00:38:28,320 --> 00:38:31,439 ustedes todo a la i-lab o urticaria HBS. 818 00:38:31,439 --> 00:38:33,730 Vamos a estar teniendo Puzzle días de 12:00 a las 3:00. 819 00:38:33,730 --> 00:38:37,680 Y es una gran oportunidad para usted chicos para satisfacer sus compañeros CS amigos, 820 00:38:37,680 --> 00:38:42,780 resolver algunos puzzles no-CS, como el capitán mencionado, y también comer un poco de comida gratis, 821 00:38:42,780 --> 00:38:46,910 ganar algunos premios increíbles, como tarjetas de regalo, $ 75 por persona, 822 00:38:46,910 --> 00:38:48,400 y también-- ¿qué era? 823 00:38:48,400 --> 00:38:49,540 Wii U o algo así? 824 00:38:49,540 --> 00:38:50,333 Wii U? 825 00:38:50,333 --> 00:38:51,040 Sí. 826 00:38:51,040 --> 00:38:52,330 Para nuestro sorteo. 827 00:38:52,330 --> 00:38:52,830 Impresionante. 828 00:38:52,830 --> 00:38:54,310 Así que me quedaré por aquí después de clase. 829 00:38:54,310 --> 00:38:56,770 Y si ustedes tienen alguna preguntas, que me haga saber. 830 00:38:56,770 --> 00:38:59,980 >> DAVID J. MALAN: Y usted verá, más allá de esto no hay nada que hacer hoy. 831 00:38:59,980 --> 00:39:01,920 Establece el primer problema saldrá el viernes. 832 00:39:01,920 --> 00:39:05,420 Pero, para llevarnos a casa hoy, me gustaría presentarles a uno en concreto más 833 00:39:05,420 --> 00:39:09,080 miembro del personal, Colton Ogden aquí, cuyas manos están ahora 834 00:39:09,080 --> 00:39:12,250 protegida por encima de usted con este controlador MIDI 835 00:39:12,250 --> 00:39:15,170 para recalcar el punto más que la informática, también, 836 00:39:15,170 --> 00:39:19,130 tiene una aplicabilidad mucho más allá de la ingeniería y el tallo y la propia ciencia de la computación, 837 00:39:19,130 --> 00:39:22,890 se extiende incluso a dominios tales como la música. 838 00:39:22,890 --> 00:39:30,590 >> Colton tiene amablemente offered-- pensé uno de ellos iba a fijar el enfoque. 839 00:39:30,590 --> 00:39:34,400 Andrew, si pudiéramos convocar enfoque aquí sólo por un momento. 840 00:39:34,400 --> 00:39:36,780 >> ¿Qué ha hecho Colton de antemano es el programa 841 00:39:36,780 --> 00:39:40,345 este dispositivo, este pad de botones que ves imaginaste aquí, 842 00:39:40,345 --> 00:39:42,470 como un controlador MIDI, donde cada uno de esos botones 843 00:39:42,470 --> 00:39:47,080 está conectado a una nota musical en particular o un sonido, más en general una grabación, 844 00:39:47,080 --> 00:39:50,445 de tal manera que al jugar patrones de estas botones, tanto como los patrones de bits, 845 00:39:50,445 --> 00:39:52,620 puede representar a otro conceptos de más alto nivel. 846 00:39:52,620 --> 00:39:56,750 ¿Será capaz de última instancia para llevarnos a casa hoy? 847 00:39:56,750 --> 00:39:59,540 Sin más preámbulos, si podríamos atenuar las luces, 848 00:39:59,540 --> 00:40:03,145 y encienda la pantalla detrás de 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 es CS50. 851 00:40:06,090 --> 00:40:10,518 >> [REPRODUCCIÓN DE MÚSICA] 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 >> Eso es todo por CS50. 856 00:42:56,450 --> 00:42:57,950 Nos vemos el viernes. 857 00:42:57,950 --> 00:42:59,890 Algunos pastel le espera en el crucero. 858 00:42:59,890 --> 00:43:04,046 859 00:43:04,046 --> 00:43:08,850 >> [REPRODUCCIÓN DE MÚSICA] 860 00:43:08,850 --> 00:45:49,227