1 00:00:00,000 --> 00:00:00,270 2 00:00:00,270 --> 00:00:01,790 DAVID MALAN: Bienvenido de nuevo, todo el mundo. 3 00:00:01,790 --> 00:00:05,030 Así que ayer, como se recordará que nos centramos en estos temas aquí. 4 00:00:05,030 --> 00:00:08,380 Así que tuvimos cuatro topics-- general privacidad, seguridad, y la sociedad; 5 00:00:08,380 --> 00:00:11,960 las tecnologías de Internet; computación en la nube; y en última instancia, el desarrollo web. 6 00:00:11,960 --> 00:00:14,170 >> ¿Alguien tuvo la ancho de banda o el momento 7 00:00:14,170 --> 00:00:16,900 a ver un poco de John Oliver anoche? 8 00:00:16,900 --> 00:00:20,120 En realidad es bastante divertida, si no es un poco de miedo. 9 00:00:20,120 --> 00:00:24,700 Para cualquier duda sobre cualquier cosa que hicimos ayer? 10 00:00:24,700 --> 00:00:27,600 Las aclaraciones? 11 00:00:27,600 --> 00:00:35,580 Cualquier pregunta que desee realizar Seguro que tocamos hoy en alguna forma? 12 00:00:35,580 --> 00:00:37,300 pizarra tan limpio. 13 00:00:37,300 --> 00:00:38,760 >> Así que lo que está en el orden del día de hoy? 14 00:00:38,760 --> 00:00:41,301 Así que pensé que podríamos comenzamos hoy con una mirada a lo que es en general 15 00:00:41,301 --> 00:00:44,460 conocido como pensando-- computacional en el riesgo de simplificar demasiado, pensando 16 00:00:44,460 --> 00:00:46,636 como una computadora, tal vez pensar como un ingeniero, 17 00:00:46,636 --> 00:00:48,510 y tratando de empezar a organizar sus pensamientos 18 00:00:48,510 --> 00:00:52,039 o para darle un mejor sentido de lo que está involucrado en realidad al mando 19 00:00:52,039 --> 00:00:54,080 una computadora para hacer algo a modo de programación. 20 00:00:54,080 --> 00:00:56,663 Y hay que guardar el en una bonita alto nivel, prácticamente Inglés, 21 00:00:56,663 --> 00:00:59,850 pero trate de utilizar familiarizado ejemplos de cómo formalizar 22 00:00:59,850 --> 00:01:01,450 va a ir sobre la solución de problemas. 23 00:01:01,450 --> 00:01:04,080 >> Y vamos a revisar algunos CS temas, como la abstracción, 24 00:01:04,080 --> 00:01:06,040 que le había salido un par de veces ayer, 25 00:01:06,040 --> 00:01:07,554 algoritmos, y entonces la representación. 26 00:01:07,554 --> 00:01:09,720 Y ahí es donde vamos a empezar hoy en día en un momento. 27 00:01:09,720 --> 00:01:11,481 A continuación, vamos a echar un vistazo a la programación. 28 00:01:11,481 --> 00:01:13,480 Vamos a echar un vistazo a algunos constructos fundamentales 29 00:01:13,480 --> 00:01:16,450 con el que podría estar familiarizado e incluso podría encontrar bastante intuitiva. 30 00:01:16,450 --> 00:01:18,370 >> Vamos a ver, de hecho, en una programación de muestras 31 00:01:18,370 --> 00:01:21,244 ambiente que es muy accesible, muy juguetón, y de hecho apuntado 32 00:01:21,244 --> 00:01:22,555 para mayores de 12 años. 33 00:01:22,555 --> 00:01:25,930 Vamos a pasar unos minutos hay y luego tomar las cosas a un nivel inferior 34 00:01:25,930 --> 00:01:30,360 y en realidad hablar de algunas de los algoritmos y estructuras de datos, 35 00:01:30,360 --> 00:01:32,360 por así decirlo, que programadores suelen utilizar 36 00:01:32,360 --> 00:01:35,040 para resolver problemas mucho más eficientemente de lo que cabría 37 00:01:35,040 --> 00:01:37,322 ser capaz de prescindir de ellos por completo. 38 00:01:37,322 --> 00:01:40,280 A continuación, después del almuerzo, vamos a echar un vistazo en pilas de tecnología, que es justo 39 00:01:40,280 --> 00:01:42,240 una forma elegante de decir colecciones de tecnologías 40 00:01:42,240 --> 00:01:43,690 que se pudiera utilizar para resolver algún problema. 41 00:01:43,690 --> 00:01:46,670 Y hablaremos sobre el alfabeto Sopa de las lenguas que existen hoy-- 42 00:01:46,670 --> 00:01:50,930 Java y Python y C ++ y PHP y Ruby y todo tipo de otras cosas. 43 00:01:50,930 --> 00:01:53,740 >> Vamos a echar un vistazo brevemente en los patrones de diseño. 44 00:01:53,740 --> 00:01:57,730 Los programadores, con el tiempo, contar con metodologías adoptadas 45 00:01:57,730 --> 00:02:00,690 que tienden a ayudarles resolver problemas más fácilmente. 46 00:02:00,690 --> 00:02:04,390 Cuando se empieza a verse a sí mismo escribiendo el mismo tipo de código y otra vez, 47 00:02:04,390 --> 00:02:08,080 personas formalizan esas repeticiones y los nombres de atribuirles 48 00:02:08,080 --> 00:02:10,084 y luego usarlos y promoverlas, en última instancia. 49 00:02:10,084 --> 00:02:12,250 Y hablaremos un poco acerca de las estrategias móviles, 50 00:02:12,250 --> 00:02:16,099 como lo que significa que en realidad hacer una aplicación móvil o un sitio web para móviles. 51 00:02:16,099 --> 00:02:17,140 Lo haces para Android? 52 00:02:17,140 --> 00:02:17,730 ¿Lo haces para iOS? 53 00:02:17,730 --> 00:02:19,160 ¿Lo haces para ambas cosas? 54 00:02:19,160 --> 00:02:20,326 Y ¿cuáles son las ventajas y desventajas? 55 00:02:20,326 --> 00:02:23,180 Y, por último, vamos a tomar una mirada programación web, la cual 56 00:02:23,180 --> 00:02:25,380 es un término colectivo Realmente describir cualquier momento 57 00:02:25,380 --> 00:02:28,410 se escribe software que es pensado para funcionar en la web, 58 00:02:28,410 --> 00:02:30,430 ya sea en los teléfonos o sobremesa o portátiles. 59 00:02:30,430 --> 00:02:33,490 Vamos a echar un breve vistazo a bases de datos y el diseño 60 00:02:33,490 --> 00:02:39,049 en ella, aunque sólo sea porque casi cualquier interesante aplicación basada en web 61 00:02:39,049 --> 00:02:40,590 en estos días tiene algún tipo de base de datos. 62 00:02:40,590 --> 00:02:42,380 De lo contrario, haría acaba de ser contenido estático. 63 00:02:42,380 --> 00:02:45,254 Y una base de datos le permite hacer cambios en el tiempo, ya sea a sí mismo 64 00:02:45,254 --> 00:02:45,960 o de los usuarios. 65 00:02:45,960 --> 00:02:47,820 Y vamos a considerar cómo iría sobre el diseño 66 00:02:47,820 --> 00:02:50,510 dicha base de datos y el tipo de jerga que puedan surgir en un ingeniero de 67 00:02:50,510 --> 00:02:52,790 discusión en un tablero blanco cuando en realidad la implementación 68 00:02:52,790 --> 00:02:53,900 una aplicación por primera vez. 69 00:02:53,900 --> 00:02:57,002 >> Vamos a hablar brevemente sobre APIs, servicios útiles 70 00:02:57,002 --> 00:02:59,960 que se puede utilizar para estar en el los hombros de los demás, si las empresas 71 00:02:59,960 --> 00:03:02,619 o individuos, y resolver su propios problemas con mayor rapidez. 72 00:03:02,619 --> 00:03:04,785 Y luego vamos a meten quizá un poco con el lenguaje Java, 73 00:03:04,785 --> 00:03:08,900 un lenguaje de programación que se utiliza tanto en los navegadores de hoy en día, sino también 74 00:03:08,900 --> 00:03:09,820 en los servidores. 75 00:03:09,820 --> 00:03:11,890 Y tal vez, vamos a revisitar, el tiempo lo permite, 76 00:03:11,890 --> 00:03:15,670 algunas de las manos a la web que la materia hicieron ayer e integrar los dos 77 00:03:15,670 --> 00:03:17,630 juntos antes de levantar la sesión. 78 00:03:17,630 --> 00:03:22,380 >> Así que con que-- lo que hay es ahead-- Hay algo que falta que se 79 00:03:22,380 --> 00:03:26,289 le gustaría asegurarse de que insertamos y tocar en algún momento. 80 00:03:26,289 --> 00:03:28,330 Si se trata de venir a la mente, llevarlo hasta después de poco tiempo. 81 00:03:28,330 --> 00:03:32,010 Pero, ¿por qué no empezamos con una mirar en el pensamiento computacional. 82 00:03:32,010 --> 00:03:35,420 >> Y permítanme propongo pensamiento computacional es, de nuevo, 83 00:03:35,420 --> 00:03:38,830 tipo de la descripción de alto nivel de lo que es un científico de la computación podría hacer. 84 00:03:38,830 --> 00:03:42,470 Y, de hecho, vamos a empezar con tres ingredientes que 85 00:03:42,470 --> 00:03:44,207 podría entrar en el pensamiento computacional. 86 00:03:44,207 --> 00:03:45,790 Esta es sólo una forma de describirlo. 87 00:03:45,790 --> 00:03:48,490 Ciertamente se podría definir esto en cualquier número de maneras. 88 00:03:48,490 --> 00:03:50,630 >> Pero permítanme proponer, por el bien de hoy en día, 89 00:03:50,630 --> 00:03:53,910 que los problemas del mundo, todos los problemas del mundo, 90 00:03:53,910 --> 00:03:56,730 al ser abordados por una Informático podía 91 00:03:56,730 --> 00:04:00,990 ser visto como lo que vamos a entradas de llamada, que 92 00:04:00,990 --> 00:04:08,142 necesitará conseguir alimentado en lo que llamaremos algoritmos, que luego producen salidas. 93 00:04:08,142 --> 00:04:10,600 En otras palabras, la totalidad mundo de la reivindicación I de resolución de problemas 94 00:04:10,600 --> 00:04:13,140 puede ser destilada en estos tres ingredientes. 95 00:04:13,140 --> 00:04:14,450 Entonces, ¿qué quiero decir con entradas? 96 00:04:14,450 --> 00:04:17,060 Entradas es justo lo que eres entregado con el fin de resolver. 97 00:04:17,060 --> 00:04:20,052 >> Por ejemplo, aquí está un viejo problema escolar. 98 00:04:20,052 --> 00:04:22,760 Si tengo una libreta de teléfonos y aquí Quiero ver algo en ella, 99 00:04:22,760 --> 00:04:23,760 esta es mi entrada. 100 00:04:23,760 --> 00:04:26,260 Tengo 1.000 o menos las páginas de un libro de teléfono. 101 00:04:26,260 --> 00:04:27,780 Esta es la entrada a mi problema. 102 00:04:27,780 --> 00:04:31,507 Y quiero encontrar algo como Mike Smith, así que un amigo 103 00:04:31,507 --> 00:04:33,840 cuyo nombre y número es esperemos que en esta libreta de direcciones. 104 00:04:33,840 --> 00:04:36,430 >> Esto es antes de los días de la célula móviles, por lo que pueden no sólo la búsqueda de la misma. 105 00:04:36,430 --> 00:04:38,540 Así que tengo que hacerlo de edad la escuela y en realidad la búsqueda 106 00:04:38,540 --> 00:04:41,331 estas entradas para alguna respuesta. 107 00:04:41,331 --> 00:04:43,580 Y esa respuesta es sólo va que se llamará la salida. 108 00:04:43,580 --> 00:04:44,871 Por lo que la entrada es la guía telefónica. 109 00:04:44,871 --> 00:04:47,787 El algoritmo es cualquier conjunto de pasos que utilizan para encontrar Mike Smith. 110 00:04:47,787 --> 00:04:50,120 Y la salida es, con suerte, El teléfono de Mike Smith. 111 00:04:50,120 --> 00:04:52,703 Y esto, entonces sería justo representante de la mayoría de cualquier problema 112 00:04:52,703 --> 00:04:55,210 a la que está insumos zurdos y querer producir salidas. 113 00:04:55,210 --> 00:04:59,459 >> Así que antes de considerar el proceso de por el cual podemos resolver ese problema, 114 00:04:59,459 --> 00:05:01,250 Mike Smith y encontrar algo como eso, 115 00:05:01,250 --> 00:05:04,090 vamos a considerar el primer y last-- las entradas y salidas. 116 00:05:04,090 --> 00:05:08,060 Físicamente, por supuesto, la entrada de aquí es un montón de papel pegadas 117 00:05:08,060 --> 00:05:09,400 en forma de una libreta de teléfonos. 118 00:05:09,400 --> 00:05:13,660 Pero los ordenadores, ordenadores portátiles de supuesto-- y de escritorio e incluso los teléfonos 119 00:05:13,660 --> 00:05:16,430 estos days-- esos son dispositivos electrónicos. 120 00:05:16,430 --> 00:05:20,920 >> Y al final del día, lo que es la única entrada a un ordenador? 121 00:05:20,920 --> 00:05:23,299 Bueno, es algo así como este cable de alimentación aquí. 122 00:05:23,299 --> 00:05:25,590 Me tapo en la pared, y Me sale un flujo de electrones, 123 00:05:25,590 --> 00:05:27,048 lo que me permite hacer funcionar la máquina. 124 00:05:27,048 --> 00:05:30,420 O tal vez esos electrones son creado por medio de mi batería. 125 00:05:30,420 --> 00:05:33,790 Pero al final del día, eso es la única cosa que va en mi ordenador portátil. 126 00:05:33,790 --> 00:05:35,772 Y tanto interesante material es en última instancia, 127 00:05:35,772 --> 00:05:37,480 que sale, si por medio de la impresora 128 00:05:37,480 --> 00:05:40,320 o la pantalla o audially o similares. 129 00:05:40,320 --> 00:05:45,320 >> Así que si todo lo que tenemos como nuestro insumo fundamental a un ordenador 130 00:05:45,320 --> 00:05:49,160 es la electricidad, por lo que sólo electrones que entran y o fuera, 131 00:05:49,160 --> 00:05:54,465 y así ¿cómo podemos usar esa entrada que en realidad representan la información? 132 00:05:54,465 --> 00:05:57,090 En otras palabras, ¿cómo podemos llegar desde un simple flujo de electricidad 133 00:05:57,090 --> 00:06:00,350 a la representación real números o letras reales 134 00:06:00,350 --> 00:06:03,620 o imágenes reales en la pantalla o películas reales o correos electrónicos 135 00:06:03,620 --> 00:06:05,690 o cualquier número de ellas conceptos de nivel superior, 136 00:06:05,690 --> 00:06:07,680 si se quiere, que en el final del día de alguna manera 137 00:06:07,680 --> 00:06:11,950 tienen que ser almacenados en esta dispositivo mecánico electrónico 138 00:06:11,950 --> 00:06:16,260 usando sólo aquellos sencilla ingredients-- electrones que entran y salen? 139 00:06:16,260 --> 00:06:19,530 >> Por lo tanto, parecería que, en la forma más simple, 140 00:06:19,530 --> 00:06:23,260 la única clase de estados Tengo en mi mundo, por lo 141 00:06:23,260 --> 00:06:25,350 a condiciones speak-- en mi mundo-- es cualquiera 142 00:06:25,350 --> 00:06:33,020 Tengo electrones que fluye, la electricidad que fluye, o debo hacer no-- así sucesivamente, fuera. 143 00:06:33,020 --> 00:06:35,850 Y vamos a formalizar dentro y fuera, como un científico de la computación podría, 144 00:06:35,850 --> 00:06:37,255 con sólo 1 y 0. 145 00:06:37,255 --> 00:06:39,880 Vamos a describir algunos arbitraria pero el número coherente a la misma. 146 00:06:39,880 --> 00:06:41,970 1 significa en, 0 significa off. 147 00:06:41,970 --> 00:06:45,427 O también pueden ver esto como verdadero medio de medios y falsas. 148 00:06:45,427 --> 00:06:47,510 También puede hacer negro y blanco o rojo y azul. 149 00:06:47,510 --> 00:06:48,759 Usted sólo tiene dos descriptores. 150 00:06:48,759 --> 00:06:52,240 Y un grupo de científicos en informática en general, sólo tiene que utilizar 0 y 1. 151 00:06:52,240 --> 00:06:58,980 >> Así que si ese es el caso, mi único alfabeto está constituido por 0 y 1., ¿cómo 152 00:06:58,980 --> 00:07:03,360 podría yo llegar a igualar el número 2 en un ordenador, y mucho menos el número 3 153 00:07:03,360 --> 00:07:06,140 o una letra del alfabeto o una imagen o una película? 154 00:07:06,140 --> 00:07:08,910 ¿Cómo especie de Bootstrap nosotros mismos de este principio básico 155 00:07:08,910 --> 00:07:12,080 de 0 y 1. y en realidad representar algo más interesante? 156 00:07:12,080 --> 00:07:14,430 >> Bueno, vamos a poner esa pregunta en espera de un momento 157 00:07:14,430 --> 00:07:17,520 y considerar algo esperemos familiar, 158 00:07:17,520 --> 00:07:21,150 incluso si usted no ha pensado en que en ningún detalle para 10, 20, 30, 40, 50 159 00:07:21,150 --> 00:07:22,520 más años. 160 00:07:22,520 --> 00:07:24,780 ¿Esto es lo que? 161 00:07:24,780 --> 00:07:28,050 ¿Cómo se pronuncia? 162 00:07:28,050 --> 00:07:30,770 No es una pregunta con trampa. 163 00:07:30,770 --> 00:07:32,950 Un número, pero ¿qué es? 164 00:07:32,950 --> 00:07:34,842 1, 2, 3, o 123. 165 00:07:34,842 --> 00:07:37,800 Y me gustó la forma en que dijiste 1, 2, 3, porque esa es una forma de verlo. 166 00:07:37,800 --> 00:07:39,870 1, 2, 3, es una secuencia de tres símbolos. 167 00:07:39,870 --> 00:07:42,005 Es imágenes que nos ahora tienen palabras para. 168 00:07:42,005 --> 00:07:44,880 Y si una especie de leerlos todos en conjunto, un ser humano típico en Inglés 169 00:07:44,880 --> 00:07:46,600 diría 123. 170 00:07:46,600 --> 00:07:48,350 Y eso es una especie de alto nivel de concepto, 171 00:07:48,350 --> 00:07:50,340 se siente como un número bastante grande. 172 00:07:50,340 --> 00:07:51,490 >> Pero, ¿cómo hemos llegado hasta aquí? 173 00:07:51,490 --> 00:07:54,640 Bueno, puede ser que sea un tiempo desde usted ha pensado en ello como esto, 174 00:07:54,640 --> 00:07:56,680 pero en mis tiempos, me este tipo de aprender 175 00:07:56,680 --> 00:08:01,030 como la columna de la 1, de los 10 columna, y la columna de la 100. 176 00:08:01,030 --> 00:08:06,400 Así como dice Lakisa, es 1, 2, 3, pero también es 123. 177 00:08:06,400 --> 00:08:08,700 Pero ¿cómo podemos obtener a partir la primera a la segunda? 178 00:08:08,700 --> 00:08:12,340 >> Bueno, lo más habitual es hacerlo en La columna de la 100, que tiene un 1. 179 00:08:12,340 --> 00:08:14,794 Así que eso es como decir 1 100 veces. 180 00:08:14,794 --> 00:08:16,210 Y a continuación, en la columna de 10, tengo 2. 181 00:08:16,210 --> 00:08:18,464 Así que eso es como decir 10 veces 2. 182 00:08:18,464 --> 00:08:19,630 En la columna de la 1, tengo 3. 183 00:08:19,630 --> 00:08:21,720 Así que eso es como decir 1 Tiempos 3. 184 00:08:21,720 --> 00:08:24,290 >> Y si añado estas cosas juntos, esto, por supuesto, 185 00:08:24,290 --> 00:08:27,470 es 100 más el 10 más 3. 186 00:08:27,470 --> 00:08:31,750 Y, oh, por eso me sale esto alto nivel de noción 123. 187 00:08:31,750 --> 00:08:37,220 Es sólo matemáticas básicas, por lo que éstos símbolos tienen pesos a ellos, si 188 00:08:37,220 --> 00:08:39,620 va, marcador de posición o valores de columna. 189 00:08:39,620 --> 00:08:42,090 Y una vez que todo lo multiplico fuera, consigo este número. 190 00:08:42,090 --> 00:08:47,840 >> Entonces, ¿cuántos de ustedes saben hablar de binary-- 0 y 1's-- como una computadora? 191 00:08:47,840 --> 00:08:50,410 OK, perfecto, nadie, ni ninguno de lo que cree. 192 00:08:50,410 --> 00:08:52,550 Pero me gustaría afirmar que En realidad ya saben esto. 193 00:08:52,550 --> 00:08:55,330 Sólo necesitamos una especie de ajustar nuestro modelo mental un poco. 194 00:08:55,330 --> 00:08:57,250 Pero el proceso es exactamente el mismo. 195 00:08:57,250 --> 00:09:01,460 >> Permítanme dejo éste hasta allí y en cambio sacar esto por un momento. 196 00:09:01,460 --> 00:09:05,060 En el mundo de los ordenadores, sólo tenemos de 0 y 1 de. 197 00:09:05,060 --> 00:09:07,240 Y así, la cosa que es va a cambiar es lo que? 198 00:09:07,240 --> 00:09:10,920 Bueno, en mi mundo de los humanos, la sistema decimal, diciembre 10 significado, 199 00:09:10,920 --> 00:09:12,740 Tengo el número de dígitos a mi disposición? 200 00:09:12,740 --> 00:09:15,270 201 00:09:15,270 --> 00:09:16,540 10, ¿verdad? 202 00:09:16,540 --> 00:09:17,880 Del 0 al 9, por supuesto. 203 00:09:17,880 --> 00:09:21,210 >> Y es por eso que tenemos la lugar de 10, y el lugar del 100. 204 00:09:21,210 --> 00:09:22,380 Donde viene eso? 205 00:09:22,380 --> 00:09:24,430 Bueno, esto es 10 elevado a la potencia de 0. 206 00:09:24,430 --> 00:09:28,440 Esto es 10 a la potencia de 1, 10 a la potencia de 2, y así sucesivamente. 207 00:09:28,440 --> 00:09:32,110 Sólo sigue multiplicando sus columnas por 10, comenzando con sólo 1 208 00:09:32,110 --> 00:09:33,700 en el de la derecha aquí. 209 00:09:33,700 --> 00:09:35,490 >> Por lo que en el mundo de la ordenadores, si sólo 210 00:09:35,490 --> 00:09:39,600 tienen un significado bi binary-- 2-- o 0 y 1., sólo 211 00:09:39,600 --> 00:09:42,420 realmente necesita para cambiar la base de que las matemáticas. 212 00:09:42,420 --> 00:09:46,410 Así, en otras palabras, ahora sólo tendremos tienen la columna de la 1 y el-- 213 00:09:46,410 --> 00:09:51,270 ¿dónde está este going-- la columna de la 2, La columna de la 4, y tal vez más allá. 214 00:09:51,270 --> 00:09:52,250 ¿Porqué es eso? 215 00:09:52,250 --> 00:09:55,650 Pues bien, este es el poder 2 0-ésimo. 216 00:09:55,650 --> 00:09:57,270 Esta es la 2 1. 217 00:09:57,270 --> 00:09:59,610 Esto es 2 a la 2, y así sucesivamente. 218 00:09:59,610 --> 00:10:04,910 >> Así que, aquí, tenemos 1, de 10, 100, de 1000, de 10.000 de 100.000, de, 1 219 00:10:04,910 --> 00:10:10,560 millones, y así sucesivamente, aquí tenemos 1, 2, 4, 8, 16, 32, 64. 220 00:10:10,560 --> 00:10:13,950 Sólo sigue multiplicando por 2, en lugar de continuar multiplicándose por 10. 221 00:10:13,950 --> 00:10:16,780 Así que ahora, si el peligro en el la mano es representar 222 00:10:16,780 --> 00:10:20,240 números utilizando solamente de 0 y 1, de vamos a considerar cómo llegar allí. 223 00:10:20,240 --> 00:10:26,540 >> Esto, por supuesto, es el patrón de 0 0 0, pero lo que el número conceptualmente 224 00:10:26,540 --> 00:10:27,490 representa? 225 00:10:27,490 --> 00:10:35,430 Bueno, 4 veces más 0 0 2 veces más 1 veces 0, vamos a añadir los juntos. 226 00:10:35,430 --> 00:10:40,030 4 veces 0 es, por supuesto, 0, más 2 Tiempos 0 es, por supuesto, más el 0 0 1 veces 227 00:10:40,030 --> 00:10:40,850 es, por supuesto, 0. 228 00:10:40,850 --> 00:10:44,910 Así ah, esto representa el Número de los seres humanos saben como 0. 229 00:10:44,910 --> 00:10:47,810 >> Pues bien, ahora, vamos muy Avanzar rápidamente rápido. 230 00:10:47,810 --> 00:10:53,600 Si en cambio no estoy representando 0 0 0, pero vamos a hacer 1 0 1, 231 00:10:53,600 --> 00:10:57,010 que podría ser la forma Lakisa, antes, se acaba de pronunciar 1 0 1. 232 00:10:57,010 --> 00:11:01,020 Pero ahora, ¿cómo lo llevamos a la mayor nivelar el número de los seres humanos podrían saber? 233 00:11:01,020 --> 00:11:04,220 Entonces, ¿qué es este número? 234 00:11:04,220 --> 00:11:06,060 Es 5, el número que conocemos como 5. 235 00:11:06,060 --> 00:11:06,870 >> Bueno, ¿por qué? 236 00:11:06,870 --> 00:11:09,620 Bueno, podemos realmente una especie de caminar a través de él metódicamente 237 00:11:09,620 --> 00:11:14,880 4 tiempos 1, 2 tiempos 0, 1 Tiempos 1. 238 00:11:14,880 --> 00:11:19,880 Añadir los juntos, por lo esto es más 4 0 1 plus. 239 00:11:19,880 --> 00:11:21,577 Y eso es, de hecho, 5. 240 00:11:21,577 --> 00:11:24,660 Por lo que está haciendo un poco tediosa ahora haciendo la aritmética y otra vez. 241 00:11:24,660 --> 00:11:26,300 Pero el proceso es exactamente el mismo. 242 00:11:26,300 --> 00:11:28,380 >> Lo único que tiene cambiado en nuestro mundo 243 00:11:28,380 --> 00:11:32,740 es que nuestros columnas son 1, 2, 4, 8, 16, y así sucesivamente, en lugar de 1, 10, 100, 244 00:11:32,740 --> 00:11:33,740 1000. 245 00:11:33,740 --> 00:11:40,000 Y eso es sólo porque nuestro alfabeto tiene encogido de 0 a 9 a 0 a 1 solo. 246 00:11:40,000 --> 00:11:50,851 >> Así como un pequeño examen aquí, ¿cómo lo haría que representan el número 7 en binario? 247 00:11:50,851 --> 00:11:51,350 0? 248 00:11:51,350 --> 00:11:53,490 Bueno, 0, que significa 0 0 0? 249 00:11:53,490 --> 00:11:58,140 250 00:11:58,140 --> 00:11:59,693 Dilo otra vez, Karina. 251 00:11:59,693 --> 00:12:03,010 252 00:12:03,010 --> 00:12:03,550 Perfecto. 253 00:12:03,550 --> 00:12:04,370 ¿Porqué es eso? 254 00:12:04,370 --> 00:12:08,530 Es efectivamente 4 más 2 más 1. 255 00:12:08,530 --> 00:12:09,580 Tan bueno. 256 00:12:09,580 --> 00:12:14,364 >> ¿Cómo nos representamos un poco another-- ¿qué tal el número 2? 257 00:12:14,364 --> 00:12:18,360 258 00:12:18,360 --> 00:12:20,690 Cerca, pero al revés. 259 00:12:20,690 --> 00:12:21,660 Así que ¿qué es esto? 260 00:12:21,660 --> 00:12:26,290 Es 4 más 1, por lo que es 5 de nuevo. 261 00:12:26,290 --> 00:12:28,310 >> Así what's-- Lo siento, Karina? 262 00:12:28,310 --> 00:12:29,220 0 1 0. 263 00:12:29,220 --> 00:12:34,762 0 1 0 2 sería, porque, de nuevo, incluso si una especie de no salta a la vista, 264 00:12:34,762 --> 00:12:35,470 acaba de hacer los cálculos. 265 00:12:35,470 --> 00:12:40,390 4 tiempos 0, 0, 2 veces 1 es 2, 1 veces 0 es 0. 266 00:12:40,390 --> 00:12:42,830 Así que este es el número que conocemos como 2. 267 00:12:42,830 --> 00:12:44,030 >> ¿Qué tal el número 8? 268 00:12:44,030 --> 00:12:51,240 269 00:12:51,240 --> 00:12:52,730 Hm? 270 00:12:52,730 --> 00:12:53,330 Bueno. 271 00:12:53,330 --> 00:12:56,130 Así que tipo de falta otro marcador de posición. 272 00:12:56,130 --> 00:12:59,570 Necesitamos 1 0 0 0. 273 00:12:59,570 --> 00:13:02,280 Y eso es cierto de nuestra especie del sistema decimal de la vieja escuela. 274 00:13:02,280 --> 00:13:05,280 ¿Cómo se representa el número 1000? 275 00:13:05,280 --> 00:13:08,480 >> Bueno, parecería ser tipo de en una situación difícil, 276 00:13:08,480 --> 00:13:10,390 si pido que representan el número 1000, 277 00:13:10,390 --> 00:13:14,960 porque incluso si usted se da como 9 de estos, 9 de estos, 0 de éstos, 278 00:13:14,960 --> 00:13:18,730 que es el número más grande que usted tiene, que no acababa de llegar a 1.000. 279 00:13:18,730 --> 00:13:26,920 Así que si 1.000, sólo tiene otra posición, por lo que se puede hacer 1 0 0 0, 280 00:13:26,920 --> 00:13:29,460 ergo el número 1000. 281 00:13:29,460 --> 00:13:34,200 >> Así que ahora, vamos a un mapa Este tipo de discusión conceptual de nuevo a hardware, 282 00:13:34,200 --> 00:13:37,470 donde de nuevo, la entrada era sólo este pequeño cable de alimentación, electricidad 283 00:13:37,470 --> 00:13:39,300 que entra y que sale. 284 00:13:39,300 --> 00:13:44,740 Y así, para que eso sea asignada desde aquí de ahí, bueno, ¿qué es lo que realmente necesitamos? 285 00:13:44,740 --> 00:13:49,460 Bueno, se puede pensar de estar dentro de un computadora, un montón de bombillas, 286 00:13:49,460 --> 00:13:50,450 Si tu quieres. 287 00:13:50,450 --> 00:13:52,040 En realidad están llamados transistores. 288 00:13:52,040 --> 00:13:55,121 Y los transistores son sólo cambia que puede ser o bien encendido o apagado. 289 00:13:55,121 --> 00:13:56,870 Así que usted puede pensar en una transistor que está en 290 00:13:56,870 --> 00:14:00,730 está permitiendo que fluya la electricidad y un transistor que está fuera como detener 291 00:14:00,730 --> 00:14:02,170 electricidad fluya. 292 00:14:02,170 --> 00:14:04,130 Y en lugar de tomar sobre las luces de aquí, 293 00:14:04,130 --> 00:14:06,450 ¿por qué no hago este tipo del nuevo estilo de la escuela. 294 00:14:06,450 --> 00:14:11,360 Por lo que este podría ser un 1, una linterna siendo en adelante, sólo apenas sin embargo. 295 00:14:11,360 --> 00:14:14,050 Y esto podría ser un 0, y ahora es apagado. 296 00:14:14,050 --> 00:14:18,277 >> Por lo tanto el uso de este dispositivo físico, me ahora puede representar el sistema binario. 297 00:14:18,277 --> 00:14:19,235 Sólo necesito dos estados. 298 00:14:19,235 --> 00:14:21,660 No importa lo el color que es o lo que es. 299 00:14:21,660 --> 00:14:25,920 Lo único que importa es que tengo en un estado y otro estado fuera. 300 00:14:25,920 --> 00:14:30,605 Así que usar mi teléfono aquí, ¿cómo hacer yo representar el número que conocemos como 0? 301 00:14:30,605 --> 00:14:34,490 302 00:14:34,490 --> 00:14:38,550 O dicho de forma equivalente, lo Número estoy representando ahora? 303 00:14:38,550 --> 00:14:39,810 0, debido a que el dispositivo está apagado. 304 00:14:39,810 --> 00:14:41,560 >> Y si hago esto? 305 00:14:41,560 --> 00:14:43,583 Y ahora, ¿cómo puedo representar el número 2? 306 00:14:43,583 --> 00:14:46,380 307 00:14:46,380 --> 00:14:50,930 Me puedes prestar tu telephono aquí, como lo hicimos ayer? 308 00:14:50,930 --> 00:14:58,490 Así que vamos a ver, por lo que si quiero representar el número 2, es éste el número 2? 309 00:14:58,490 --> 00:14:59,050 No. 310 00:14:59,050 --> 00:15:02,250 ¿Qué número soy yo accidentalmente representando aquí? 311 00:15:02,250 --> 00:15:03,550 Esto es en realidad el número 3. 312 00:15:03,550 --> 00:15:05,008 >> Así que uno es lo que quiero para apagar? 313 00:15:05,008 --> 00:15:09,634 El teléfono negro o- bien, si they're-- teléfono negro o el teléfono blanco? 314 00:15:09,634 --> 00:15:10,300 El teléfono blanco. 315 00:15:10,300 --> 00:15:17,020 Así que si a su vez esto adelante y nosotros alinéalo por aquí, tenemos un 1 316 00:15:17,020 --> 00:15:19,487 en el lugar del 2 y un 0 en lugar de la 1. 317 00:15:19,487 --> 00:15:21,195 Y así que estoy ahora que representa el número 2. 318 00:15:21,195 --> 00:15:24,680 Y esto, por supuesto, sería el número 3, porque ahora estas dos luces 319 00:15:24,680 --> 00:15:25,350 están en. 320 00:15:25,350 --> 00:15:27,480 >> Y voy a parar aquí, pero es lógico pensar 321 00:15:27,480 --> 00:15:31,100 si quiero representar la número 4 o 8 o superior, 322 00:15:31,100 --> 00:15:32,529 Voy a necesitar más móviles. 323 00:15:32,529 --> 00:15:33,820 Pero eso es todo lo que está pasando. 324 00:15:33,820 --> 00:15:37,800 Así que si alguna vez has escuchado que A-- interior del equipo gracias usted-- 325 00:15:37,800 --> 00:15:42,269 es millones de transistores, eso es sólo millones de pequeños interruptores diminutos. 326 00:15:42,269 --> 00:15:44,310 Y no son la luz bombillas que se encienden y apagan, 327 00:15:44,310 --> 00:15:48,340 pero sí permiten ya sea de electricidad a fluir en alguna parte o detenerlo. 328 00:15:48,340 --> 00:15:52,140 Y lo que no es su dos Unidos-- encendido o apagado, encendido o apagado. 329 00:15:52,140 --> 00:15:55,730 >> Por lo tanto, parecería ahora tener esta capacidad 330 00:15:55,730 --> 00:16:00,590 para representar este concepto que nos gustaría en el hardware real. 331 00:16:00,590 --> 00:16:05,520 Pero todo lo que tenemos ahora es la capacidad para representar los números de lo que parece. 332 00:16:05,520 --> 00:16:08,580 Entonces, ¿cómo hacemos para que representa letras del alfabeto, los cuales 333 00:16:08,580 --> 00:16:12,310 se siente como el siguiente tipo de función, querría añadir a un ordenador moderno 334 00:16:12,310 --> 00:16:14,280 una vez que tenga los números? 335 00:16:14,280 --> 00:16:16,930 >> Y de hecho, si se piensa TI, históricamente, ordenadores 336 00:16:16,930 --> 00:16:19,426 se introdujeron realmente para servir como calculadoras numéricamente. 337 00:16:19,426 --> 00:16:21,300 Pero, por supuesto, éstos días, lo hacen mucho más. 338 00:16:21,300 --> 00:16:23,799 Incluso cuando se inicie, suelen ver una o más palabras. 339 00:16:23,799 --> 00:16:27,420 Entonces, ¿cómo representar palabras, si todo lo que tiene es, de nuevo, 340 00:16:27,420 --> 00:16:31,054 electricidad al final de la día, o equivalentemente 0 de 1 y de? 341 00:16:31,054 --> 00:16:34,430 342 00:16:34,430 --> 00:16:35,690 >> Sí. 343 00:16:35,690 --> 00:16:38,320 Sí, es decir, que tipo de hecho esto ayer en una cierta forma, 344 00:16:38,320 --> 00:16:40,200 donde en algún momento, Creo que de manera arbitraria 345 00:16:40,200 --> 00:16:46,741 Dicho esto, si queremos representar la letra A, podríamos llamar a eso un 1. 346 00:16:46,741 --> 00:16:49,990 Fue en el contexto de la criptografía, donde sólo necesitamos algún tipo de código, 347 00:16:49,990 --> 00:16:51,160 mismo tipo de mapas. 348 00:16:51,160 --> 00:16:56,680 >> Así que tal vez A se representa como una 1 y B serán representados como 2, 349 00:16:56,680 --> 00:17:01,560 y Z estará representada como 26, por ejemplo. 350 00:17:01,560 --> 00:17:07,430 Y entonces la única advertencia es que si estoy va a codificar las letras en mis correos electrónicos 351 00:17:07,430 --> 00:17:10,430 o en mis mensajes de texto como números, todos ustedes 352 00:17:10,430 --> 00:17:12,640 que ponerse de acuerdo para utilizar el mismo conjunto de convenciones. 353 00:17:12,640 --> 00:17:14,619 Y, en efecto, el mundo ha hecho exactamente eso. 354 00:17:14,619 --> 00:17:18,040 >> Hay un sistema en el mundo denominado ASCII, American Standard 355 00:17:18,040 --> 00:17:21,640 Código para el Intercambio de Información, que es simplemente una decisión de algunos años 356 00:17:21,640 --> 00:17:25,720 Hace que los seres humanos hacen que Un decidió que va a ser igual, no 357 00:17:25,720 --> 00:17:32,260 1, 2, y 26, y así forth-- es una diferente-- poco pero el 65, 66, 67. 358 00:17:32,260 --> 00:17:34,010 Y voy a tirar de una gráfico en un momento. 359 00:17:34,010 --> 00:17:34,580 Pero es arbitraria. 360 00:17:34,580 --> 00:17:36,329 Pero no importa que es arbitrario. 361 00:17:36,329 --> 00:17:38,620 El mundo tiene que acaba de ser coherente. 362 00:17:38,620 --> 00:17:40,540 >> Ahora, más recientemente, hay algo más de lujo 363 00:17:40,540 --> 00:17:45,430 llamado Unicode, porque especie del mundo se dieron cuenta de, después de la invención de las computadoras, 364 00:17:45,430 --> 00:17:50,977 que no hay más que bien 256 símbolos en el mundo 365 00:17:50,977 --> 00:17:53,560 que lo que se quiere representar, especialmente cuando se introduce 366 00:17:53,560 --> 00:17:58,420 idiomas asiáticos y otras simbologías que necesitan más de lo que la expresividad 367 00:17:58,420 --> 00:18:02,150 puede caber en la versión más antigua de este código, que fue llamado ASCII. 368 00:18:02,150 --> 00:18:05,250 Así Unicode permite en realidad que utilice más de 0 y 2. 369 00:18:05,250 --> 00:18:08,830 En particular, si siguen escuchando la bytes de la palabra en la sociedad e incluso sólo 370 00:18:08,830 --> 00:18:09,400 ayer. 371 00:18:09,400 --> 00:18:12,040 Y un byte es lo nuevo? 372 00:18:12,040 --> 00:18:14,840 >> ¿Qué es un byte? 373 00:18:14,840 --> 00:18:15,700 Es sólo 8 bits. 374 00:18:15,700 --> 00:18:17,150 Entonces, ¿qué significa esto realmente? 375 00:18:17,150 --> 00:18:22,400 Bueno, eso significa que, antes, cuando éramos hablando binario y que estaba usando 376 00:18:22,400 --> 00:18:28,010 arbitrariamente tres bits cuando estuvimos hablando de binary-- lugar del 1, 377 00:18:28,010 --> 00:18:33,600 el lugar del 2 y el 4 de lugar-- así, un byte sólo significa que usted está hablando 378 00:18:33,600 --> 00:18:38,730 no en unidades de tres pero cuatro, cinco, seis, siete, ocho, 379 00:18:38,730 --> 00:18:46,910 lo que nos da el lugar de 8, de 16, de 32, de 64, y 128 de. 380 00:18:46,910 --> 00:18:50,010 >> En otras palabras, un poco no es todo que la utilidad de una unidad de medida, 381 00:18:50,010 --> 00:18:53,132 porque es como una diminuta pieza de información, dentro o fuera. 382 00:18:53,132 --> 00:18:54,840 Así, hace unos años, el mundo acaba de decidir 383 00:18:54,840 --> 00:18:59,060 Es un poco más conveniente hablar de términos de bytes, ocho cosas a la vez. 384 00:18:59,060 --> 00:19:01,670 Y por lo tanto, nació la noción de un byte. 385 00:19:01,670 --> 00:19:03,640 Y así tenemos ocho bits aquí. 386 00:19:03,640 --> 00:19:06,810 >> Y resulta que, también, para similares razones, el mundo decidieron años 387 00:19:06,810 --> 00:19:12,439 Hace que representan a una carta ASCII, usted va a utilizar unidades de 8 bits. 388 00:19:12,439 --> 00:19:14,230 Así que incluso si no lo hace necesita que muchos, eres 389 00:19:14,230 --> 00:19:18,130 Siempre va a utilizar 8 bits de representar una letra del alfabeto. 390 00:19:18,130 --> 00:19:20,950 Y esto es conveniente, porque entonces si 391 00:19:20,950 --> 00:19:28,720 recibir un mensaje que tiene un 0 0 1 0 1 1 1 0 seguido de otro 1 1 1 0 1 0 392 00:19:28,720 --> 00:19:33,320 0 1, por lo que si usted recibe 16 los bits, el mundo solo puede 393 00:19:33,320 --> 00:19:37,460 Supongamos que el primer 8 son una letra y la segunda 8 son otra carta. 394 00:19:37,460 --> 00:19:39,240 >> No importa cuántos hay. 395 00:19:39,240 --> 00:19:41,460 Sólo importa que todos somos coherentes 396 00:19:41,460 --> 00:19:42,950 cuando estamos interpretación de estos bits. 397 00:19:42,950 --> 00:19:44,377 Y esto fue sólo al azar. 398 00:19:44,377 --> 00:19:47,210 Eso quiere decir algo, pero no lo hice Realmente pensar en lo que significa. 399 00:19:47,210 --> 00:19:49,620 >> Así que es una pequeña mentira blanca. 400 00:19:49,620 --> 00:19:51,990 Originalmente, ASCII efectivamente utilizados sólo 7 bits. 401 00:19:51,990 --> 00:19:54,180 Y el octavo bit es llamado ASCII extendido. 402 00:19:54,180 --> 00:19:56,290 Pero el punto es, en última instancia, el mismo. 403 00:19:56,290 --> 00:19:58,850 El mundo en general estandarizado en 8 bits. 404 00:19:58,850 --> 00:20:04,290 >> Así que este parece ser un poco limitante, porque sólo puede 405 00:20:04,290 --> 00:20:07,970 constituirá un fondo A, capital de la B a la Z. de capital 406 00:20:07,970 --> 00:20:10,940 Pero de hecho no es así, si voy a-- hay un montón de recursos 407 00:20:10,940 --> 00:20:13,695 en línea, por ejemplo, asciitable.com, este 408 00:20:13,695 --> 00:20:16,310 va a ser un poco abrumador al principio. 409 00:20:16,310 --> 00:20:18,910 Pero voy a señalar lo que es importante aquí. 410 00:20:18,910 --> 00:20:24,090 >> Esto sólo pasa a ser-- y voy a walk-- vamos a ver, si me voy de aquí. 411 00:20:24,090 --> 00:20:27,990 Aquí está, en el decimal columna, el número 65. 412 00:20:27,990 --> 00:20:32,201 Y en la letra de la columna de la derecha carácter, Chr, es la letra A. 413 00:20:32,201 --> 00:20:34,450 Y se puede ignorar, por ahora, todo en el medio. 414 00:20:34,450 --> 00:20:36,769 Esto es hexadecimal, octal, y un código HTML. 415 00:20:36,769 --> 00:20:39,810 Para este sitio sólo está tratando de tirar una gran cantidad de información en la que a la vez. 416 00:20:39,810 --> 00:20:42,970 Pero lo único que importa es el decimal columna y la columna de caracteres. 417 00:20:42,970 --> 00:20:46,190 >> Así por esta lógica, lo que es el número que el mundo 418 00:20:46,190 --> 00:20:50,510 ha decidido representa una minúscula? 419 00:20:50,510 --> 00:20:52,230 Sí, 97. 420 00:20:52,230 --> 00:20:55,850 Y sólo para confundir potencialmente, algo, 421 00:20:55,850 --> 00:21:03,715 qué número ha decidido el mundo representaría el número 1? 422 00:21:03,715 --> 00:21:06,900 423 00:21:06,900 --> 00:21:10,910 Claro, porque nosotros-- 49, parece aquí, en la parte inferior izquierda. 424 00:21:10,910 --> 00:21:12,320 >> Ahora, ¿qué quiero decir con eso? 425 00:21:12,320 --> 00:21:14,830 Así resulta que en los sistemas informáticos, 426 00:21:14,830 --> 00:21:16,840 hay generalmente una diferencia fundamental 427 00:21:16,840 --> 00:21:19,920 entre un número y un carácter. 428 00:21:19,920 --> 00:21:22,330 Un número es lo que nos aprendido crecer cuando 429 00:21:22,330 --> 00:21:23,830 estábamos muy joven en la escuela primaria. 430 00:21:23,830 --> 00:21:25,110 Es lo que usted cuenta con. 431 00:21:25,110 --> 00:21:30,220 Sin embargo, un carácter es sólo una forma, una glifo, por así decirlo, en la pantalla. 432 00:21:30,220 --> 00:21:36,200 >> Ahora, nosotros los humanos vemos una especie de algo que se parece a esto. 433 00:21:36,200 --> 00:21:39,060 Y decimos, oh, que es el número 2. 434 00:21:39,060 --> 00:21:44,999 Pero no, eso es sólo un símbolo que se ve al igual que lo que conocemos como el número 2. 435 00:21:44,999 --> 00:21:46,790 Y lo que no esta distinción fundamental 436 00:21:46,790 --> 00:21:50,340 entre los números reales y caracteres. 437 00:21:50,340 --> 00:21:52,130 Este es un número. 438 00:21:52,130 --> 00:21:54,420 Pero, en general, en el contexto de un ordenador, 439 00:21:54,420 --> 00:21:56,809 Si en lugar de ver algo como esto quoted-- 440 00:21:56,809 --> 00:21:58,600 y no lo hace siempre hay que verlo citado, 441 00:21:58,600 --> 00:22:01,474 pero por el bien de si discussion-- que se ve entre comillas el número, 442 00:22:01,474 --> 00:22:02,730 esto es ahora un personaje. 443 00:22:02,730 --> 00:22:06,330 Así que este número 2 debajo la capucha en el interior de un ordenador 444 00:22:06,330 --> 00:22:12,220 sería representado con un patrón de bits que representan el número 445 00:22:12,220 --> 00:22:14,850 50 de acuerdo con la tabla en línea. 446 00:22:14,850 --> 00:22:18,300 >> Sin embargo, si un ordenador simplemente ve esto, esta 447 00:22:18,300 --> 00:22:24,580 se representaría con el patrón de bits 0 0 0 0 0 0 1 0. 448 00:22:24,580 --> 00:22:29,595 Considerando que, con este personaje lo haría en realidad ser representado como- y ahora, 449 00:22:29,595 --> 00:22:34,710 Tengo que pensar un poco por lo que este harder-- carácter estaría representada con 0 450 00:22:34,710 --> 00:22:39,080 0 1-- ¿Qué necesito aquí? 451 00:22:39,080 --> 00:22:44,450 0 1 0 1 0 0 1 0. 452 00:22:44,450 --> 00:22:45,480 ¿Cómo puedo hacer esto? 453 00:22:45,480 --> 00:22:49,580 Bueno, este es el número 50, si se multiplica a cabo utilizando estas columnas, 454 00:22:49,580 --> 00:22:53,530 este es el número 2, y así por eso existe esta dicotomía. 455 00:22:53,530 --> 00:22:55,850 >> Y esto es sólo una sumario ahora para características 456 00:22:55,850 --> 00:22:59,710 que existen en los lenguajes de programación que vamos a tocar brevemente el día de hoy. 457 00:22:59,710 --> 00:23:01,950 En los lenguajes de programación, usted tiene por lo general, 458 00:23:01,950 --> 00:23:04,495 pero no siempre, las cosas llamar a diferentes tipos de datos. 459 00:23:04,495 --> 00:23:06,870 En otras palabras, un programmer-- cuando él o ella está escribiendo, 460 00:23:06,870 --> 00:23:11,150 un programador puede decidir en qué formato para almacenar sus datos. 461 00:23:11,150 --> 00:23:14,120 Puede almacenar datos como números en bruto, como el número 2. 462 00:23:14,120 --> 00:23:17,940 O se puede almacenar como cadenas, o secuencias de caracteres 463 00:23:17,940 --> 00:23:21,550 que le suelen expresar con citas en su lenguaje de programación. 464 00:23:21,550 --> 00:23:25,230 >> Puede tener cosas called-- Voy a simplificar en exceso y llamarlos 465 00:23:25,230 --> 00:23:28,870 numbers-- reales de modo que los números no son números enteros como el número 2, 466 00:23:28,870 --> 00:23:31,310 pero los números como 4.56. 467 00:23:31,310 --> 00:23:33,490 Así que los números reales también pueden tienen puntos decimales, 468 00:23:33,490 --> 00:23:36,340 así que es un diferente fundamental pieza de datos en un ordenador. 469 00:23:36,340 --> 00:23:41,920 Y después, se puede tener otros tipos de datos fijas. 470 00:23:41,920 --> 00:23:45,810 Así que eso es sólo un avance realmente de la más simple de las decisiones de diseño 471 00:23:45,810 --> 00:23:50,960 que un programador podría hacer debajo de la campana. 472 00:23:50,960 --> 00:23:52,925 >> Así que cualquier pregunta por el momento? 473 00:23:52,925 --> 00:23:57,320 474 00:23:57,320 --> 00:23:59,860 Así que vamos a tratar de hacer esto un poco más real. 475 00:23:59,860 --> 00:24:02,120 Este no es el hardware tanto en uso más. 476 00:24:02,120 --> 00:24:07,420 Pero casi todo el mundo en esta habitación probablemente creció con y sigue utilizando discos duros 477 00:24:07,420 --> 00:24:08,010 de alguna manera. 478 00:24:08,010 --> 00:24:10,100 >> Aunque la mayoría de nuestros ordenadores portátiles ya no 479 00:24:10,100 --> 00:24:15,900 tener dispositivos que operan de esta manera, en cambio los ordenadores portátiles de hoy en general 480 00:24:15,900 --> 00:24:18,590 tienen unidades de estado sólido sin partes móviles. 481 00:24:18,590 --> 00:24:22,840 Y que tiende a ser más caro, por desgracia, pero un poco más rápido 482 00:24:22,840 --> 00:24:27,230 A-- y así, a menudo, mucho más rápido, que es una de las razones. 483 00:24:27,230 --> 00:24:28,980 Y también no lo hace genera tanto calor. 484 00:24:28,980 --> 00:24:31,680 Puede ser más pequeño, por lo que es generalmente un neto positivo. 485 00:24:31,680 --> 00:24:35,030 >> Pero esto nos permite mapear una poco más concretamente lo 486 00:24:35,030 --> 00:24:38,460 estamos hablando en el 0 y de 1 planta ahora a un dispositivo físico. 487 00:24:38,460 --> 00:24:40,810 Es una cosa para mí hablar aproximadamente de 0 y 1 en términos de 488 00:24:40,810 --> 00:24:43,990 de mi teléfono o de manera abstracta en términos interruptores de ser encendido y apagado. 489 00:24:43,990 --> 00:24:45,340 Pero ¿qué pasa con los discos duros? 490 00:24:45,340 --> 00:24:48,495 En sus ordenadores portátiles, si usted tiene una más antigua uno, o en su ordenador de sobremesa, 491 00:24:48,495 --> 00:24:51,200 o seguramente en los servidores hoy en día, donde se tiene 492 00:24:51,200 --> 00:24:53,070 discos duros que tienen un terabyte de espacio, 493 00:24:53,070 --> 00:24:55,560 4 terabytes de espacio, ¿Bueno, qué significa eso? 494 00:24:55,560 --> 00:24:59,560 >> Un disco duro con 1 terabyte de medios espaciales 495 00:24:59,560 --> 00:25:03,890 hay 1 billón de bytes dentro de ella de alguna manera, 496 00:25:03,890 --> 00:25:10,450 o equivalentemente 8 billones de bits en el interior. 497 00:25:10,450 --> 00:25:16,240 1 terabyte sería de 8 terabits o 1 billón de bits, lo que 498 00:25:16,240 --> 00:25:19,330 significa que si usted tiene un disco unidad, usted tiene alguna 499 00:25:19,330 --> 00:25:22,400 u otros de un billón de 0 y de 1 en el interior de la misma. 500 00:25:22,400 --> 00:25:25,360 Y si sólo echar un vistazo a una foto arbitraria de un disco duro 501 00:25:25,360 --> 00:25:30,110 representativa, esto es lo que un disco unidad normalmente podría ser como en el interior. 502 00:25:30,110 --> 00:25:32,600 >> Es, también, es algo así como un viejo fonógrafo 503 00:25:32,600 --> 00:25:35,350 pero en general con varios registros interior, por lo 504 00:25:35,350 --> 00:25:38,270 a speak-- múltiple platos, como se les llama, 505 00:25:38,270 --> 00:25:42,259 discos circulares de metal, y a continuación, una pequeña cabeza de lectura, 506 00:25:42,259 --> 00:25:43,550 al igual que un viejo tocadiscos. 507 00:25:43,550 --> 00:25:46,589 Y que la cabeza de lectura se mueve hacia atrás y sucesivamente y de alguna manera lee los bits. 508 00:25:46,589 --> 00:25:49,380 Y lo que es en estos discos, incluso A pesar de que los humanos no pueden ver, 509 00:25:49,380 --> 00:25:52,757 ya sea en la realidad o en esta imagen, hay partículas magnéticas pequeñas diminutas. 510 00:25:52,757 --> 00:25:55,090 E incluso si no tienes mucho olvidado cómo funciona la electricidad, 511 00:25:55,090 --> 00:25:57,550 una partícula magnética que está cargado en general 512 00:25:57,550 --> 00:26:00,570 tiene un extremo norte y un sur end-- tan al norte y al sur. 513 00:26:00,570 --> 00:26:03,000 Y así el mundo justo decidió hace algún tiempo 514 00:26:03,000 --> 00:26:06,570 que, si un protocolo magnético esencialmente está alineado como este, norte-sur, 515 00:26:06,570 --> 00:26:07,610 vamos a llamar a que un 1. 516 00:26:07,610 --> 00:26:10,470 Si se trata de su lugar de sur a norte, Vamos a llamar que un 0. 517 00:26:10,470 --> 00:26:13,350 Y por lo que si usted tiene por lo su disposición un billón 518 00:26:13,350 --> 00:26:16,300 diminuto magnética particles-- y es de esperar, 519 00:26:16,300 --> 00:26:18,740 el ingenio de hardware en Para voltear los que lo rodean 520 00:26:18,740 --> 00:26:24,450 como se ve fit-- si desea representan un manojo entero de 0 de, usted 521 00:26:24,450 --> 00:26:28,120 sólo tiene 8 partículas magnéticas todos alineados como este. 522 00:26:28,120 --> 00:26:30,330 Y si usted quiere representar 1 de ocho, que acaba 523 00:26:30,330 --> 00:26:33,170 necesitará 8 partículas magnéticas alineadas espalda con espalda con espalda como este. 524 00:26:33,170 --> 00:26:35,515 >> ¿Qué quiero decir por el partículas magnéticas? 525 00:26:35,515 --> 00:26:38,390 Francamente, después de tantos años, la Lo que todavía viene a la mente 526 00:26:38,390 --> 00:26:42,139 es este tipo, si creció con esta cosa. 527 00:26:42,139 --> 00:26:43,930 Este es un poco-- para los unfamiliar-- una 528 00:26:43,930 --> 00:26:47,810 pequeño juguete infantil que tiene este hombre sin pelo aquí 529 00:26:47,810 --> 00:26:51,690 que tiene todas estas minúsculo negro partículas magnéticas que vienen con él. 530 00:26:51,690 --> 00:26:53,930 Y el uso de ese palo rojo, que es sólo un imán, 531 00:26:53,930 --> 00:26:58,460 que tipo de le puede dar un bigote o cejas o el pelo o cualquier cosa sobre él. 532 00:26:58,460 --> 00:27:00,710 Así que de hecho, si nos acercamos en, por ejemplo, este 533 00:27:00,710 --> 00:27:02,950 es el tipo de juego que puede jugar con Wooly Willy. 534 00:27:02,950 --> 00:27:06,570 >> Y esto es sólo decir que estos son partículas magnéticas mucho más grandes 535 00:27:06,570 --> 00:27:09,890 que son en realidad en un disco duro, y muchas menos partículas magnéticas. 536 00:27:09,890 --> 00:27:11,640 Pero vamos a ver realmente a continuación, si usted tiene 537 00:27:11,640 --> 00:27:14,720 minúsculas partículas magnéticas en una disco duro, cómo en realidad se puede 538 00:27:14,720 --> 00:27:19,090 utilizar los datos para representar. 539 00:27:19,090 --> 00:27:20,070 >> [REPRODUCCIÓN DE VÍDEO] 540 00:27:20,070 --> 00:27:24,190 >> -El Disco duro es donde su PC la mayoría de las tiendas de sus datos permanentes. 541 00:27:24,190 --> 00:27:27,170 Para hacer eso, los datos viaja desde la memoria RAM a lo largo 542 00:27:27,170 --> 00:27:31,720 con las señales que le indican al software disco duro de cómo almacenar esos datos. 543 00:27:31,720 --> 00:27:36,570 Los circuitos del disco duro se traducen los señales en las fluctuaciones de voltaje. 544 00:27:36,570 --> 00:27:40,880 Estos, a su vez, el control de la unidad de disco parts-- mover algunos de los pocos en movimiento 545 00:27:40,880 --> 00:27:43,440 partes dejaron en la informática moderna. 546 00:27:43,440 --> 00:27:47,650 >> Algunas de las señales de control de un motor, que gira bandejas recubiertas de metal. 547 00:27:47,650 --> 00:27:50,980 Sus datos es en realidad almacenada en estos discos. 548 00:27:50,980 --> 00:27:56,250 Otras señales se mueven las cabezas de lectura / escritura para leer o escribir datos en los discos. 549 00:27:56,250 --> 00:28:00,100 Esta maquinaria es tan precisa que un cabello humano no podría incluso 550 00:28:00,100 --> 00:28:02,800 pasar entre las cabezas y platos giratorios. 551 00:28:02,800 --> 00:28:04,887 Sin embargo, todo funciona a velocidades fenomenales. 552 00:28:04,887 --> 00:28:05,470 [FIN DE REPRODUCCIÓN] 553 00:28:05,470 --> 00:28:06,780 Y se puede ver en el extremo de cola del video, 554 00:28:06,780 --> 00:28:08,340 generalmente hay múltiples fuentes. 555 00:28:08,340 --> 00:28:10,250 Y para que la cabeza de lectura no es sólo la lectura de la parte superior. 556 00:28:10,250 --> 00:28:12,458 Es algo así como tres o cuatro o más cabezas de lectura 557 00:28:12,458 --> 00:28:14,920 que se mueven de esta manera, la lectura de datos de forma simultánea. 558 00:28:14,920 --> 00:28:17,407 >> Así que hay una gran cantidad de complejidad y tipo de temporización 559 00:28:17,407 --> 00:28:18,740 que está involucrado en un disco duro. 560 00:28:18,740 --> 00:28:21,920 Y lo está haciendo girar realmente maldito rápido, así que hay una gran cantidad de complejidad. 561 00:28:21,920 --> 00:28:25,220 Pero vamos a acercar un poco más y ver dónde son estas partículas magnéticas 562 00:28:25,220 --> 00:28:27,370 y ¿cómo se van a obtener en ellos. 563 00:28:27,370 --> 00:28:28,750 >> [REPRODUCCIÓN DE VÍDEO] 564 00:28:28,750 --> 00:28:31,830 >> La mirada de -Let en lo que acabo de ver en cámara lenta. 565 00:28:31,830 --> 00:28:35,230 Cuando un breve pulso de electricidad se envía a la cabeza de lectura / escritura, 566 00:28:35,230 --> 00:28:39,000 se voltea en una pequeña electromagnética por una fracción de un segundo. 567 00:28:39,000 --> 00:28:41,390 El imán crea una campo, que cambia 568 00:28:41,390 --> 00:28:44,600 la polaridad de una pequeña, diminuta porción de las partículas metálicas 569 00:28:44,600 --> 00:28:46,960 que recubren la superficie de cada disco. 570 00:28:46,960 --> 00:28:50,020 Una serie patrón de estos diminutos cargadas hasta las zonas del disco 571 00:28:50,020 --> 00:28:54,590 representa un solo bit de datos en el sistema de numeración binario que utilizan los ordenadores. 572 00:28:54,590 --> 00:28:57,510 >> Ahora, si la corriente se envía una camino a través de la cabeza de lectura / escritura, 573 00:28:57,510 --> 00:28:59,899 la zona está polarizada en una dirección. 574 00:28:59,899 --> 00:29:01,940 Si la corriente se envía en la dirección opuesta, 575 00:29:01,940 --> 00:29:04,020 la polarización se invierte. 576 00:29:04,020 --> 00:29:06,440 ¿Cómo se obtiene los datos desde el disco duro? 577 00:29:06,440 --> 00:29:08,190 Sólo revertir el proceso. 578 00:29:08,190 --> 00:29:10,440 Por lo que es las partículas en la disco que llegar la corriente 579 00:29:10,440 --> 00:29:12,260 en la cabeza de lectura / escritura en movimiento. 580 00:29:12,260 --> 00:29:14,580 Armar millones de estos segmentos magnetizados, 581 00:29:14,580 --> 00:29:16,220 y usted tiene un archivo. 582 00:29:16,220 --> 00:29:21,030 >> Ahora, las piezas de un solo archivo puede ser esparcidos por todo platos de una unidad, 583 00:29:21,030 --> 00:29:24,060 algo así como el desorden de papeles sobre su escritorio. 584 00:29:24,060 --> 00:29:27,590 Así que un archivo extra especial mantiene realizar un seguimiento de dónde está todo. 585 00:29:27,590 --> 00:29:30,440 ¿No te gustaría tener ¿algo como eso? 586 00:29:30,440 --> 00:29:31,290 >> [FIN DE REPRODUCCIÓN] 587 00:29:31,290 --> 00:29:36,260 >> Así se alude allí, tal vez, es ese tema de ayer de su eliminación. 588 00:29:36,260 --> 00:29:38,380 Cuando se elimina una archivo, ayer dijimos 589 00:29:38,380 --> 00:29:41,020 que hace una computadora realidad lo que, cuando se arrastra algo 590 00:29:41,020 --> 00:29:44,110 a la papelera de reciclaje o contenedor de basura? 591 00:29:44,110 --> 00:29:45,150 Simplemente olvida. 592 00:29:45,150 --> 00:29:47,540 Pero el 0 y de 1, las partículas magnéticas 593 00:29:47,540 --> 00:29:50,640 esa mirada como el rojo y el azul cosas aquí, o aquí, mi brazo 594 00:29:50,640 --> 00:29:52,350 todavía están allí en el disco duro. 595 00:29:52,350 --> 00:29:56,090 >> Y por lo que no existe software-- Norton Utilities y antaño 596 00:29:56,090 --> 00:29:58,159 y otra más moderno software-- que acaba 597 00:29:58,159 --> 00:30:01,200 escanea un disco duro entero mirando a todas aquellas de 0 y 1, ya que de 598 00:30:01,200 --> 00:30:06,890 Resulta que la mayoría Formatos-- archivo documentos de Word, Excel, imágenes, 599 00:30:06,890 --> 00:30:10,380 archivos-- de vídeo todos tienen cierta patrones que son comunes entre ellos. 600 00:30:10,380 --> 00:30:12,550 Cada archivo de vídeo podría ser de un vídeo diferente, 601 00:30:12,550 --> 00:30:14,870 pero los primeros bits son generalmente los mismos. 602 00:30:14,870 --> 00:30:16,790 O los últimos varios bits suelen ser los mismos. 603 00:30:16,790 --> 00:30:19,910 >> Y así, con alta probabilidad, usted puede buscar esos patrones. 604 00:30:19,910 --> 00:30:23,700 E incluso si el archivo se ha olvidado, se puede decir con alta probabilidad, 605 00:30:23,700 --> 00:30:28,460 pero esto se parece a un documento de Word, deja para recuperarlo y poco olvidarlo, 606 00:30:28,460 --> 00:30:28,990 Si tu quieres. 607 00:30:28,990 --> 00:30:32,330 Y así es como se puede recuperar datos que están ya sea accidentalmente sido 608 00:30:32,330 --> 00:30:36,560 eliminado o suprimido o deliberadamente suprimido con qué propósitos. 609 00:30:36,560 --> 00:30:42,530 >> Por el contrario, la eliminación segura de lo que hace en el contexto de una imagen como esta? 610 00:30:42,530 --> 00:30:44,059 Exactamente, las hace al azar. 611 00:30:44,059 --> 00:30:46,350 Por lo que se mueve tipo de algunos de hacia abajo, algunos de ellos hacia arriba, 612 00:30:46,350 --> 00:30:49,433 deja algunos de ellos sin cambios, y en general, hace ruido aleatorio fuera de él, 613 00:30:49,433 --> 00:30:52,960 o tal vez simplemente hace que todos 0 de ellos o todos ellos de 1. 614 00:30:52,960 --> 00:30:56,350 Y que también puede hacerlo en general fregar los datos de distancia. 615 00:30:56,350 --> 00:31:00,160 >> Así que vamos a volver ahora a la cuestión de pensamiento computacional, lo cual 616 00:31:00,160 --> 00:31:03,270 tenemos las entradas de la fórmula. 617 00:31:03,270 --> 00:31:06,390 Y algoritmos da que en última instancia salidas. 618 00:31:06,390 --> 00:31:09,270 Nos centramos ahora en los insumos y salidas, porque ahora, 619 00:31:09,270 --> 00:31:12,159 reclamo que tenemos una forma de en representación de las entradas y salidas. 620 00:31:12,159 --> 00:31:13,450 Sólo vamos a utilizar binario. 621 00:31:13,450 --> 00:31:15,910 >> Y no importa lo que querer representar hoy en día, 622 00:31:15,910 --> 00:31:20,230 si se trata de un número o una letra o miles de los mismos en un directorio telefónico 623 00:31:20,230 --> 00:31:23,210 o imágenes o películas, al final del día, todo es de 0 y 1 de. 624 00:31:23,210 --> 00:31:26,640 Y afirmo que, a pesar de que esta Es un mundo muy sencilla con sólo 0 de 625 00:31:26,640 --> 00:31:28,240 y 1 de, podemos construir nosotros mismos. 626 00:31:28,240 --> 00:31:32,210 Y hemos visto un ejemplo de que con las letras hasta el momento. 627 00:31:32,210 --> 00:31:35,615 >> Así que vamos a centrarnos ahora en este ingrediente medio, un algoritmo. 628 00:31:35,615 --> 00:31:38,190 Y vamos a volver a este ejemplo de Mike Smith. 629 00:31:38,190 --> 00:31:41,689 Así que en este libro de teléfono, lo que es cierto, no usamos tanto como antes, 630 00:31:41,689 --> 00:31:42,980 hay un problema que hay que resolver. 631 00:31:42,980 --> 00:31:45,040 Queremos encontrar a alguien como Mike Smith. 632 00:31:45,040 --> 00:31:47,520 >> Y lo que podría yo hacer para encontrar Mike? 633 00:31:47,520 --> 00:31:51,197 Así, tan sólo pudiera abrir este libro, se inicia en la primera página, 634 00:31:51,197 --> 00:31:52,780 y darse cuenta, oh, estoy en la sección A. 635 00:31:52,780 --> 00:31:53,510 Mike no está allí. 636 00:31:53,510 --> 00:31:55,510 Necesito la sección S de Smith. 637 00:31:55,510 --> 00:31:58,192 Así que siga girando una página a la vez. 638 00:31:58,192 --> 00:32:00,900 Quiero dar la impresión de que esto es todo páginas blancas y páginas amarillas, no 639 00:32:00,900 --> 00:32:02,910 porque no vamos a encontrar Mike en las páginas amarillas de todos modos. 640 00:32:02,910 --> 00:32:04,034 Pero estoy en las páginas blancas. 641 00:32:04,034 --> 00:32:05,340 Y ahora, estoy en la sección B. 642 00:32:05,340 --> 00:32:06,810 Todavía no lo he encontrado. 643 00:32:06,810 --> 00:32:08,890 Así que sigo girando una página a la vez. 644 00:32:08,890 --> 00:32:10,130 >> Este es un algoritmo. 645 00:32:10,130 --> 00:32:12,440 Es un conjunto de instrucciones para resolver algún problema. 646 00:32:12,440 --> 00:32:16,480 En otras palabras, mira página, si Mike no está en él, 647 00:32:16,480 --> 00:32:20,020 página de la vuelta, y se repite una y otra y otra vez, 648 00:32:20,020 --> 00:32:21,760 idealmente mirando hacia abajo como lo está haciendo. 649 00:32:21,760 --> 00:32:24,120 Así es este algoritmo, este proceso, ¿correcto? 650 00:32:24,120 --> 00:32:27,400 651 00:32:27,400 --> 00:32:28,830 >> Lo siento. 652 00:32:28,830 --> 00:32:30,056 No, he oído algunas nn. 653 00:32:30,056 --> 00:32:33,250 654 00:32:33,250 --> 00:32:36,125 OK, pero es-- sí, sin duda es tedioso. 655 00:32:36,125 --> 00:32:39,000 Al igual, vamos a estar aquí todo el día si seguir buscando a Mike a esta velocidad. 656 00:32:39,000 --> 00:32:41,430 Pero déjeme dicen que es correcto. 657 00:32:41,430 --> 00:32:43,850 Es estúpido, pero es correcto. 658 00:32:43,850 --> 00:32:47,209 >> Al final del día, siempre que podría tomo, voy a encontrar a Mike si él está ahí 659 00:32:47,209 --> 00:32:48,250 y yo estoy prestando atención. 660 00:32:48,250 --> 00:32:50,230 Y, finalmente, llegar a su página. 661 00:32:50,230 --> 00:32:52,890 Y si consigo demasiado lejos, si Llego a la sección en T, 662 00:32:52,890 --> 00:32:55,900 entonces puedo optimizar ligeramente y decir, hm, todo hecho. 663 00:32:55,900 --> 00:32:57,980 Ni siquiera necesito perder el tiempo de ir a la Z. 664 00:32:57,980 --> 00:33:00,010 Pero esta es una muy enfoque lineal, si 665 00:33:00,010 --> 00:33:03,370 va, un tipo de izquierda a derecha enfoque, una línea recta. 666 00:33:03,370 --> 00:33:05,560 Y su correcta pero lento. 667 00:33:05,560 --> 00:33:09,250 >> Por lo que recuerdo de la escuela primaria, una especie de una optimización de un niño de primer grado, 668 00:33:09,250 --> 00:33:13,756 donde aprendí cómo no cuenta por otros, pero por lo twos-- 2, 4, 6. 669 00:33:13,756 --> 00:33:15,630 Es A, mucho más difícil de hacer, pero en teoría, es 670 00:33:15,630 --> 00:33:20,149 faster-- 8, 10, 12, 14, y así sucesivamente. 671 00:33:20,149 --> 00:33:21,190 ¿Qué hay de ese algoritmo? 672 00:33:21,190 --> 00:33:23,150 ¿Es más eficiente? 673 00:33:23,150 --> 00:33:23,880 ¿Es más rápido? 674 00:33:23,880 --> 00:33:25,365 >> PÚBLICO: Es eficiente. 675 00:33:25,365 --> 00:33:28,560 >> DAVID MALAN: Sí, por lo que es def-- es literalmente, el doble de rápido, que suponiendo 676 00:33:28,560 --> 00:33:30,170 No se deje tropezar con los dedos. 677 00:33:30,170 --> 00:33:32,294 Es dos veces más rápido, porque Estoy girando a través de dos 678 00:33:32,294 --> 00:33:36,560 páginas a la vez en lugar de uno, pero es potencialmente, en correcta, porque ¿por qué? 679 00:33:36,560 --> 00:33:37,852 >> AUDIENCIA: Usted está omitiendo algunos. 680 00:33:37,852 --> 00:33:41,185 DAVID MALAN: Derecho, lo que pasa si Mike para ser sandwiched-- tal vez cuando estoy más tarde 681 00:33:41,185 --> 00:33:44,370 en la guía telefónica, Mike pasa a ser intercalado entre estas dos páginas, 682 00:33:44,370 --> 00:33:46,720 y yo sólo ciegamente a saltar sobre ella. 683 00:33:46,720 --> 00:33:48,490 Así que necesitamos un poco de corrección de allí. 684 00:33:48,490 --> 00:33:51,290 Una vez que llegué a la sección T, I no se puede decir simplemente con confianza, 685 00:33:51,290 --> 00:33:52,420 no hemos encontrado Mike Smith. 686 00:33:52,420 --> 00:33:53,770 Probablemente tengo a doble vuelta. 687 00:33:53,770 --> 00:34:00,210 O, de hecho, una vez que llegue a alguien llamado S-N, en lugar de S-M para Smith, 688 00:34:00,210 --> 00:34:02,790 de inmediato, podría duplicar atrás, porque tal vez él 689 00:34:02,790 --> 00:34:03,900 estaba en la página anterior. 690 00:34:03,900 --> 00:34:05,070 >> Pero yo no tengo que volver sobre el momento. 691 00:34:05,070 --> 00:34:08,030 En teoría, si lo hago a la derecha tiempo, acabo de volver de una página. 692 00:34:08,030 --> 00:34:10,139 Por lo que es la adición de un solo paso adicional. 693 00:34:10,139 --> 00:34:13,070 Así que he ido dos veces más rápido, pero me costó una página adicional. 694 00:34:13,070 --> 00:34:14,699 Pero que se siente como una ganancia neta. 695 00:34:14,699 --> 00:34:17,230 >> Pero esto no es como la mayoría de la gente en esta sala podría resolver este problema. 696 00:34:17,230 --> 00:34:20,313 ¿Cómo sería una persona típica, tal vez una Hace algunos años lo hacen, para encontrar Mike Smith? 697 00:34:20,313 --> 00:34:22,900 698 00:34:22,900 --> 00:34:24,800 Sí, no encontró Mike. 699 00:34:24,800 --> 00:34:27,190 ¿Qué debo hacer? 700 00:34:27,190 --> 00:34:31,027 Así que un poco más cerca, pero lo hago saber-- lo que es cierto acerca de una guía telefónica? 701 00:34:31,027 --> 00:34:32,110 PÚBLICO: Es secuencial. 702 00:34:32,110 --> 00:34:32,760 DAVID MALAN: Es secuencial. 703 00:34:32,760 --> 00:34:33,750 Es alfabético. 704 00:34:33,750 --> 00:34:36,540 Y por lo que si estoy en la sección H, Mike es claramente hacia la derecha, 705 00:34:36,540 --> 00:34:39,949 literalmente me puedo romper el problema en half-- 706 00:34:39,949 --> 00:34:44,360 por lo general es más fácil que la lágrima que- el problema por la mitad y tirarlo a la basura, 707 00:34:44,360 --> 00:34:47,627 de modo que ahora, tengo un problema que es Ya no pages-- 1000 que era difícil, 708 00:34:47,627 --> 00:34:50,210 porque creo que en realidad arranqué la guía telefónica esto no tiempo-- 709 00:34:50,210 --> 00:34:52,219 1.000 páginas, pero 500. 710 00:34:52,219 --> 00:34:54,750 >> Así que el problema es, literalmente, la mitad de grande. 711 00:34:54,750 --> 00:34:58,170 Y eso es bastante convincente, porque con mis algoritmos anteriores, versión 712 00:34:58,170 --> 00:35:02,870 1 y 2, lo único que estaba haciendo el problema una página más pequeñas, dos páginas más pequeñas 713 00:35:02,870 --> 00:35:03,470 a la vez. 714 00:35:03,470 --> 00:35:07,230 Mientras que ahora, lo hice 500 páginas más pequeñas a la vez. 715 00:35:07,230 --> 00:35:10,089 >> Aceptar, por lo que ahora, Karim propone que voy a la mitad derecha. 716 00:35:10,089 --> 00:35:12,380 Así que voy a ir más o menos a la mitad, más o menos. 717 00:35:12,380 --> 00:35:15,185 Y si hiciera esto matemáticamente, Podría ir a la derecha hacia el centro. 718 00:35:15,185 --> 00:35:17,060 Y ahora, me doy cuenta, oh, Estoy en la sección T. 719 00:35:17,060 --> 00:35:18,280 De hecho, me he ido demasiado lejos. 720 00:35:18,280 --> 00:35:21,670 >> Pero puedo, una vez más, romper la problema a la mitad, tirarlo a la basura. 721 00:35:21,670 --> 00:35:23,330 Y mis bytes no es tan grande. 722 00:35:23,330 --> 00:35:28,780 Es sólo, lo que, 256 ó 250 páginas páginas, más o menos en este momento. 723 00:35:28,780 --> 00:35:31,570 Pero aún así es mucho más de una página o dos páginas. 724 00:35:31,570 --> 00:35:33,345 >> Y por lo que ahora, voy más o menos a la mitad. 725 00:35:33,345 --> 00:35:35,330 Oh, yo no ir bastante lejos ahora. 726 00:35:35,330 --> 00:35:37,880 Así que repito, repetir, repetir, repetir, hasta que estoy con suerte 727 00:35:37,880 --> 00:35:40,360 la izquierda con una sola página. 728 00:35:40,360 --> 00:35:44,000 >> Por lo que invita a la pregunta, si yo comenzado con aproximadamente 1.000 páginas, 729 00:35:44,000 --> 00:35:47,340 cuántos pasos me tomó con la versión 1 de mi algoritmo? 730 00:35:47,340 --> 00:35:50,420 Bueno, si Mike es en el S sección, en el peor de los casos, 731 00:35:50,420 --> 00:35:52,630 eso es bastante cerca el final del alfabeto. 732 00:35:52,630 --> 00:35:56,559 Así que si el directorio tiene 1.000 páginas, Voy a encontrar a Mike a menos de 1.000 páginas, 733 00:35:56,559 --> 00:35:57,100 Da o toma. 734 00:35:57,100 --> 00:35:59,750 Tal vez es como 800 o así, pero que es bastante cerca de 1.000. 735 00:35:59,750 --> 00:36:01,680 >> Considerando que, en el segundo algoritmo, cuántos 736 00:36:01,680 --> 00:36:06,840 vueltas de página máximo que podría requerirá para encontrar Mike Smith? 737 00:36:06,840 --> 00:36:09,970 Hay 1.000 páginas, pero estoy haciendo de ellos de dos en dos. 738 00:36:09,970 --> 00:36:13,045 Bien, así como máx 500ish, porque si voy a través de todo el libro de teléfono, 739 00:36:13,045 --> 00:36:14,170 y en ese momento, puedo parar. 740 00:36:14,170 --> 00:36:16,669 Pero puedo afeitar de unos pocos por acaba con parada en la sección T. 741 00:36:16,669 --> 00:36:19,880 Pero es en el peor de los casos 500 páginas. 742 00:36:19,880 --> 00:36:24,710 >> Entonces, ¿cuántas veces puedo dividir una 1,00o-página del libro de teléfono en la mitad otra vez 743 00:36:24,710 --> 00:36:30,450 y una y otra vez-- de 1000 a 500 a 250 a 125? 744 00:36:30,450 --> 00:36:32,250 ¿Cuánto tiempo antes de que golpee una página? 745 00:36:32,250 --> 00:36:35,510 746 00:36:35,510 --> 00:36:36,370 Sí, se trata de 10. 747 00:36:36,370 --> 00:36:40,780 En función de redondeo y tal, es cerca de 10 páginas de la necesidad total de girarse 748 00:36:40,780 --> 00:36:43,290 o guías telefónicas necesitan ser desgarrado. 749 00:36:43,290 --> 00:36:44,710 >> Así que es bastante potente. 750 00:36:44,710 --> 00:36:48,170 Empezamos con un problema de 1.000 páginas en los tres de estas historias. 751 00:36:48,170 --> 00:36:51,850 Pero en el primer algoritmo, se me llevó, peor de los casos, de 1.000 páginas 752 00:36:51,850 --> 00:36:52,740 se vuelve a encontrar Mike. 753 00:36:52,740 --> 00:36:55,590 En segundo algoritmo, 500 páginas para encontrar Mike. 754 00:36:55,590 --> 00:36:58,480 En tercer algoritmo, 10 páginas para encontrar Mike. 755 00:36:58,480 --> 00:37:00,230 Y es aún más poderosa cuando se piensa 756 00:37:00,230 --> 00:37:01,860 sobre una especie de escenario opuesto. 757 00:37:01,860 --> 00:37:05,680 Supongamos que la compañía telefónica próximo año tal vez se fusiona dos ciudades juntas, 758 00:37:05,680 --> 00:37:08,550 y la guía telefónica es de repente este espesor, en lugar de esto que, 759 00:37:08,550 --> 00:37:12,470 por lo que 2.000 páginas en lugar de 1.000. 760 00:37:12,470 --> 00:37:15,640 Bueno, mi primer algoritmo busca Mike Smith en una guía telefónica de 2.000 páginas, 761 00:37:15,640 --> 00:37:21,460 peor de los casos, se va a tomar el número de vueltas de página el próximo año? 762 00:37:21,460 --> 00:37:24,800 >> directorio telefónico es de 2.000 páginas, tan-- bien, ni uno más. 763 00:37:24,800 --> 00:37:29,540 Si la guía telefónica es dos veces más grueso en el primer algoritmo, primero algoritmo, 764 00:37:29,540 --> 00:37:30,380 2000, ¿verdad? 765 00:37:30,380 --> 00:37:33,005 En el peor de los casos, Mike es realmente cerca de la final del libro, 766 00:37:33,005 --> 00:37:34,110 por lo que es de 2.000 vueltas de página. 767 00:37:34,110 --> 00:37:38,070 Segundo algoritmo pasando por dos en dos, al igual que 1.000 páginas. 768 00:37:38,070 --> 00:37:41,490 >> Pero ¿qué hay en mi tercer y el algoritmo más reciente? 769 00:37:41,490 --> 00:37:44,950 Si la compañía telefónica duplica el número de páginas de 1.000 a 2.000, 770 00:37:44,950 --> 00:37:47,770 ¿Cuántas veces más necesito me desgarro ese libro por la mitad para encontrar Mike? 771 00:37:47,770 --> 00:37:48,710 >> PÚBLICO: Sólo una. 772 00:37:48,710 --> 00:37:51,001 >> DAVID MALAN: Sólo uno más, porque con una lágrima página, 773 00:37:51,001 --> 00:37:53,270 literalmente me puedo dividir y conquistar, si se quiere, 774 00:37:53,270 --> 00:37:57,410 ese problema en medio toma un bocado masiva fuera de él. 775 00:37:57,410 --> 00:38:01,420 Y por lo que este es un ejemplo de la eficiencia y podría decirse que un algoritmo 776 00:38:01,420 --> 00:38:04,100 con la que todos somos tipo de forma intuitiva familiar. 777 00:38:04,100 --> 00:38:07,780 Pero es tan correcta como mis otros algoritmos 778 00:38:07,780 --> 00:38:09,630 con ese pellizco de el segundo algoritmo, 779 00:38:09,630 --> 00:38:11,290 pero es mucho más eficiente. 780 00:38:11,290 --> 00:38:14,030 >> Y de hecho, lo que un ordenador científico, o, a su vez un programador, 781 00:38:14,030 --> 00:38:17,580 típicamente hacer al escribir código es tratar de averiguar, 782 00:38:17,580 --> 00:38:19,960 bien, yo no quiero que mi programa sólo para ser correcta, 783 00:38:19,960 --> 00:38:23,220 Yo también quiero que sea eficiente y resolver problemas bien. 784 00:38:23,220 --> 00:38:26,450 Imagínese en el mundo real de hoy, al igual que los índices de Google, las búsquedas 785 00:38:26,450 --> 00:38:31,580 al igual que miles de millones de páginas, imagina si utilizado el primer algoritmo para encontrar los gatos 786 00:38:31,580 --> 00:38:34,620 entre un mil millones pages-- mirando la primera página en su base de datos, 787 00:38:34,620 --> 00:38:37,700 la segunda, la tercera, sólo busca para un gato, en busca de un gato. 788 00:38:37,700 --> 00:38:40,350 Eso es bastante maldito lento lo que parece. 789 00:38:40,350 --> 00:38:43,170 En su lugar, podría usar algo llama búsqueda binaria, la cual 790 00:38:43,170 --> 00:38:47,420 hay bi coincidence-- significa dos, seguir dividiéndose algo en 2, en half-- 791 00:38:47,420 --> 00:38:50,205 que podrían utilizar la búsqueda binaria y tal vez encontrar gatos aún más rápido, 792 00:38:50,205 --> 00:38:51,830 o lo que sea que estés buscando. 793 00:38:51,830 --> 00:38:54,125 >> Y francamente, no hay incluso los algoritmos más elegantes 794 00:38:54,125 --> 00:38:56,250 que hacer mucho más que simplemente dividiendo las cosas por la mitad 795 00:38:56,250 --> 00:38:58,180 con el fin de encontrar información rápidamente. 796 00:38:58,180 --> 00:39:00,880 Y hablaremos un poco sobre los que después del almuerzo de hoy. 797 00:39:00,880 --> 00:39:02,640 Así que permítanme simplemente trato de representar esto. 798 00:39:02,640 --> 00:39:05,380 No necesitamos entrar en matemáticas o cualquier número real. 799 00:39:05,380 --> 00:39:07,070 Podemos hablar de esto en el resumen. 800 00:39:07,070 --> 00:39:11,580 >> Pero permítanme proponer que, si estaban teniendo una discusión ahora 801 00:39:11,580 --> 00:39:13,491 con los ingenieros proponiendo este algoritmo 802 00:39:13,491 --> 00:39:15,490 y que está tratando de hacer una decisión calculada, 803 00:39:15,490 --> 00:39:17,285 porque tal vez la ingeniero dice a usted, usted 804 00:39:17,285 --> 00:39:19,910 saber qué, puedo poner en práctica una búsqueda lineal en como dos minutos. 805 00:39:19,910 --> 00:39:21,150 Es fácil. 806 00:39:21,150 --> 00:39:24,790 La búsqueda binaria no es tan sofisticado, pero que me va a tomar como 10 minutos, 807 00:39:24,790 --> 00:39:26,650 de modo 5 veces más. 808 00:39:26,650 --> 00:39:30,900 >> Hay un comercio aquí, incluso en términos de decidir qué software para escribir. 809 00:39:30,900 --> 00:39:34,760 Se escribe el algoritmo más simple, el cual sólo le llevará dos minutos? 810 00:39:34,760 --> 00:39:39,880 ¿O se pasa más tiempo, 10 minutos, escribir el algoritmo más elegante? 811 00:39:39,880 --> 00:39:43,540 ¿Cómo se decide que tipo de pregunta? 812 00:39:43,540 --> 00:39:46,710 O bien, podría hacerlo un poco más real. 813 00:39:46,710 --> 00:39:50,610 Le digo a mi jefe que va a tomar me sea de una semana o 10 semanas 814 00:39:50,610 --> 00:39:52,490 para implementar la software de esta manera, cómo 815 00:39:52,490 --> 00:39:56,103 Cómo se decide qué algoritmo de dar luz verde a? 816 00:39:56,103 --> 00:39:56,603 Karim? 817 00:39:56,603 --> 00:39:57,550 >> AUDIENCIA: La audiencia, supongo. 818 00:39:57,550 --> 00:39:57,960 >> DAVID MALAN: El público. 819 00:39:57,960 --> 00:39:59,460 ¿Qué quiere decir por el público? 820 00:39:59,460 --> 00:40:03,460 >> AUDIENCIA: Si se va para ser utilizado por los usuarios 821 00:40:03,460 --> 00:40:09,050 que [inaudible] los usuarios [inaudible]. 822 00:40:09,050 --> 00:40:11,232 Pero si es algo que eres acaba de hacer por sí mismo 823 00:40:11,232 --> 00:40:13,946 para facilitar un problema, [Inaudible] más rápido. 824 00:40:13,946 --> 00:40:16,820 DAVID MALAN: Sí, es rápido y sucia es una buena manera de describirlo. 825 00:40:16,820 --> 00:40:18,695 De hecho, si estás que describe gran parte de mi tiempo 826 00:40:18,695 --> 00:40:23,630 en la escuela de posgrado, por lo que muchas veces, Escribí mal código conscientemente tan-- 827 00:40:23,630 --> 00:40:26,490 al menos, así es como me racionalizado it-- conscientemente, 828 00:40:26,490 --> 00:40:30,670 porque a pesar de que estaba escribiendo código que era relativamente lento para ejecutar, 829 00:40:30,670 --> 00:40:33,750 Yo era capaz de escribir el código en sí bastante rápido, a pocos minutos de gasto 830 00:40:33,750 --> 00:40:35,107 o no horas días. 831 00:40:35,107 --> 00:40:37,190 Y resultó, me de vez en cuando es necesario para dormir. 832 00:40:37,190 --> 00:40:41,270 Así que incluso si mi código requiere 8 horas para correr, así que está muy bien, 833 00:40:41,270 --> 00:40:42,850 Voy a ir a dormir mientras se ejecuta. 834 00:40:42,850 --> 00:40:46,350 >> Así que en ese momento, pensé que esto era muy inteligente, a pesar de que aparentemente 835 00:40:46,350 --> 00:40:48,990 trabajado a través de mi doctorado muy lentamente. 836 00:40:48,990 --> 00:40:52,270 Pero a la inversa de la que es que, si el software estuviera escribiendo 837 00:40:52,270 --> 00:40:55,930 para otras personas que importaba más que a mí, así, 838 00:40:55,930 --> 00:40:59,580 tenerlos esperar a 8 horas volver a sus resultados de búsqueda 839 00:40:59,580 --> 00:41:01,350 No es todo lo que convincente. 840 00:41:01,350 --> 00:41:04,090 Y así pasar más tiempo por adelantado para escribir software 841 00:41:04,090 --> 00:41:07,300 que es más eficiente, más como nuestro tercer algoritmo, 842 00:41:07,300 --> 00:41:09,780 probablemente beneficia a los usuarios con el tiempo. 843 00:41:09,780 --> 00:41:12,710 Así que realmente depende más de tiempo como estos costos se suman. 844 00:41:12,710 --> 00:41:14,960 Si usted va a estar escribiendo software para usarlo una vez, 845 00:41:14,960 --> 00:41:17,240 probablemente como bien podría hacerlo rápido y sucio, como se suele decir. 846 00:41:17,240 --> 00:41:18,198 Sólo tiran juntos. 847 00:41:18,198 --> 00:41:20,560 Es el código que avergüenza usted, es tan malo, 848 00:41:20,560 --> 00:41:23,860 pero hace el trabajo correctamente, a pesar de que no es eficiente. 849 00:41:23,860 --> 00:41:27,200 Por el contrario, se pasa más tiempo en algo, sea lo bastante buena. 850 00:41:27,200 --> 00:41:30,730 Y luego amortizados con el tiempo, costo que por adelantado de tiempo 851 00:41:30,730 --> 00:41:34,330 es probable que valga la pena, si se mantiene la optimización para el caso común. 852 00:41:34,330 --> 00:41:37,620 >> Y de hecho, eso es un tema en programación o ciencias de la computación más 853 00:41:37,620 --> 00:41:41,390 en general, se trata de optimizar no para el caso poco común 854 00:41:41,390 --> 00:41:44,390 pero los caso-- comunes ¿Qué operación que va a ocurrir una y otra vez? 855 00:41:44,390 --> 00:41:47,730 Si vas a tener miles de millones de los usuarios que buscan en su sitio web, 856 00:41:47,730 --> 00:41:52,030 probablemente debería pasar el extra semanas por adelantado para escribir un mejor software, 857 00:41:52,030 --> 00:41:53,670 de manera que todos los usuarios se benefician. 858 00:41:53,670 --> 00:41:57,840 Ahora, vamos a tratar de capturar esta una poco ilustrado, pero no tanto 859 00:41:57,840 --> 00:41:58,610 numéricamente. 860 00:41:58,610 --> 00:42:01,680 >> Así que aquí es sólo una vieja carta de la escuela. 861 00:42:01,680 --> 00:42:04,260 Y permítanme decir que este es el tiempo. 862 00:42:04,260 --> 00:42:06,660 Y no importa qué-- En realidad, no, no el tiempo. 863 00:42:06,660 --> 00:42:08,320 Vamos a poner que en el otro eje. 864 00:42:08,320 --> 00:42:15,700 Digamos que este es el momento, y este es el tamaño de problema. 865 00:42:15,700 --> 00:42:17,830 >> Y un informático podría llamar general 866 00:42:17,830 --> 00:42:20,820 esto sólo n. n es igual nuestro ir a la variable, donde 867 00:42:20,820 --> 00:42:26,351 n es un número, n número, y es la cualquier número de entradas que tiene. 868 00:42:26,351 --> 00:42:28,100 Así pues, en este caso, n es el número de páginas. 869 00:42:28,100 --> 00:42:30,150 Lo que podría ser en 1000 el caso que acaba de decir. 870 00:42:30,150 --> 00:42:31,969 >> Así que el tiempo puede ser cualquier unidad de medida. 871 00:42:31,969 --> 00:42:32,760 Tal vez, es segundo. 872 00:42:32,760 --> 00:42:33,410 Tal vez, es días. 873 00:42:33,410 --> 00:42:34,590 Tal vez, es como cambiar de página. 874 00:42:34,590 --> 00:42:35,215 No importa. 875 00:42:35,215 --> 00:42:38,840 Lo que usted quiere contar en que será de duración o costo equivalente. 876 00:42:38,840 --> 00:42:42,400 >> Así que con ese primer algoritmo, si, por ejemplo, 877 00:42:42,400 --> 00:42:45,920 tenía una libreta de teléfonos de 1.000 páginas, Voy a dibujar un punto allí, 878 00:42:45,920 --> 00:42:51,450 porque si es de 1.000 páginas, que tomó aproximadamente 1.000 vueltas de página, más o menos. 879 00:42:51,450 --> 00:42:54,100 Y luego si tuviera una 2.000 páginas libreta de teléfonos, 880 00:42:54,100 --> 00:42:57,200 y voy a dibujar un segundo dot aquí, porque para 2.000 páginas, 881 00:42:57,200 --> 00:42:59,810 es como 2.000 segundos o vueltas de página o lo que sea. 882 00:42:59,810 --> 00:43:02,480 Y así, cuando he dicho antes, es tipo de una relación lineal, 883 00:43:02,480 --> 00:43:06,020 que era deliberada, porque quería más tarde en-- derecho ahora-- para dibujar una línea. 884 00:43:06,020 --> 00:43:07,770 Es una especie de una recta relación de línea. 885 00:43:07,770 --> 00:43:10,180 La pendiente es 1/1, si se quiere. 886 00:43:10,180 --> 00:43:14,630 >> Mientras tanto, el segundo algoritmo Dicho esto, si usted tiene 1.000 páginas 887 00:43:14,630 --> 00:43:17,680 y que estaba usando el segundo algoritmo, donde conté por 2 de, girando 888 00:43:17,680 --> 00:43:22,564 dos páginas a la vez, debería trazar una dot debajo o por encima de mi punto original? 889 00:43:22,564 --> 00:43:23,450 >> AUDIENCIA: Abajo. 890 00:43:23,450 --> 00:43:27,992 >> DAVID MALAN: A continuación, ya que como hemos visto, Se tarda menos tiempo, la mitad del tiempo. 891 00:43:27,992 --> 00:43:29,950 Así que el punto medio debe estar tan alta como la otra. 892 00:43:29,950 --> 00:43:33,330 Y la misma cantidad por aquí, este punto probablemente debería ser más o menos allí. 893 00:43:33,330 --> 00:43:39,666 Y por lo que mi segundo algoritmo, de manera similar, tiene una relación lineal con el tiempo. 894 00:43:39,666 --> 00:43:41,990 Y podemos sacar como tal. 895 00:43:41,990 --> 00:43:45,950 >> Así que ahora, la tercera y última algoritmo es un poco más difícil de dibujar. 896 00:43:45,950 --> 00:43:49,530 Sin embargo, intuitivamente, si lo he entendido 1.000 páginas con mi tercer algoritmo, 897 00:43:49,530 --> 00:43:52,340 sólo me debe tomar como 10 pasos. 898 00:43:52,340 --> 00:43:57,500 Y si tengo 2.000 páginas con mi tercera algoritmo, 899 00:43:57,500 --> 00:44:01,570 debería ser yo no tome 10 pasos, pero el 11, sólo uno más. 900 00:44:01,570 --> 00:44:03,610 Así que estamos sólo apenas va a ver esto. 901 00:44:03,610 --> 00:44:06,010 >> Y resulta que, si El zoom en esto, yo soy 902 00:44:06,010 --> 00:44:09,320 ir a exagerar para el efecto, la forma de la línea, en última instancia, 903 00:44:09,320 --> 00:44:11,990 no es una recta line-- porque, de hecho, si lo fuera, 904 00:44:11,990 --> 00:44:15,390 que se vería más como el otros- en realidad es una línea curva 905 00:44:15,390 --> 00:44:19,265 que, si nos acercamos, se va mirar mucho de la misma familia. 906 00:44:19,265 --> 00:44:21,670 It-- bien, está bien, ignorar esta parte. 907 00:44:21,670 --> 00:44:25,330 Esa fue mi pluma va del ángulo. 908 00:44:25,330 --> 00:44:29,000 Es una línea curva que es siempre aumentando, siempre, siempre, siempre 909 00:44:29,000 --> 00:44:32,100 aumentando, pero sólo apenas. 910 00:44:32,100 --> 00:44:36,260 >> Y así, con el tiempo, tiene una relación que es de la misma familia. 911 00:44:36,260 --> 00:44:37,540 Casi parece recta. 912 00:44:37,540 --> 00:44:40,330 Pero es siempre tan lentamente creciente. 913 00:44:40,330 --> 00:44:44,780 Pero para casi todos los puntos a lo largo su eje X, eje horizontal, 914 00:44:44,780 --> 00:44:46,550 es más baja que las otras líneas. 915 00:44:46,550 --> 00:44:49,930 >> Por lo que esta podría ser una relación n, por lo que si tiene n páginas, 916 00:44:49,930 --> 00:44:51,100 n segundos que tarda. 917 00:44:51,100 --> 00:44:53,320 Esto podría ser una relación n / 2. 918 00:44:53,320 --> 00:44:56,710 Usted tiene n páginas, se necesita que n / 2 segundos, la mitad. 919 00:44:56,710 --> 00:45:00,590 Y este es un logarítmica relación, que 920 00:45:00,590 --> 00:45:08,920 Si recuerdan, la base 2 de n log capturas este tipo de crecimiento, por así decirlo. 921 00:45:08,920 --> 00:45:12,000 Así que este es el tipo de santa Grial entre los tres de estos 922 00:45:12,000 --> 00:45:15,940 aquí, porque es sólo mucho más eficiente, pero sin duda más compleja 923 00:45:15,940 --> 00:45:18,610 para implementar. 924 00:45:18,610 --> 00:45:20,510 ¿Alguna pregunta? 925 00:45:20,510 --> 00:45:26,220 >> Pues déjame hacer esto, deja a abrir una ventana de texto 926 00:45:26,220 --> 00:45:29,100 sólo para que podamos tratar de formalizar algo aquí. 927 00:45:29,100 --> 00:45:32,410 Así que déjame ir por delante y ahora aplicar este algoritmo 928 00:45:32,410 --> 00:45:35,170 para encontrar Mike Smith en el código, si se quiere, código de pseudocódigo. 929 00:45:35,170 --> 00:45:36,620 No voy a usar Java o C ++. 930 00:45:36,620 --> 00:45:38,610 Yo sólo voy a utilizar una especie de Inglés-como la sintaxis, lo que nos 931 00:45:38,610 --> 00:45:40,151 generalmente se llama código de pseudocódigo. 932 00:45:40,151 --> 00:45:41,660 Aquí, tengo una ventana en blanco. 933 00:45:41,660 --> 00:45:48,180 Y yo estoy diciendo el paso 1 de la muy primer algoritmo es recogida en la guía telefónica. 934 00:45:48,180 --> 00:45:51,740 Paso 2 es libro abierto a la primera página. 935 00:45:51,740 --> 00:45:58,080 Paso 3 será mira página para Mike Smith. 936 00:45:58,080 --> 00:46:02,740 Si en la página, llame a Mike. 937 00:46:02,740 --> 00:46:11,640 La página de otra vuelta y vaya al paso 3. 938 00:46:11,640 --> 00:46:13,590 Hecho, digamos. 939 00:46:13,590 --> 00:46:18,110 >> Y lo que no es del todo perfecto, el cual veremos en un momento. 940 00:46:18,110 --> 00:46:21,050 Pero vamos a considerar lo conceptos que hemos introducido aquí. 941 00:46:21,050 --> 00:46:24,450 Así pasos 1 y 2 y 3 son más o menos los verbos. 942 00:46:24,450 --> 00:46:26,544 Son declaraciones, actions-- hacen esto. 943 00:46:26,544 --> 00:46:28,710 Y así, en una programación lengua, que le otorga en general 944 00:46:28,710 --> 00:46:32,349 llamarlos o declaraciones funciones o procedimientos, 945 00:46:32,349 --> 00:46:33,640 ellos llamar a cualquier número de cosas. 946 00:46:33,640 --> 00:46:35,460 Pero sólo están actions-- hacer esto. 947 00:46:35,460 --> 00:46:40,370 >> Paso 4 es fundamentalmente diferente, porque es tipo de una pregunta. 948 00:46:40,370 --> 00:46:42,400 Es como decir que estamos especie de a un tenedor en la carretera. 949 00:46:42,400 --> 00:46:48,000 Si Mike está en la página, llame él, así que gire a la izquierda, si se quiere. 950 00:46:48,000 --> 00:46:52,170 Y si no, volver a algunos otra page-- o más bien, lo siento, 951 00:46:52,170 --> 00:46:56,650 volver a algún otro paso, el cual induce algún tipo de construcción de bucle. 952 00:46:56,650 --> 00:46:59,530 Y lo hacemos una y otra vez y otra vez. 953 00:46:59,530 --> 00:47:01,300 >> Y en realidad, ¿sabes qué? 954 00:47:01,300 --> 00:47:01,800 Sí. 955 00:47:01,800 --> 00:47:04,704 956 00:47:04,704 --> 00:47:09,010 más si al final de la parada de libro. 957 00:47:09,010 --> 00:47:11,624 Así que necesitamos un tercer tipo de afección, ya que 958 00:47:11,624 --> 00:47:14,290 no puede seguir girando la página de anuncios hasta el cansancio, porque, al final, me quedo 959 00:47:14,290 --> 00:47:15,320 golpear el final del libro. 960 00:47:15,320 --> 00:47:18,546 Y un error en un programa podría ser no anticipar ese escenario. 961 00:47:18,546 --> 00:47:21,420 Y entonces me acabo de dar cuenta, oh, espera un minuto, necesito un tercer escenario. 962 00:47:21,420 --> 00:47:23,900 Si estoy fuera de páginas, en realidad debería simplemente parar. 963 00:47:23,900 --> 00:47:25,330 De lo contrario, es indefinido. 964 00:47:25,330 --> 00:47:29,260 ¿Qué va a pasar si sigo diciendo vuelta a la página y volver, 965 00:47:29,260 --> 00:47:31,810 Esto es cuando los ordenadores congele o se caiga, cuando se pulse 966 00:47:31,810 --> 00:47:34,160 alguna situación no prevista por el estilo. 967 00:47:34,160 --> 00:47:37,280 >> Ahora, ¿qué pasa con Mike tercer algorithm-- de Smith 968 00:47:37,280 --> 00:47:43,150 recoger el libro de teléfono, libro abierto para que primero-- 969 00:47:43,150 --> 00:47:48,640 no, no es la primera página de este tiempo, a middle-- oh, bueno, que había 970 00:47:48,640 --> 00:47:49,640 el segundo algoritmo. 971 00:47:49,640 --> 00:47:50,590 Vamos a saltar a la tercera. 972 00:47:50,590 --> 00:47:50,930 >> AUDIENCIA: Oh, lo siento. 973 00:47:50,930 --> 00:47:51,971 >> DAVID MALAN: Eso está bien. 974 00:47:51,971 --> 00:47:58,590 Vamos a saltar a la abierta third-- a medio y ahora mira para Mike Smith. 975 00:47:58,590 --> 00:48:02,300 Si en la página, llame a Mike. 976 00:48:02,300 --> 00:48:04,910 Y entonces, ¿qué es lo que queremos decir aquí? 977 00:48:04,910 --> 00:48:06,134 no qué? 978 00:48:06,134 --> 00:48:10,620 979 00:48:10,620 --> 00:48:12,370 Podemos expresar esta en cualquier número de maneras. 980 00:48:12,370 --> 00:48:13,369 No hay una respuesta correcta. 981 00:48:13,369 --> 00:48:20,819 982 00:48:20,819 --> 00:48:23,735 OK, si no más, pero necesitamos ser-- bien, nosotros queremos dividir en dos, 983 00:48:23,735 --> 00:48:25,630 pero queremos ir a la izquierda o a la derecha? 984 00:48:25,630 --> 00:48:29,560 ¿Cómo expresamos esa idea? 985 00:48:29,560 --> 00:48:31,790 Pues bien, en el caso de Mike, sí, eso es justo. 986 00:48:31,790 --> 00:48:35,050 Pero bueno, por lo que en realidad es un buen punto. 987 00:48:35,050 --> 00:48:35,550 Esta bien. 988 00:48:35,550 --> 00:48:36,924 Vamos a seguir adelante con esta lógica. 989 00:48:36,924 --> 00:48:38,182 Asi que-- 990 00:48:38,182 --> 00:48:39,810 >> AUDIENCIA: Menos de la mitad. 991 00:48:39,810 --> 00:48:40,560 DAVID MALAN: Sí. 992 00:48:40,560 --> 00:48:49,820 Por lo demás, si la página es, vamos a decir, menos de Smith, a la izquierda de Smith, 993 00:48:49,820 --> 00:48:52,220 entonces-- vamos a ver, es esto va a complicar? 994 00:48:52,220 --> 00:49:01,885 más si la página está antes que Smith, desgarro en la mitad, tirar a la basura los cuales la mitad? 995 00:49:01,885 --> 00:49:05,643 996 00:49:05,643 --> 00:49:09,140 >> AUDIENCIA: Pensé que fue [inaudible]. 997 00:49:09,140 --> 00:49:11,650 >> DAVID MALAN: Estoy escuchando ambas respuestas. 998 00:49:11,650 --> 00:49:12,431 >> AUDIENCIA: Izquierda. 999 00:49:12,431 --> 00:49:14,430 DAVID MALAN: OK, lanzar distancia dejado a la mitad, como Lakisa 1000 00:49:14,430 --> 00:49:19,700 se dijo anteriormente, la izquierda la mitad, entonces yo tipo de 1001 00:49:19,700 --> 00:49:23,940 querer ir a-- Voy a la derecha. 1002 00:49:23,940 --> 00:49:27,380 O lo que es equivalente, y he hecho un poco poco de un desastre de comienzo aquí, 1003 00:49:27,380 --> 00:49:30,760 Yo quiero efectiva vaya al paso 2 de nuevo, 1004 00:49:30,760 --> 00:49:38,270 donde abierta al middle-- o open-- si, digamos, páginas a medio. 1005 00:49:38,270 --> 00:49:39,020 Y esto lo arregla. 1006 00:49:39,020 --> 00:49:39,936 Ya no es un libro. 1007 00:49:39,936 --> 00:49:42,210 Es sólo la mitad de un libro, páginas tan abierta a la media. 1008 00:49:42,210 --> 00:49:44,010 >> else-- eran casi allí. 1009 00:49:44,010 --> 00:49:54,000 Paso 6, de lo contrario, si la página se produce después de Smith, romper por la mitad, tirar la mitad de distancia a la derecha, 1010 00:49:54,000 --> 00:49:55,680 a continuación, vaya al paso 2. 1011 00:49:55,680 --> 00:49:58,920 1012 00:49:58,920 --> 00:50:05,230 otra cosa dejar de fumar, un cuarto escenario, si no hay páginas que aún se gire. 1013 00:50:05,230 --> 00:50:06,394 Así que podríamos limpiar esto. 1014 00:50:06,394 --> 00:50:07,560 Y debemos limpiar esto. 1015 00:50:07,560 --> 00:50:10,656 Este es un código muy pseudocódigo, si voluntad, descripción muy alto nivel. 1016 00:50:10,656 --> 00:50:12,280 Pero esto generalmente capturar la idea. 1017 00:50:12,280 --> 00:50:16,040 >> Y, de nuevo, en este escenario, tener la noción de una condición, 1018 00:50:16,040 --> 00:50:20,450 una rama, un tenedor en la carretera, lo que hace una en decisión si esto, ir de esta manera, 1019 00:50:20,450 --> 00:50:23,082 más si, ir por este camino, más si, ir en esa dirección. 1020 00:50:23,082 --> 00:50:25,040 Y esta es una muy común técnica de programación 1021 00:50:25,040 --> 00:50:27,721 para decidir qué dirección para ir, por así decirlo. 1022 00:50:27,721 --> 00:50:29,970 Y también tenemos una especie de bucle estructura, donde 1023 00:50:29,970 --> 00:50:32,440 estamos haciendo algo una y otra vez. 1024 00:50:32,440 --> 00:50:34,820 >> Ahora, resulta que, tanto como en este ejemplo, 1025 00:50:34,820 --> 00:50:37,660 ser super exacto es importante. 1026 00:50:37,660 --> 00:50:42,180 Pero también hemos visto algo que seguimos llamando a la abstracción. 1027 00:50:42,180 --> 00:50:45,490 ¿Qué significa para recoger la guía telefónica? 1028 00:50:45,490 --> 00:50:47,740 Estamos tomando tipo de por sentado en esta sala 1029 00:50:47,740 --> 00:50:49,340 que eso tiene algún significado semántico. 1030 00:50:49,340 --> 00:50:51,740 Todos nosotros sólo tipo de saber, oh, así, recoger la guía telefónica. 1031 00:50:51,740 --> 00:50:52,864 Lo que significa esto realmente? 1032 00:50:52,864 --> 00:50:59,060 Bueno, eso significa en realidad se extienden parte, se incline sobre, extender los dedos, 1033 00:50:59,060 --> 00:51:03,890 pellizcar libro entre los dedos, levantarse, tirar de mano hacia usted. 1034 00:51:03,890 --> 00:51:05,940 Y podríamos ser realmente pedante acerca de esto, 1035 00:51:05,940 --> 00:51:08,640 Realmente es muy precisa en cuanto a lo que estoy haciendo. 1036 00:51:08,640 --> 00:51:13,300 Pero todas esas medidas son colectivamente lo que significa coger una libreta de teléfonos. 1037 00:51:13,300 --> 00:51:16,940 >> Y así antes, cuando dije, cada uno de estos dos primeros estados 1038 00:51:16,940 --> 00:51:20,830 puede ser pensado como una proceder o una función, 1039 00:51:20,830 --> 00:51:24,090 realmente representa lo que nos seguir llamando a una abstracción. 1040 00:51:24,090 --> 00:51:28,770 Es como un alto nivel conceptual Descripción de un problema que 1041 00:51:28,770 --> 00:51:31,110 en realidad implica un buen número de pasos. 1042 00:51:31,110 --> 00:51:34,190 Y así, esto también es una recurrente tema en la programación, 1043 00:51:34,190 --> 00:51:41,125 por lo que yo podría escribir un programa utilizando la sintaxis así- 1044 00:51:41,125 --> 00:51:42,000 pick_up_phone_book (). 1045 00:51:42,000 --> 00:51:44,344 1046 00:51:44,344 --> 00:51:46,510 Y a continuación, sintácticamente, estoy va a robar algo 1047 00:51:46,510 --> 00:51:48,090 en la mayoría de los lenguajes de programación. 1048 00:51:48,090 --> 00:51:51,270 >> Ahora, el paso 1 se ve aún más como una función, 1049 00:51:51,270 --> 00:51:53,160 como programador lo llamaría. 1050 00:51:53,160 --> 00:51:58,650 Parece que el código que alguien ha dado un nombre y dada a 1051 00:51:58,650 --> 00:52:03,300 a mí para usar en otra somehow-- Es decir, lo que la línea que he destacado 1052 00:52:03,300 --> 00:52:07,050 representa la funcionalidad que tal vez Ni siquiera a mí mismo implemento. 1053 00:52:07,050 --> 00:52:10,410 Alguien mayor, más sabia que Me di cuenta de que ya 1054 00:52:10,410 --> 00:52:12,700 cómo se expresa la noción de escoger una libreta de teléfonos. 1055 00:52:12,700 --> 00:52:15,860 Y es como los cinco pasos que acabo recitó, de la parte superior de la cabeza. 1056 00:52:15,860 --> 00:52:19,350 >> Sin embargo, él o ella ya ejecutados, esto, dio esos varios pasos 1057 00:52:19,350 --> 00:52:22,339 un nombre, pick_up_phone_book. 1058 00:52:22,339 --> 00:52:24,380 Y los paréntesis es justo lo que la mayoría de los programadores 1059 00:52:24,380 --> 00:52:27,100 hacer al final de declaraciones como esta. 1060 00:52:27,100 --> 00:52:30,190 Ahora puedo estar en su hombros y nunca más, 1061 00:52:30,190 --> 00:52:32,465 pensar en lo que significa para recoger una guía telefónica. 1062 00:52:32,465 --> 00:52:34,090 Yo sólo puedo decir, recoger la guía telefónica. 1063 00:52:34,090 --> 00:52:36,690 Y eso es exactamente lo todos de nosotros los seres humanos hicieron aquí. 1064 00:52:36,690 --> 00:52:38,940 >> Cuando estábamos probablemente 1 años de edad, 2 años de edad, 1065 00:52:38,940 --> 00:52:41,690 alguien tenía que enseñarnos lo que la intención de recoger una guía de teléfonos. 1066 00:52:41,690 --> 00:52:43,810 Y desde entonces, hemos abstraído 1067 00:52:43,810 --> 00:52:46,739 de los que muy poco interesante pasos mecánicos. 1068 00:52:46,739 --> 00:52:48,530 Y sólo tenemos una comprensión intuitiva 1069 00:52:48,530 --> 00:52:50,480 de lo que significa recoger una guía de teléfonos. 1070 00:52:50,480 --> 00:52:55,730 >> Y se puede extrapolar ahora a más complicado cosas-- 1071 00:52:55,730 --> 00:52:57,640 construir un edificio. 1072 00:52:57,640 --> 00:52:59,940 Al igual que, para algunas personas, que en realidad tiene sentido. 1073 00:52:59,940 --> 00:53:03,080 Para los contratistas, a los arquitectos, que tiene algún significado. 1074 00:53:03,080 --> 00:53:06,400 Y sabrían qué hacer, si Dije, voy construir un edificio. 1075 00:53:06,400 --> 00:53:10,520 >> Pero la mayoría de nosotros en la habitación no podía hacer frente a ese nivel de abstracción. 1076 00:53:10,520 --> 00:53:14,850 Usted necesita decir que nos gusta ir a buscar la pala y ir a buscar el hormigón 1077 00:53:14,850 --> 00:53:17,250 y clavar las piezas de madera juntas y cualquier otra cosa 1078 00:53:17,250 --> 00:53:18,830 está involucrado en la construcción de un edificio. 1079 00:53:18,830 --> 00:53:21,690 Y eso es porque no lo hemos hecho todavía sido programado para entender 1080 00:53:21,690 --> 00:53:23,629 lo que significa construir un edificio. 1081 00:53:23,629 --> 00:53:24,920 No tenemos que la abstracción. 1082 00:53:24,920 --> 00:53:26,570 No tenemos esa funcionalidad. 1083 00:53:26,570 --> 00:53:29,930 >> Y así, lo que se verá en lenguajes de programación, en general, 1084 00:53:29,930 --> 00:53:34,570 idiomas sobre todo, más modernas, como Java, PHP, Ruby y Python, 1085 00:53:34,570 --> 00:53:37,610 que son mucho más maduro que las lenguas más antiguas, 1086 00:53:37,610 --> 00:53:40,140 como C y C ++ y otros más. 1087 00:53:40,140 --> 00:53:42,580 Y por lo que vienen con más funcionalidad incorporada. 1088 00:53:42,580 --> 00:53:45,640 Más código ha sido escrito por la gente en el pasado 1089 00:53:45,640 --> 00:53:50,520 que ahora podemos llamar o invocar o utilizar, ya que estoy insinuando 1090 00:53:50,520 --> 00:53:52,231 en esta línea destacó aquí. 1091 00:53:52,231 --> 00:53:55,230 Y así, a pesar de que no estamos hablando sobre lenguajes de programación en sí, 1092 00:53:55,230 --> 00:54:00,230 código sólo pseudocódigo, la totalidad de la ideas están todavía en esa discusión. 1093 00:54:00,230 --> 00:54:04,600 Y resulta que la precisión es super importante, como es la abstracción. 1094 00:54:04,600 --> 00:54:06,570 Y vamos a tratar comunican que como sigue. 1095 00:54:06,570 --> 00:54:11,000 >> Accidentalmente podría haber echado a perder esto mediante el parpadeo de una diapositiva en la pantalla 1096 00:54:11,000 --> 00:54:12,260 prematuramente. 1097 00:54:12,260 --> 00:54:16,550 Pero déjame pedir un voluntario valiente, si no te importa subir. 1098 00:54:16,550 --> 00:54:19,040 Usted sería frente a la cámara, si estás bien con eso. 1099 00:54:19,040 --> 00:54:24,950 ¿A alguien le gustaría venir y dar instrucciones a sus colegas aquí? 1100 00:54:24,950 --> 00:54:29,540 Sólo hay que venir aquí y pararse aquí y decir algunas palabras. 1101 00:54:29,540 --> 00:54:32,890 >> Victoria está sonriendo al máximo y evitando los ojos de la mayoría. 1102 00:54:32,890 --> 00:54:34,740 ¿Usted estaría dispuesto a venir en un máximo? 1103 00:54:34,740 --> 00:54:35,240 DE ACUERDO. 1104 00:54:35,240 --> 00:54:38,480 Y si todos los demás en sus asientos podría llevar a cabo un trozo de papel de desecho, 1105 00:54:38,480 --> 00:54:39,750 Si tu quieres. 1106 00:54:39,750 --> 00:54:40,760 papel rayado está muy bien. 1107 00:54:40,760 --> 00:54:41,990 Da la vuelta de esta manera. 1108 00:54:41,990 --> 00:54:44,580 O parte del papel que le dieron ayer, 1109 00:54:44,580 --> 00:54:46,493 cualquier hoja en blanco de papel, si pudiera. 1110 00:54:46,493 --> 00:54:52,240 1111 00:54:52,240 --> 00:54:54,870 Y si usted no tiene ninguna, simplemente pregunte a su vecino si pudiera. 1112 00:54:54,870 --> 00:55:04,220 1113 00:55:04,220 --> 00:55:07,580 >> Así por el momento, para este ejemplo, Victoria 1114 00:55:07,580 --> 00:55:11,520 se va a jugar el papel de un programador, un ingeniero, que 1115 00:55:11,520 --> 00:55:16,130 que tiene que programar todo, como las computadoras, para hacer algo. 1116 00:55:16,130 --> 00:55:19,570 Y veremos qué supuestos decide hacer. 1117 00:55:19,570 --> 00:55:22,700 Veremos cómo precisa que elige ser. 1118 00:55:22,700 --> 00:55:26,220 Y si esta demostración va pedagógicamente bien, un montón de errores 1119 00:55:26,220 --> 00:55:29,220 serán hechos, que a continuación vamos a utilizar que como una oportunidad para el debate. 1120 00:55:29,220 --> 00:55:32,010 Sin embargo, el reto para los que debiera ser evitar esos errores, 1121 00:55:32,010 --> 00:55:32,896 ser un buen programador. 1122 00:55:32,896 --> 00:55:35,520 Y lo que el reto que nos ocupa, si que le gustó a caminar por aquí, 1123 00:55:35,520 --> 00:55:38,799 que está delante de Victoria en la pantalla aquí-- y es de esperar, ninguno de ustedes 1124 00:55:38,799 --> 00:55:40,590 recordar esto cuando apareció en la pantalla. 1125 00:55:40,590 --> 00:55:44,097 Y no dar la vuelta en absoluto, porque hay otra pantalla en esta sala 1126 00:55:44,097 --> 00:55:44,930 que puedo apagar. 1127 00:55:44,930 --> 00:55:46,620 Así que no dar la vuelta. 1128 00:55:46,620 --> 00:55:49,090 >> Delante de Victoria es el mismo grito. 1129 00:55:49,090 --> 00:55:54,170 Y su trabajo ahora es decirle a todos en su pedazo de papel lo que a dibujar. 1130 00:55:54,170 --> 00:55:57,020 Y veremos, sobre la base de instrucciones verbales solamente, 1131 00:55:57,020 --> 00:56:00,020 código de computadora, si se quiere, la forma exacta sus dibujos 1132 00:56:00,020 --> 00:56:02,330 son-- sus implementaciones son. 1133 00:56:02,330 --> 00:56:02,980 ¿Tener sentido? 1134 00:56:02,980 --> 00:56:03,604 >> AUDIENCIA: Sí. 1135 00:56:03,604 --> 00:56:04,980 DAVID MALAN: OK, ejecutar. 1136 00:56:04,980 --> 00:56:06,030 >> AUDIENCIA: Dibuja un cuadrado. 1137 00:56:06,030 --> 00:56:09,050 >> [RISA] 1138 00:56:09,050 --> 00:56:12,310 >> DAVID MALAN: Y sin se les puede pedir preguntas. 1139 00:56:12,310 --> 00:56:13,720 sólo puede hacer lo que se te dice. 1140 00:56:13,720 --> 00:56:17,570 1141 00:56:17,570 --> 00:56:22,550 Ah, y si usted tiene diapositivas de hoy abrir en una pestaña, no se ven en la pestaña. 1142 00:56:22,550 --> 00:56:23,670 ¿OKAY? 1143 00:56:23,670 --> 00:56:26,135 >> AUDIENCIA: OK, dibujar un círculo. 1144 00:56:26,135 --> 00:56:32,544 1145 00:56:32,544 --> 00:56:34,872 Un slope-- puede decir que la pendiente? 1146 00:56:34,872 --> 00:56:35,830 DAVID MALAN: Hasta usted. 1147 00:56:35,830 --> 00:56:38,230 1148 00:56:38,230 --> 00:56:38,980 AUDIENCIA: Una pendiente. 1149 00:56:38,980 --> 00:56:46,330 1150 00:56:46,330 --> 00:56:49,795 Y un triángulo. 1151 00:56:49,795 --> 00:56:50,850 >> DAVID MALAN: Está bien. 1152 00:56:50,850 --> 00:56:52,286 Y permanecer aquí por un momento. 1153 00:56:52,286 --> 00:56:56,046 1154 00:56:56,046 --> 00:56:58,910 Y voy a venir todo en un momento. 1155 00:56:58,910 --> 00:57:02,420 Y no hace falta poner sus nombres en ella. 1156 00:57:02,420 --> 00:57:05,030 Déjame entrar en razón y recoger sus dibujos, 1157 00:57:05,030 --> 00:57:08,330 si no te importa rasgando hacia fuera. 1158 00:57:08,330 --> 00:57:12,110 >> Esto es lo que regresamos. 1159 00:57:12,110 --> 00:57:14,770 Voy a proyectarla en la pantalla. 1160 00:57:14,770 --> 00:57:18,310 Veo un cuadrado, un círculo, una pendiente, y un triángulo. 1161 00:57:18,310 --> 00:57:20,130 Así que fue una respuesta allí. 1162 00:57:20,130 --> 00:57:23,640 Y let's-- gritos. 1163 00:57:23,640 --> 00:57:25,370 Gracias. 1164 00:57:25,370 --> 00:57:30,710 Aquí hay otra variedad, y uno detrás de él. 1165 00:57:30,710 --> 00:57:34,130 1166 00:57:34,130 --> 00:57:37,120 >> Así que todos ellos parecen capturar el espíritu. 1167 00:57:37,120 --> 00:57:38,600 Gracias. 1168 00:57:38,600 --> 00:57:44,970 Hay otro, y aquí hay otro. 1169 00:57:44,970 --> 00:57:51,590 La interpretación pendiente es una poco diferente, poco curvas. 1170 00:57:51,590 --> 00:57:57,140 Y el más cercano, ya sea por la maravillosa especificidad con la que usted tiene 1171 00:57:57,140 --> 00:58:03,520 descrito, o tal vez tipo de vio antes, esto es de hecho 1172 00:58:03,520 --> 00:58:06,340 Victoria lo que en realidad estaba describiendo. 1173 00:58:06,340 --> 00:58:09,190 >> Pero ahora, los que no lo hicieron del todo bien, 1174 00:58:09,190 --> 00:58:11,140 vamos a ofrecer algunas objeciones aquí. 1175 00:58:11,140 --> 00:58:13,770 Así que primero dijo Victoria dibujar un cuadrado. 1176 00:58:13,770 --> 00:58:15,830 Y ahora, podemos asumir por el bien de hoy 1177 00:58:15,830 --> 00:58:17,538 que todo el mundo sabe cómo dibujar un cuadrado. 1178 00:58:17,538 --> 00:58:20,590 Pero eso no es del todo claro, ¿verdad? 1179 00:58:20,590 --> 00:58:23,220 ¿Cómo más se puede tener dibujado un cuadrado, o cuando 1180 00:58:23,220 --> 00:58:27,114 podrían ser algunas de las ambigüedades aquí para el equipo? 1181 00:58:27,114 --> 00:58:28,280 AUDIENCIA: localización y el tamaño. 1182 00:58:28,280 --> 00:58:28,980 DAVID MALAN: Ubicación, ¿verdad? 1183 00:58:28,980 --> 00:58:32,070 Todos ustedes tenían un papel de alguna forma, en general, rectángulos, pero ligeramente 1184 00:58:32,070 --> 00:58:32,830 diferentes tamaños. 1185 00:58:32,830 --> 00:58:36,250 Pero que sin duda podría haber dibujado, si quería, una enorme plaza, tal vez 1186 00:58:36,250 --> 00:58:37,220 una pequeña plaza. 1187 00:58:37,220 --> 00:58:38,417 Tal vez, se hace girar. 1188 00:58:38,417 --> 00:58:39,500 No creo que vimos. 1189 00:58:39,500 --> 00:58:41,790 Pero podría haber sido más diamantes como pero aún así, no obstante, 1190 00:58:41,790 --> 00:58:42,900 matemáticamente una plaza. 1191 00:58:42,900 --> 00:58:44,850 Así que podría decirse que era ambigua. 1192 00:58:44,850 --> 00:58:46,709 >> Luego dijo, dibujar un círculo. 1193 00:58:46,709 --> 00:58:49,250 Algunos de ustedes se sacaron al lado de , lo que no es razonable, 1194 00:58:49,250 --> 00:58:52,450 porque los seres humanos tienden a pensar o leer derecha a izquierda en la mayoría de los idiomas, por lo que no 1195 00:58:52,450 --> 00:58:53,017 una mala suposición. 1196 00:58:53,017 --> 00:58:55,100 Pero ese círculo podría tener estado dentro de la plaza, 1197 00:58:55,100 --> 00:58:57,600 podría haber dado la vuelta al cuadrado, que podría haber sido en otro lugar 1198 00:58:57,600 --> 00:58:59,480 en la hoja, por lo que posiblemente ambigua. 1199 00:58:59,480 --> 00:59:03,290 >> Pendiente podría haber sido mejor teniendo la mayoría de las libertades verbalmente 1200 00:59:03,290 --> 00:59:04,200 con lo que eso significa. 1201 00:59:04,200 --> 00:59:06,980 Y algunos de ustedes interpretarse como una línea ondulada 1202 00:59:06,980 --> 00:59:08,560 o una línea recta o similares. 1203 00:59:08,560 --> 00:59:11,719 Y a continuación, triángulo, también, podría tener sido orientado en cualquier número de maneras. 1204 00:59:11,719 --> 00:59:14,760 Así que en resumen, incluso con algo que usted echa un vistazo y usted es como, wow, por lo 1205 00:59:14,760 --> 00:59:17,020 simple, un niño podría dibujar esto, así que no 1206 00:59:17,020 --> 00:59:19,640 realmente, a menos que estés super, super persuasiva 1207 00:59:19,640 --> 00:59:22,045 y decirle a la computadora exactamente qué hacer. 1208 00:59:22,045 --> 00:59:24,420 Así que si pudiéramos, si usted tiene otra hoja de papel, vamos a 1209 00:59:24,420 --> 00:59:26,710 probar esto una vez más. 1210 00:59:26,710 --> 00:59:29,880 Y voy a dar una Victoria otro ejemplo en la pantalla aquí. 1211 00:59:29,880 --> 00:59:34,060 Y de nuevo, no dar la vuelta y no se fijan en las diapositivas. 1212 00:59:34,060 --> 00:59:37,304 Y yo le daré un momento para pensar en cómo describir esto. 1213 00:59:37,304 --> 00:59:39,012 No deje ver el miedo en sus ojos. 1214 00:59:39,012 --> 00:59:40,820 >> [RISA] 1215 00:59:40,820 --> 00:59:43,710 >> Y de nuevo, esta vez el apalancamiento algunos de esos robos de balón 1216 00:59:43,710 --> 00:59:48,130 y tratar de conseguir casi todo el mundo al menos la respuesta correcta. 1217 00:59:48,130 --> 00:59:52,260 >> AUDIENCIA: OK, tomar una pedazo de papel, mira 1218 00:59:52,260 --> 00:59:54,500 en medio de ese pedazo de papel. 1219 00:59:54,500 --> 00:59:59,591 En medio de esa pieza de papel, dibujar un cubo. 1220 00:59:59,591 --> 01:00:01,244 >> [RISA] 1221 01:00:01,244 --> 01:00:02,660 DAVID MALAN: ¿Qué hemos aprendido? 1222 01:00:02,660 --> 01:00:03,540 Estábamos tan cerca. 1223 01:00:03,540 --> 01:00:06,320 1224 01:00:06,320 --> 01:00:09,045 OK, repetir si se pudiera, para todo el mundo. 1225 01:00:09,045 --> 01:00:13,210 >> PÚBLICO: En el medio de la pedazo de papel, dibujar un objeto, 1226 01:00:13,210 --> 01:00:14,842 que se parece a un cubo. 1227 01:00:14,842 --> 01:00:17,332 >> DAVID MALAN: OK, eso es todo lo que llegar a trabajar. 1228 01:00:17,332 --> 01:00:20,010 1229 01:00:20,010 --> 01:00:23,080 Permíteme ser analítica y no tanto crítico, 1230 01:00:23,080 --> 01:00:25,720 pero para hacer la reclamación que Victoria definitivamente 1231 01:00:25,720 --> 01:00:28,967 parece estar pensando en muy abstracciones de alto nivel, que 1232 01:00:28,967 --> 01:00:29,800 No es irrazonable. 1233 01:00:29,800 --> 01:00:32,160 Porque de lo contrario, estaríamos todos ser bastante disfuncional, 1234 01:00:32,160 --> 01:00:35,740 si tuviéramos que ser siempre tan precisa con todo lo que hacemos en el mundo. 1235 01:00:35,740 --> 01:00:38,890 >> Pero decir que vaya a la middle-- pensamos que estábamos en una buena pista tan 1236 01:00:38,890 --> 01:00:42,340 allí, como ir al mismo centro de la página y, a continuación, dibuje un cubo. 1237 01:00:42,340 --> 01:00:45,730 Así que está pensando en abstracciones, porque ella todavía está viendo 1238 01:00:45,730 --> 01:00:48,490 lo que está en la pantalla como en efecto un cubo. 1239 01:00:48,490 --> 01:00:51,185 Pero hay tantas oportunidades para la interpretación allí. 1240 01:00:51,185 --> 01:00:53,560 Y de hecho, hay tantos otras maneras en que podría expresar 1241 01:00:53,560 --> 01:00:55,101 eso, lo que me propongo en un momento. 1242 01:00:55,101 --> 01:00:59,770 Así que aquí tenemos una encarnación de la whoops-- picture-- 1243 01:00:59,770 --> 01:01:02,830 encarnación de la imagen, por lo que una poco tridimensionalidad a la misma, 1244 01:01:02,830 --> 01:01:04,160 lo cual es bueno. 1245 01:01:04,160 --> 01:01:08,470 >> Aquí hay otro, donde usted tiene la mismo, a pesar de que es una especie de cubo abierto. 1246 01:01:08,470 --> 01:01:12,020 Algunas personas tomaron un poco más plana, de dos dimensiones. 1247 01:01:12,020 --> 01:01:13,910 Y eso está bien. 1248 01:01:13,910 --> 01:01:17,380 Así que hay, de hecho, en el centro del papel. 1249 01:01:17,380 --> 01:01:22,720 Éste creo que estará al igual, porque si nos vamos aquí, 1250 01:01:22,720 --> 01:01:25,130 esto es lo que estaba describiendo. 1251 01:01:25,130 --> 01:01:29,570 Así que ahora, permítanme proponer de qué otra podríamos describir esta situación. 1252 01:01:29,570 --> 01:01:34,070 >> De vuelta en el día, uno de los más formas más comunes para aprender programación 1253 01:01:34,070 --> 01:01:38,900 era escribir código, escribe líneas de instrucciones, 1254 01:01:38,900 --> 01:01:42,640 que controlaba un poco tortuga en la pantalla. 1255 01:01:42,640 --> 01:01:45,660 Logotipo y otras variantes de este era el nombre de la lengua. 1256 01:01:45,660 --> 01:01:47,550 Y la tortuga vivía en un mundo. 1257 01:01:47,550 --> 01:01:49,970 >> Así que supongo que esto rectangulares el espacio es su mundo. 1258 01:01:49,970 --> 01:01:53,340 Y sería empezar por lo assuming-- realmente no sabemos cómo dibujar tortuga, 1259 01:01:53,340 --> 01:01:54,740 así que vamos a hacerlo de esta manera. 1260 01:01:54,740 --> 01:01:57,340 Y entonces él tiene una concha y luego tal vez algunos pies. 1261 01:01:57,340 --> 01:01:59,840 Lo que podría tener esta pequeña carácter en la pantalla. 1262 01:01:59,840 --> 01:02:02,270 >> Y el objeto de esta lenguaje de programación 1263 01:02:02,270 --> 01:02:06,070 era obligar a la tortuga para ir hacia arriba, abajo, izquierda, derecha 1264 01:02:06,070 --> 01:02:08,420 y poner su pluma o recoger su pluma hacia arriba, 1265 01:02:08,420 --> 01:02:12,720 por lo que en realidad podría dibujar en la pantalla en este mundo rectangular muy plana. 1266 01:02:12,720 --> 01:02:16,850 Así en el que pensé que podría estar pasando, y donde se debe tener en cuenta el buceo 1267 01:02:16,850 --> 01:02:19,520 mentalmente a la hora de describir Instrucciones de manera más general, 1268 01:02:19,520 --> 01:02:21,720 Me gustaría reclamar, se pone a su pluma en el middle-- 1269 01:02:21,720 --> 01:02:23,100 y vamos a deshacerse de las tortuga, porque no puedo realmente 1270 01:02:23,100 --> 01:02:24,680 mantenerlo dibujo muy bien. 1271 01:02:24,680 --> 01:02:27,170 >> Y ahora, ¿cómo podrían Digo dibujar un cubo? 1272 01:02:27,170 --> 01:02:32,830 Bueno, podríamos decir algo así como sorteo una línea diagonal noreste, por ejemplo, 1273 01:02:32,830 --> 01:02:35,182 o en un ángulo de 45 grados hacia arriba. 1274 01:02:35,182 --> 01:02:36,640 Y eso podría me han llegado aquí. 1275 01:02:36,640 --> 01:02:38,380 Y estoy bastante lejos de un cubo. 1276 01:02:38,380 --> 01:02:42,430 Pero ahora, yo podría decir algo al igual que un giro de 90 grados a la izquierda 1277 01:02:42,430 --> 01:02:47,370 y trazar una línea de igual al noroeste longitud. 1278 01:02:47,370 --> 01:02:49,470 Y podría seguir con direcciones similares. 1279 01:02:49,470 --> 01:02:50,720 Y no va a ser fácil. 1280 01:02:50,720 --> 01:02:53,345 Y, francamente, es probable que lo haría han estado aquí durante cinco minutos. 1281 01:02:53,345 --> 01:02:59,600 Pero tal vez habríamos llegado a algo que, al final del día, 1282 01:02:59,600 --> 01:03:04,280 termina siendo un cubo, pero practicado en el interior de esa abstracción 1283 01:03:04,280 --> 01:03:06,370 hacerlo en tales mínima nivel que realmente no se puede 1284 01:03:06,370 --> 01:03:09,795 ver lo que está haciendo hasta que el conjunto Lo que realmente está allí en la página. 1285 01:03:09,795 --> 01:03:12,670 Y por lo que este es un principio general, de nuevo, de programming-- esta idea 1286 01:03:12,670 --> 01:03:13,320 de abstracción. 1287 01:03:13,320 --> 01:03:15,920 Es tan maravillosamente de gran alcance, porque, de nuevo, 1288 01:03:15,920 --> 01:03:19,281 que acaba de decir, dibujar un cubo, que todos Nos prácticamente estaríamos asimilar muy rápidamente. 1289 01:03:19,281 --> 01:03:21,030 Nos gustaría simplemente comprender, OK, dibujar un cubo. 1290 01:03:21,030 --> 01:03:24,030 Puede que no sepamos la orientación, así que podría ser un poco más precisos, 1291 01:03:24,030 --> 01:03:26,297 pero podemos imaginar general o saber lo que es un cubo. 1292 01:03:26,297 --> 01:03:28,130 Y eso es útil, porque si cada vez que se 1293 01:03:28,130 --> 01:03:31,540 sentado como programador en su teclado para escribir código, 1294 01:03:31,540 --> 01:03:33,912 si tiene que pensar en tales un nivel bajo, ninguno de nosotros 1295 01:03:33,912 --> 01:03:35,120 volvería a hacer nada. 1296 01:03:35,120 --> 01:03:38,259 Y, desde luego, ninguno de nosotros lo haría disfrutar el proceso de escribir código. 1297 01:03:38,259 --> 01:03:41,550 Sería como escribir en 0 y 1., que francamente no era todo lo que hace mucho tiempo 1298 01:03:41,550 --> 01:03:43,680 los seres humanos estaban escribiendo código en 0 y 1.. 1299 01:03:43,680 --> 01:03:46,960 Y nosotros muy rápidamente ocurrió Las Lenguas éstos mayor nivel 1300 01:03:46,960 --> 01:03:49,410 C ++ y Java y otros. 1301 01:03:49,410 --> 01:03:52,500 >> Así que vamos a probar esto una vez más, sólo para voltear las tablas, por lo que todos 1302 01:03:52,500 --> 01:03:55,450 tener la oportunidad de pensar en lugar de la misma manera. 1303 01:03:55,450 --> 01:03:59,230 Podríamos conseguir un voluntario más este tiempo para llegar a la pizarra y dibujar, 1304 01:03:59,230 --> 01:04:01,480 No recitar? 1305 01:04:01,480 --> 01:04:02,070 Sí, ok. 1306 01:04:02,070 --> 01:04:04,820 Ben, vamos arriba. 1307 01:04:04,820 --> 01:04:08,510 Y, Ben, en este caso, una vez que se frente a la junta, no mire a la izquierda, 1308 01:04:08,510 --> 01:04:09,370 no se ven bien. 1309 01:04:09,370 --> 01:04:12,367 Sólo hacer lo que su colegas aquí le dicen. 1310 01:04:12,367 --> 01:04:14,950 Y para todos los demás en el cuarto, que ahora son el programador. 1311 01:04:14,950 --> 01:04:16,020 Es el equipo. 1312 01:04:16,020 --> 01:04:21,395 Y la imagen que he escogido con antelación es este de aquí. 1313 01:04:21,395 --> 01:04:24,490 1314 01:04:24,490 --> 01:04:27,660 Están solo-- que están pensando de una broma divertida es todo. 1315 01:04:27,660 --> 01:04:31,510 >> Así que sería alguien no desea voluntariamente la primera instrucción 1316 01:04:31,510 --> 01:04:35,470 o declaración que debe La pluma de comando de Ben? 1317 01:04:35,470 --> 01:04:40,850 Y haremos esto en conjunto, tal vez una instrucción de cada persona. 1318 01:04:40,850 --> 01:04:41,440 ¿Lo siento? 1319 01:04:41,440 --> 01:04:42,440 >> AUDIENCIA: Dibuje un círculo. 1320 01:04:42,440 --> 01:04:45,866 DAVID MALAN: Dibuja un círculo es el primero que oí. 1321 01:04:45,866 --> 01:04:47,100 >> AUDIENCIA: Encima de la tapa. 1322 01:04:47,100 --> 01:04:48,140 >> DAVID MALAN: Encima de la tapa. 1323 01:04:48,140 --> 01:04:52,504 OK, podemos dejar que se elimina, deshacer. 1324 01:04:52,504 --> 01:04:53,420 Y ahora, a otra persona. 1325 01:04:53,420 --> 01:04:55,994 Dan, tendría que ser cómodo ofreciendo la siguiente instrucción? 1326 01:04:55,994 --> 01:05:02,070 >> AUDIENCIA: Claro, dibujar el centro de la parte inferior del círculo, 1327 01:05:02,070 --> 01:05:07,121 con un small-- un poco pequeño espacio de eso, 1328 01:05:07,121 --> 01:05:15,420 dibujar una línea recta hasta tres cuartos de la manera abajo del tablero 1329 01:05:15,420 --> 01:05:17,845 un ligero ángulo a la izquierda. 1330 01:05:17,845 --> 01:05:21,250 1331 01:05:21,250 --> 01:05:22,620 >> DAVID MALAN: Bueno. 1332 01:05:22,620 --> 01:05:24,086 >> AUDIENCIA: ángulo leve. 1333 01:05:24,086 --> 01:05:32,807 >> DAVID MALAN: Deshacer, Control-Z. DE ACUERDO. 1334 01:05:32,807 --> 01:05:34,890 Andrew, que quieren ofrecer hasta la siguiente instrucción? 1335 01:05:34,890 --> 01:05:35,515 >> AUDIENCIA: Claro. 1336 01:05:35,515 --> 01:05:43,250 Desde el fondo de esa línea, un ligero angle-- más 1337 01:05:43,250 --> 01:05:49,024 whoops-- tal vez alrededor de un tercio de la longitud [inaudible], 1338 01:05:49,024 --> 01:05:52,928 ligero ángulo hacia abajo y como una tercio de la longitud de [inaudible]. 1339 01:05:52,928 --> 01:05:57,550 1340 01:05:57,550 --> 01:06:00,578 Así que sí, a partir de ese punto, trazar una línea de un tercer 1341 01:06:00,578 --> 01:06:04,150 de la longitud de la anterior la línea más a la izquierda. 1342 01:06:04,150 --> 01:06:08,416 1343 01:06:08,416 --> 01:06:10,040 >> DAVID MALAN: Eso está bien? 1344 01:06:10,040 --> 01:06:12,330 línea recta, que está bien? 1345 01:06:12,330 --> 01:06:14,900 OK, Olivier, que desea para ofrecer la próxima? 1346 01:06:14,900 --> 01:06:28,564 >> AUDIENCIA: [inaudible] en el parte inferior del círculo, [inaudible]. 1347 01:06:28,564 --> 01:06:32,000 1348 01:06:32,000 --> 01:06:45,126 Dibujar en el lado derecho de [inaudible] centímetros. 1349 01:06:45,126 --> 01:06:46,560 >> [RISA] 1350 01:06:46,560 --> 01:06:49,872 >> DAVID MALAN: Creo que va a tiene que convertir eso es pulgadas aquí. 1351 01:06:49,872 --> 01:06:50,764 >> AUDIENCIA: Stop. 1352 01:06:50,764 --> 01:06:52,186 >> [RISA] 1353 01:06:52,186 --> 01:06:54,570 >> DAVID MALAN: OK. 1354 01:06:54,570 --> 01:06:56,660 [? Ara,?] Desea para ofrecer la próxima? 1355 01:06:56,660 --> 01:07:00,653 1356 01:07:00,653 --> 01:07:15,443 >> AUDIENCIA: Dibuje un [inaudible] la parte superior [inaudible] de la misma. 1357 01:07:15,443 --> 01:07:28,829 [Inaudible] círculo, dibujar a la [Inaudible] y dibujar [inaudible]. 1358 01:07:28,829 --> 01:07:33,799 1359 01:07:33,799 --> 01:07:36,730 >> DAVID MALAN: bien, no más de deshacer. 1360 01:07:36,730 --> 01:07:38,390 Vamos a hacer una o dos instrucciones más. 1361 01:07:38,390 --> 01:07:40,825 Chris, que desea ofrecer uno? 1362 01:07:40,825 --> 01:07:46,182 >> PÚBLICO: En la parte inferior del círculo, [inaudible] 1363 01:07:46,182 --> 01:07:51,528 dibujar una línea igual slopping hacia abajo a la izquierda [inaudible]. 1364 01:07:51,528 --> 01:07:59,304 1365 01:07:59,304 --> 01:08:00,590 >> DAVID MALAN: OK. 1366 01:08:00,590 --> 01:08:01,170 ¿Andrés? 1367 01:08:01,170 --> 01:08:02,472 Nos did-- Karim? 1368 01:08:02,472 --> 01:08:06,891 1369 01:08:06,891 --> 01:08:13,765 >> AUDIENCIA: A partir de la línea derecha, el final de la línea izquierda, la parte inferior, 1370 01:08:13,765 --> 01:08:21,012 vas a ir a la derecha sobre la misma longitud que la línea de 1371 01:08:21,012 --> 01:08:27,680 estás en, al dibujo la derecha [inaudible]. 1372 01:08:27,680 --> 01:08:33,572 1373 01:08:33,572 --> 01:08:37,991 [Inaudible] grados, por lo que [inaudible] grados en el lado derecho. 1374 01:08:37,991 --> 01:08:41,919 1375 01:08:41,919 --> 01:08:43,500 >> DAVID MALAN: Está bien. 1376 01:08:43,500 --> 01:08:44,029 Hagamos una pausa. 1377 01:08:44,029 --> 01:08:44,950 No dar la vuelta todavía. 1378 01:08:44,950 --> 01:08:46,783 Hagamos una pausa, y de que vamos probar uno de otro intento 1379 01:08:46,783 --> 01:08:48,850 Antes de revelar a Ben lo que ha estado dibujando. 1380 01:08:48,850 --> 01:08:51,189 ¿Se puede mezclar Ben la derecha- o en realidad, 1381 01:08:51,189 --> 01:08:54,080 no, vamos a darle la otra tabla, aún mejor. 1382 01:08:54,080 --> 01:08:57,640 Así que ahora me gustaría que alguien tomar más del enfoque 1383 01:08:57,640 --> 01:09:02,149 que Victoria tomó antes, donde hablamos en un nivel más alto de abstracción 1384 01:09:02,149 --> 01:09:05,149 y en tan sólo una oración o dos describen a Ben 1385 01:09:05,149 --> 01:09:07,229 qué dibujar sin meterse en la maleza, 1386 01:09:07,229 --> 01:09:10,670 por así decirlo, en este un nivel más bajo? 1387 01:09:10,670 --> 01:09:11,206 Victoria. 1388 01:09:11,206 --> 01:09:11,706 [RISA] 1389 01:09:11,706 --> 01:09:14,249 AUDIENCIA: Dibuje una figura del hombre que camina. 1390 01:09:14,249 --> 01:09:18,866 Y sus piernas y brazos tiene que ser el lado derecho. 1391 01:09:18,866 --> 01:09:20,505 >> DAVID MALAN: OK, eso es todo lo que obtiene. 1392 01:09:20,505 --> 01:09:27,210 1393 01:09:27,210 --> 01:09:27,710 Todo bien. 1394 01:09:27,710 --> 01:09:31,609 ¿Por qué no nos revelamos a Ben lo que hizo. 1395 01:09:31,609 --> 01:09:32,890 Así que un aplauso. 1396 01:09:32,890 --> 01:09:35,700 Ese fue el más duro, tal vez. 1397 01:09:35,700 --> 01:09:37,931 >> Así que a pesar de que estamos hablando en términos bastante tontas 1398 01:09:37,931 --> 01:09:39,680 sobre apenas dibujo fotos, esperamos que pueda 1399 01:09:39,680 --> 01:09:44,226 se puede apreciar realmente el grado de expresividad que podría ser necesario 1400 01:09:44,226 --> 01:09:45,850 con el fin de decirle a un ordenador qué hacer. 1401 01:09:45,850 --> 01:09:50,370 Y de hecho, el hecho de que Ben era capaz de dibujar esto tan rápidamente 1402 01:09:50,370 --> 01:09:54,227 es una especie de prueba de uso de un idioma, tal vez un nivel más alto 1403 01:09:54,227 --> 01:09:57,060 versión de Inglés, que le permite utilizar sólo palabras o escuchar las palabras 1404 01:09:57,060 --> 01:09:59,990 de Victoria, que le permitirá éstos se basan simplemente abstractions-- 1405 01:09:59,990 --> 01:10:03,020 una figura que caminaba a la derecha- ese tipo de cuenta 1406 01:10:03,020 --> 01:10:07,100 un significado semántico a ella que no es casi tan obvio cuando estás a 1407 01:10:07,100 --> 01:10:10,310 diciendo: poner su pluma, dibujar a la derecha, señalando a la izquierda. 1408 01:10:10,310 --> 01:10:12,420 >> Y así esto, también, es muy común en la programación. 1409 01:10:12,420 --> 01:10:15,253 Esto se dice que es como una lenguaje de muy bajo nivel, la programación 1410 01:10:15,253 --> 01:10:16,730 en de 0 y 1 de si se quiere. 1411 01:10:16,730 --> 01:10:19,320 Y esto sería un nivel más alto el lenguaje de programación en Java, 1412 01:10:19,320 --> 01:10:20,278 o algo así. 1413 01:10:20,278 --> 01:10:22,050 Un poco de una simplificación excesiva, pero eso es 1414 01:10:22,050 --> 01:10:24,310 la clase como emocional la sensación de que se siente cuando 1415 01:10:24,310 --> 01:10:26,630 utilizando un tipo de cosa u otra. 1416 01:10:26,630 --> 01:10:32,650 Un poco de frustración aquí por la necesidad para tal precisión, pero la oportunidad 1417 01:10:32,650 --> 01:10:34,930 a ser un poco más flexible con la interpretación aquí. 1418 01:10:34,930 --> 01:10:38,060 Pero, por supuesto, los errores puede surgir como resultado. 1419 01:10:38,060 --> 01:10:40,500 >> Si desea que en la casa- no va a hacer éste en class-- 1420 01:10:40,500 --> 01:10:41,900 pero si desea traer un gol, 1421 01:10:41,900 --> 01:10:43,387 Pensé que iba a sumergirse en esto. 1422 01:10:43,387 --> 01:10:45,970 Así que si te gusta jugar a este juego con su otro significativo 1423 01:10:45,970 --> 01:10:49,180 o los niños o similares, se podría disfrutar de eso también. 1424 01:10:49,180 --> 01:10:54,460 >> Así que vamos a seguir adelante y mirar a una última Lo aquí por el pensamiento computacional. 1425 01:10:54,460 --> 01:10:57,010 Y eso nos lleva a John Oliver, no para el clip 1426 01:10:57,010 --> 01:11:00,070 que podría haber visto la noche anterior, sino a un tema relativamente reciente. 1427 01:11:00,070 --> 01:11:03,310 Hace unos meses, Volkswagen tomó un poco de fuego antiaéreo 1428 01:11:03,310 --> 01:11:05,651 por qué razón, si sabes? 1429 01:11:05,651 --> 01:11:07,025 ¿Qué obtuvieron en problemas por? 1430 01:11:07,025 --> 01:11:10,270 1431 01:11:10,270 --> 01:11:14,030 >> Sí, por lo que emissions-- estaban tratando de superar las emisiones 1432 01:11:14,030 --> 01:11:19,100 pruebas esencialmente por tener su coches contaminan menos el medio ambiente 1433 01:11:19,100 --> 01:11:23,620 cuando se están probando sus coches y contaminar el medio ambiente más 1434 01:11:23,620 --> 01:11:25,547 cuando no se están probando los coches. 1435 01:11:25,547 --> 01:11:28,630 Y lo que es cada vez más interesante en el mundo, ya que puede tener inferido 1436 01:11:28,630 --> 01:11:34,072 de las discusiones de lo que es como- it-- carplay, el software de Apple para los coches 1437 01:11:34,072 --> 01:11:35,780 y el hecho de que muchos cada vez más de nosotros 1438 01:11:35,780 --> 01:11:38,390 tienen pantallas táctiles en nuestros coches, hay una cantidad alarmante 1439 01:11:38,390 --> 01:11:41,250 del software en la gente coches hoy, 1440 01:11:41,250 --> 01:11:45,650 francamente, se abre una lata entera de gusanos cuando se trata de la seguridad y el riesgo físico. 1441 01:11:45,650 --> 01:11:48,070 Pero por hoy, vamos a centrarse sólo en lo que es 1442 01:11:48,070 --> 01:11:52,170 involucrado en software de escritura que podría haber gamed el sistema. 1443 01:11:52,170 --> 01:11:54,510 >> Para la definición de la problema, para los que no conocen, 1444 01:11:54,510 --> 01:11:55,740 vamos a echar un vistazo a John Oliver. 1445 01:11:55,740 --> 01:11:58,115 Y para aquellos familiarizados con el problema, vamos a ver lo 1446 01:11:58,115 --> 01:12:00,480 en una lente a través de la diversión John Oliver también. 1447 01:12:00,480 --> 01:12:05,810 Así que permítanme golpear juego en esto, pensar, la introducción de tres minutos. 1448 01:12:05,810 --> 01:12:07,074 Maldición. 1449 01:12:07,074 --> 01:12:07,740 [REPRODUCCIÓN DE VÍDEO] 1450 01:12:07,740 --> 01:12:08,170 -Carros-- 1451 01:12:08,170 --> 01:12:09,919 DAVID MALAN: Obviamente, en YouTube, es-- 1452 01:12:09,919 --> 01:12:12,500 - --el personajes más inteligentes las películas de Rápido y Furioso. 1453 01:12:12,500 --> 01:12:16,080 Esta semana, fabricante de automóviles alemán Volkswagen se encontró 1454 01:12:16,080 --> 01:12:19,430 en medio de un escándalo de proporciones potencialmente criminales. 1455 01:12:19,430 --> 01:12:23,020 >> -Volkswagen Se prepara para miles de millones en multas, posibles cargos criminales 1456 01:12:23,020 --> 01:12:25,530 para sus ejecutivos, como la compañía se disculpa 1457 01:12:25,530 --> 01:12:28,790 por manipular 11 millones de coches al ayudarla a vencer las pruebas de emisiones. 1458 01:12:28,790 --> 01:12:32,110 >> -Ciertos modelos diesel fueron diseñados con un sofisticado software que 1459 01:12:32,110 --> 01:12:35,410 ha utilizado la información, incluyendo la posición de la rueda de dirección y el vehículo 1460 01:12:35,410 --> 01:12:38,820 velocidad, para determinar el coche era de someterse a las pruebas de emisiones. 1461 01:12:38,820 --> 01:12:42,620 Bajo esta circunstancia, el motor reduciría las emisiones tóxicas. 1462 01:12:42,620 --> 01:12:46,040 Pero el coche fue manipulada a la derivación que cuando se estaba siendo conducido. 1463 01:12:46,040 --> 01:12:51,370 Las emisiones aumentaron de 10 a 40 veces por encima de los niveles de EPA aceptables. 1464 01:12:51,370 --> 01:12:55,920 >> -Wow, De 10 a 40 veces mayor que la EPA permite. 1465 01:12:55,920 --> 01:12:59,570 Eso es lo peor Volkswagen ha hecho nunca, 1466 01:12:59,570 --> 01:13:04,200 es algo que se puede decir si que nunca había oído hablar de la Segunda Guerra Mundial. 1467 01:13:04,200 --> 01:13:09,710 Pero tal vez el signo más seguro de cómo muchos problemas Volkswagen está en, 1468 01:13:09,710 --> 01:13:12,730 es que las personas en el superior han renunciado. 1469 01:13:12,730 --> 01:13:16,320 El CEO renunció el miércoles después de luchando para hacer control de daños, 1470 01:13:16,320 --> 01:13:20,380 diciendo que era infinitamente lo siento, lo cual sonaba muy bien hasta que resultó 1471 01:13:20,380 --> 01:13:22,920 él era sólo el 10% lo siento pero había manipulado su boca 1472 01:13:22,920 --> 01:13:25,600 para inflar artificialmente su sorriness. 1473 01:13:25,600 --> 01:13:29,700 Y mientras tanto, los Estados Unidos de Volkswagen jefe tenía una disculpa de su propia. 1474 01:13:29,700 --> 01:13:33,580 >> -Vamos A ser claros acerca de esto, nuestra empresa fue deshonesto. 1475 01:13:33,580 --> 01:13:37,140 Y en mis palabras en alemán, nos han atornillado totalmente hacia arriba. 1476 01:13:37,140 --> 01:13:41,360 >> Sí, pero totalmente atornillado arriba no son obras alemanas. 1477 01:13:41,360 --> 01:13:43,750 Y la lengua alemana tiene muchas frases bonitas 1478 01:13:43,750 --> 01:13:50,070 para describir situaciones como ésta, tales como [Alemán], lo que significa más o menos, 1479 01:13:50,070 --> 01:13:52,870 la tristeza que viene de las mentiras relacionadas con el negocio, 1480 01:13:52,870 --> 01:13:59,060 o [Alemán], lo que se traduce como avergonzar a los padre que implica 1481 01:13:59,060 --> 01:14:00,352 nubes de la gasolina. 1482 01:14:00,352 --> 01:14:02,060 Es un idioma hermoso. 1483 01:14:02,060 --> 01:14:04,660 Simplemente navega fuera de la lengua. 1484 01:14:04,660 --> 01:14:07,920 Y, por cierto, mientras que el hombre de disculpa puede haber sonado sincera, 1485 01:14:07,920 --> 01:14:12,260 vale la pena señalar que estaba hablando en un partido oficial de lanzamiento para el 2016 1486 01:14:12,260 --> 01:14:17,310 Volkswagen Passat, lo que significa que en breve después de decir lo siento, dijo que esto. 1487 01:14:17,310 --> 01:14:18,850 >> -Muchas gracias por venir. 1488 01:14:18,850 --> 01:14:19,630 Disfruta la tarde. 1489 01:14:19,630 --> 01:14:21,300 Lo siguiente es Lenny Kravitz. 1490 01:14:21,300 --> 01:14:24,640 >> [REPRODUCIENDO MÚSICA] 1491 01:14:24,640 --> 01:14:28,230 >> -OK, OK, poniendo fin a su disculpa con hasta el próximo 1492 01:14:28,230 --> 01:14:31,940 Lenny Kravitz no lo hace gritar contrición sobria. 1493 01:14:31,940 --> 01:14:35,830 Es un grito, nos preguntamos Bon Jovi, y él dijo que no. 1494 01:14:35,830 --> 01:14:38,600 marca de Volkswagen tiene sido gravemente dañada. 1495 01:14:38,600 --> 01:14:42,466 Y, francamente, su nuevo anuncio campaña no está exactamente ayudando. 1496 01:14:42,466 --> 01:14:47,289 >> - [Alemán], que en Volkswagen gustaría para disculparse por engañar con usted 1497 01:14:47,289 --> 01:14:47,930 nuestros vehículos. 1498 01:14:47,930 --> 01:14:48,513 >> [FIN DE REPRODUCCIÓN] 1499 01:14:48,513 --> 01:14:54,090 DAVID MALAN: Así que esto era una rodeo de-- sorry-- 1500 01:14:54,090 --> 01:14:58,730 esto era una manera indirecta de la introducción de un problema fundamental 1501 01:14:58,730 --> 01:15:02,810 en software, que es que se necesitará para detectar ciertas condiciones. 1502 01:15:02,810 --> 01:15:07,680 Y así, la cuestión que nos ocupa aquí Es decir, ¿cómo funciona un coche potencialmente, 1503 01:15:07,680 --> 01:15:09,870 como se aplica en el software por estos programadores, 1504 01:15:09,870 --> 01:15:11,850 detectar que en realidad está siendo probado? 1505 01:15:11,850 --> 01:15:14,150 Así que para ser súper clara, lo que estaban haciendo 1506 01:15:14,150 --> 01:15:17,940 era, en ambientes donde los programadores pensaron 1507 01:15:17,940 --> 01:15:20,460 el coche estaba siendo probado, que de alguna manera hicieron 1508 01:15:20,460 --> 01:15:24,840 el coche emite menos emisiones, menos las emisiones de humos, por lo menos tóxicas 1509 01:15:24,840 --> 01:15:25,470 y tal. 1510 01:15:25,470 --> 01:15:27,261 Pero cuando es normalmente conducción en la carretera, 1511 01:15:27,261 --> 01:15:30,350 sería simplemente emitir tanta la contaminación, ya que quería. 1512 01:15:30,350 --> 01:15:33,870 >> Entonces, ¿cómo podríamos escribir la pseudocódigo para este algoritmo? 1513 01:15:33,870 --> 01:15:37,820 ¿Cómo podríamos escribir el pseudocódigo para el software que se ejecuta en el coche? 1514 01:15:37,820 --> 01:15:43,390 Es decir, en pocas palabras, se reduce a algo como esto. 1515 01:15:43,390 --> 01:15:48,000 si se prueba, emitir menos. 1516 01:15:48,000 --> 01:15:50,750 otra cosa emite más. 1517 01:15:50,750 --> 01:15:52,630 Pero eso es un poco nivel demasiado alto, ¿verdad? 1518 01:15:52,630 --> 01:15:58,580 >> Vamos a tratar de bucear en cuanto a lo que este abstracción de ser medios ensayados. 1519 01:15:58,580 --> 01:16:06,340 En otras palabras, incluso si usted no sabe nada sobre los coches, ¿qué tipo de preguntas 1520 01:16:06,340 --> 01:16:13,440 pueden pedir el fin de determinar si que está siendo sometido a prueba, si usted es el coche? 1521 01:16:13,440 --> 01:16:19,638 ¿Qué características podría ser presentar si un coche está siendo probado? 1522 01:16:19,638 --> 01:16:21,026 >> AUDIENCIA: Equipamiento de pruebas. 1523 01:16:21,026 --> 01:16:22,420 >> DAVID MALAN: Equipamiento de pruebas. 1524 01:16:22,420 --> 01:16:26,060 Así que si el equipo de prueba cerca, a continuación, emitir menos. 1525 01:16:26,060 --> 01:16:28,669 Por lo que podía imaginar la implementación que con algún tipo de cámaras 1526 01:16:28,669 --> 01:16:29,960 o la detección de lo que le rodea. 1527 01:16:29,960 --> 01:16:32,870 Y permítanme proponer, que sólo se siente demasiado complicado 1528 01:16:32,870 --> 01:16:37,914 que en realidad tienen adicional de hardware sólo para ese fin. 1529 01:16:37,914 --> 01:16:44,830 >> AUDIENCIA: Si estás en parque, si la campana está abierta. 1530 01:16:44,830 --> 01:16:47,320 >> DAVID MALAN: En parque o capó abierto, por lo que es bueno. 1531 01:16:47,320 --> 01:16:47,420 >> AUDIENCIA: Y coche en marcha. 1532 01:16:47,420 --> 01:16:50,480 >> DAVID MALAN: Así que es un poco más concrete-- y coche en marcha. 1533 01:16:50,480 --> 01:16:55,690 Así que esta sería la conjunción de una algunas condiciones diferentes, si se quiere. 1534 01:16:55,690 --> 01:16:59,227 Así que si el coche está en el parque, e incluso aunque esto es una cosa muy mecánico 1535 01:16:59,227 --> 01:17:01,060 normalmente, pude imaginar un software de escritura, 1536 01:17:01,060 --> 01:17:03,476 sobre todo porque no hay a menudo hay una luz en estos días, 1537 01:17:03,476 --> 01:17:07,400 Me podía imaginar que exista software que se puede consultar la palanca de cambios 1538 01:17:07,400 --> 01:17:10,634 o lo que no, ¿está usted en el parque, son que en la unidad, usted es a la inversa. 1539 01:17:10,634 --> 01:17:12,550 Y que pueda volver una contestar eso es un sí 1540 01:17:12,550 --> 01:17:14,400 o no a ese tipo de preguntas. 1541 01:17:14,400 --> 01:17:17,630 >> Y para que pudiera responder también, probablemente, una pregunta como es el capó abierto. 1542 01:17:17,630 --> 01:17:21,860 Tal vez, hay algún tipo de sensor que o bien me devuelve un 1 o 0, 1543 01:17:21,860 --> 01:17:23,720 verdadero o falso, el capó está abierto. 1544 01:17:23,720 --> 01:17:28,180 Y luego coche en marcha, que podría detectar que de alguna manera a través de qué mecanismo? 1545 01:17:28,180 --> 01:17:30,430 Al igual, el coche está funcionando, lo podría detectar que se trata de el, 1546 01:17:30,430 --> 01:17:32,127 podría detectar alguna manera que el vehículo está en movimiento? 1547 01:17:32,127 --> 01:17:32,881 >> Público: RPM. 1548 01:17:32,881 --> 01:17:35,190 >> DAVID MALAN: Sí, por lo que hay siempre que la aguja que 1549 01:17:35,190 --> 01:17:38,034 le indica cuántas rotaciones por hora de las ruedas están experimentando. 1550 01:17:38,034 --> 01:17:39,200 Y por lo que yo pude ver eso. 1551 01:17:39,200 --> 01:17:43,090 Y si no es 0, que, probablemente, significa que el coche está en movimiento. 1552 01:17:43,090 --> 01:17:45,400 Pero tenemos que ser una poco cuidadoso allí, 1553 01:17:45,400 --> 01:17:49,780 porque-- vamos a simplificar esto- si acabamos de decir, si el coche en marcha, 1554 01:17:49,780 --> 01:17:53,070 no queremos que acaba de emitir menos, queremos si el coche está en marcha 1555 01:17:53,070 --> 01:17:54,310 y está siendo probado. 1556 01:17:54,310 --> 01:17:56,320 >> Así que hay algunos otros Los ingredientes que la gente 1557 01:17:56,320 --> 01:18:00,550 han planteado la hipótesis de que el software está haciendo, porque ausente el código fuente real, 1558 01:18:00,550 --> 01:18:05,130 sólo se puede especie de deducir de la efectos físicos del coche en cuanto a lo 1559 01:18:05,130 --> 01:18:08,280 que podría estar pasando por debajo la campana en el software. 1560 01:18:08,280 --> 01:18:17,090 Así que si coche en marcha y tal vez, por ejemplo, las ruedas traseras no se mueve, 1561 01:18:17,090 --> 01:18:19,420 Cuál podría ser indicativa de algún tipo de prueba? 1562 01:18:19,420 --> 01:18:22,830 ¿Qué estoy insinuando aquí? 1563 01:18:22,830 --> 01:18:24,830 Sí, tal vez, es sobre uno de esas cosas de rodillos, 1564 01:18:24,830 --> 01:18:28,340 donde al igual que las ruedas están girando en el frente o en la parte posterior, 1565 01:18:28,340 --> 01:18:32,570 dependiendo de si se trata de la rueda delantera o tracción trasera, así que la mitad de las ruedas 1566 01:18:32,570 --> 01:18:34,420 están en movimiento, pero el otros dos no, que 1567 01:18:34,420 --> 01:18:36,320 Es una situación extraña en el mundo real. 1568 01:18:36,320 --> 01:18:38,110 Si usted está conduciendo en el carretera, que no debería ocurrir. 1569 01:18:38,110 --> 01:18:40,568 Pero si estás en un almacén en algún tipo de sistema de rodillos, 1570 01:18:40,568 --> 01:18:41,630 que, efectivamente, podría suceder. 1571 01:18:41,630 --> 01:18:46,980 >> Creo que la gente también propusieron que tal vez, si el coche está en marcha y de dirección 1572 01:18:46,980 --> 01:18:51,300 no rueda en movimiento, que también podría ser una señal, 1573 01:18:51,300 --> 01:18:54,090 porque eso es razonable para como una recta en una carretera. 1574 01:18:54,090 --> 01:18:57,960 Pero incluso entonces, el humano es probablemente moverlo un poco o duda 1575 01:18:57,960 --> 01:18:59,100 en unos pocos segundos. 1576 01:18:59,100 --> 01:19:01,030 O el curso de una minutos, las probabilidades son que no es 1577 01:19:01,030 --> 01:19:03,510 va a ser fijado en exactamente la misma posición. 1578 01:19:03,510 --> 01:19:05,440 >> Así, en otras palabras, puede tomar resta, 1579 01:19:05,440 --> 01:19:08,200 está siendo probado, y romper esa funcionalidad 1580 01:19:08,200 --> 01:19:10,420 en estos ingredientes componentes. 1581 01:19:10,420 --> 01:19:13,440 Y eso es realmente lo que Volkswagen ingenieros de alguna manera lo hicieron. 1582 01:19:13,440 --> 01:19:17,070 Ellos escribieron el software conscientemente detectar si el vehículo está siendo probado, 1583 01:19:17,070 --> 01:19:20,440 Por lo tanto, emiten menos, otra cosa emitir en la forma habitual. 1584 01:19:20,440 --> 01:19:22,690 >> Y el problema aquí, también, es que el software no es 1585 01:19:22,690 --> 01:19:26,080 algo que realmente puede ver a menos usted tiene el llamado código fuente. 1586 01:19:26,080 --> 01:19:29,060 Así que hay dos tipos diferentes de code-- al menos dos tipos diferentes 1587 01:19:29,060 --> 01:19:30,130 de código en el mundo. 1588 01:19:30,130 --> 01:19:33,150 Hay algo que se llama fuente código, que no es a diferencia de lo 1589 01:19:33,150 --> 01:19:37,240 hemos estado escribiendo, código fuente. 1590 01:19:37,240 --> 01:19:40,099 >> Este es el código fuente escrito en un lenguaje llamado pseudocódigo, 1591 01:19:40,099 --> 01:19:41,640 que es algo similar al Inglés. 1592 01:19:41,640 --> 01:19:43,140 No hay una definición formal del mismo. 1593 01:19:43,140 --> 01:19:46,770 Pero C, y Java, C ++, las son todos los lenguajes formales que, 1594 01:19:46,770 --> 01:19:50,610 cuando se escribe en ellos, lo que tiene es un archivo de texto que contiene el código fuente. 1595 01:19:50,610 --> 01:19:54,850 >> Pero también hay algo en el mundo llamado código máquina. 1596 01:19:54,850 --> 01:20:00,579 Y código de máquina, por desgracia, es sólo de 0 y 1 de. 1597 01:20:00,579 --> 01:20:02,870 Así código de máquina es lo máquinas entienden, por supuesto. 1598 01:20:02,870 --> 01:20:04,470 El código fuente es lo que entienden los humanos. 1599 01:20:04,470 --> 01:20:08,390 >> Y, en general, pero no siempre, hay un programa de 1600 01:20:08,390 --> 01:20:14,090 que utiliza un programador que toma fuente código y lo convierte en código máquina. 1601 01:20:14,090 --> 01:20:17,400 Y ese programa es generalmente se llama un compilador. 1602 01:20:17,400 --> 01:20:19,820 Por lo que su entrada es código fuente, su salida es el código máquina, 1603 01:20:19,820 --> 01:20:22,890 y el compilador es un pedazo de software que hace que el proceso. 1604 01:20:22,890 --> 01:20:26,260 Por lo que este hecho muy bien a los mapas nuestras entradas, salidas, algoritmos. 1605 01:20:26,260 --> 01:20:30,400 >> Pero esto es una encarnación muy específica de eso, lo que quiere decir que, 1606 01:20:30,400 --> 01:20:34,200 incluso si usted es dueño de una de Volkswagen coches que es culpable de esto, 1607 01:20:34,200 --> 01:20:38,390 no es que sólo se puede abrir la capucha o abrir el manual del usuario o buscar 1608 01:20:38,390 --> 01:20:42,690 en el código fuente, porque por el momento que llegue a su coche en su camino de entrada, 1609 01:20:42,690 --> 01:20:45,580 ya han pasado convertido en 0 y 1 de. 1610 01:20:45,580 --> 01:20:51,310 Y es muy difícil, por no decir imposible, pero es muy difícil deducir mucho de nada 1611 01:20:51,310 --> 01:20:53,710 de sólo mirar la subyacente de 0 y 1 de. 1612 01:20:53,710 --> 01:20:57,150 Para que pueda averiguarlo, en última instancia, si a entender cómo una máquina operates-- 1613 01:20:57,150 --> 01:20:59,870 Intel dentro-- si se entiende la arquitectura Intel, 1614 01:20:59,870 --> 01:21:01,440 pero es muy consumidora de tiempo. 1615 01:21:01,440 --> 01:21:05,010 E incluso allí, es posible que no ser capaz de ver todo 1616 01:21:05,010 --> 01:21:08,220 que el código puede hacer realmente. 1617 01:21:08,220 --> 01:21:12,521 >> Cualquier pregunta sobre este o esta tipo de proceso más general? 1618 01:21:12,521 --> 01:21:15,134 1619 01:21:15,134 --> 01:21:18,300 Y, de hecho, podemos relacionar esta discusión a la discusión de ayer de Apple. 1620 01:21:18,300 --> 01:21:22,500 Esto, también, es por eso que el FBI no puede simplemente ir a buscar en el teléfono del sospechoso 1621 01:21:22,500 --> 01:21:26,820 y encontrar las líneas de código, por ejemplo, que permitirá el código de acceso 1622 01:21:26,820 --> 01:21:28,940 o permitir que el retraso de 80 milisegundos. 1623 01:21:28,940 --> 01:21:31,630 Debido a que en el momento en que es en el iPhone de los compañeros, 1624 01:21:31,630 --> 01:21:34,975 ya han pasado convertido a 0 y 1 de. 1625 01:21:34,975 --> 01:21:38,015 1626 01:21:38,015 --> 01:21:40,820 >> Bueno, vamos a hacer una pausa aquí para nuestro mirar en el pensamiento computacional. 1627 01:21:40,820 --> 01:21:42,320 ¿Por qué no tomamos un descanso de 15 minutos. 1628 01:21:42,320 --> 01:21:44,130 Y cuando volvamos, vamos a echar un vistazo a la programación 1629 01:21:44,130 --> 01:21:46,550 en sí y empezar a trazar algunos de estos conceptos de alto nivel 1630 01:21:46,550 --> 01:21:49,780 a una transferencia real, si lúdico, lenguaje de programación. 1631 01:21:49,780 --> 01:21:51,089