>> [REPRODUCCIÓN DE MÚSICA]
[MÚSICA - ROSSINI, "RANZ DES VACHES "de Guillermo Tell]
>> [MÚSICA - EL GOLPE EN INGLÉS ", MARZO DE LOS JEFES GIRATORIOS "]
>> [Aplausos y ovaciones]
>> DAVID MALAN: Así que esto es CS50.
Mi nombre es David Malan.
Y el 73% de los que no tienen experiencia previa con la informática,
al contrario de lo que se podría pensar.
Así que hoy, pensamos en hacer mella por lo que la falta de familiaridad, sino también
le dará un sentido de, para aquellos de ustedes con más comodidad, que las direcciones
se puede ir en este semestre.
>> Así que vamos a empezar con esto.
Realmente no tengo ni idea de lo que hay dentro de una computadora, a pesar de que, como tú,
utilizar todos los días.
Pero es una especie de caja, y no hay no muchas entradas en él.
Mínimamente, hay, ¿qué?
Probablemente un cable de alimentación.
>> Y, de hecho con este ingrediente, electricidad, parece que somos capaces de
haciendo un poco en estos días.
Pero al final del día, nos tienen que representar las cosas
que nos preocupamos.
Tenemos que representar la información en alguna forma.
Y usted es probablemente por lo menos vagamente familiarizados con la idea de binario o
bits de un modo u otro, los ordenadores reducido a ceros y unos.
Pero, ¿podemos aceptar eso y, al menos, poner un poco de luz a eso?
>> Así que tengo estos pequeños lámparas de escritorio aquí.
Tengo una toma de corriente aquí.
Y voy a proponer que en el interior de mi equipo es de al menos uno de
estas cosas, algo capaz de ser encendido o apagado.
En este caso, es de hecho una lámpara de escritorio, pero en el nivel más bajo, que es algo
llamado un transistor.
>> Pero en nuestro mundo, es una lámpara de escritorio, por lo que Voy a seguir adelante y conectar este
en mi electricidad aquí.
Y afirmo que el uso de este sencillo, dispositivo simple, este interruptor simple,
puede representar la información.
Por ejemplo, ahora mismo, estoy que representa nada, ¿verdad?
Estoy representando lo que yo llamo 0 o falso, lo contrario de algo
estar realmente presente.
Pero si simplemente enciendo el interruptor, ahora me he representado un 1.
Así que con este simple pedazo de memoria, si se quiere, que puede representar
información.
>> Ahora, por desgracia, mi equipo no se puede hacer todo lo que mucho.
Sólo puede representar dos valores en todo el mundo -
0 o 1.
Pero lo que es una solución obvia, ahora, si queremos ampliar nuestro equipo de
memoria y representan más que sólo 0 y 1?
>> Bueno, tomemos otro ejemplo de bits.
Vamos a tomar otro interruptor, otro transistor, sin embargo que le gustaría
pensar en ello.
Permítanme Vaya y conecte este en mi equipo también.
Y voy a reclamar, ahora, que por usando un poco más de electricidad y
volviéndose más de estos interruptores y fuera, puedo representar a más tales
información.
>> Así que ahora mismo, esto es 1.
Si quiero representar ahora 2, lo que podía hacer esto.
Pero por lo general, de convenciones, como veremos finalmente ver, se que yo haga esto.
Así que esto es 0, esto es 1.
Esto sería 2.
Y como es lógico, esto sería 3.
>> Así de esta manera, todavía, puede contamos hasta aún más?
Si consigo un tercer bit, un tercer interruptor, ¿cuál es el número más alto que puedo ahora
contar hasta desde 0?
Así que 7 si estoy empezando en 0, ¿no?
Porque si enciendo esta luz encendida y realmente conecte esta tercera y última
luz en mi toma de corriente aquí, entonces no tengo la capacidad de representar
cualquiera de dos valores aquí, dos valores aquí, dos valores aquí -
y por lo que puedo representar a 2 veces 2 veces 2, u ocho valores posibles.
Y si me pongo a la contabilidad a 0, por lo que que es 0, 1, 2, 3, 4, 5, 6, 7.
>> Así que este binario.
Realmente es tan simple como eso.
Y yo diría que esto es en realidad muy familiar para la mayoría
todos en esta sala.
Déjenme seguir adelante y abrir un pequeño editor de texto aquí.
>> Y se puede recordar de la escuela primaria que teníamos cosas como los cientos
lugar, el lugar de las decenas, y los colocan.
Y recordar que si usted tenía alguna decimal número, como algo al azar
como 123, lo haría esencialmente escribir que en forma
de estos tres columnas.
¿Y por qué es 1, 2, 3 lo que conocemos como 123?
Pues bien, en la columna de la izquierda, tenemos uno 100 más dos 10, por lo que es 120,
más tres 1s, así que eso es 123.
>> Ahora bien, este mundo que nos iluminamos es exactamente el mismo que
usted ha estado familiarizado con los años, excepto que ahora, nuestras columnas
no son potencias de 10.
Sólo son potencias de 2.
Así, mientras que es el lugar de las unidades, esta va a ser el lugar de dos en dos, esto es
va a ser el lugar de cuatro patas.
>> Y porque yo sólo estoy usando el más simple de mecanismos para cambiar las cosas
dentro y fuera - la electricidad fluye o la electricidad no fluye -
No acabo de tener la misma expresión oscilar como 0 al nueve.
Vamos a mantenerlo simple estupendo en este mundo de las computadoras.
Sólo tengo 0 o 1 -
apagado o encendido, falso o verdadero.
>> Y por eso lo que estoy representando en este momento es 1, 1, 1, porque cada uno de estos
las luces se iluminan.
Bueno, eso me da una 4 más uno 2, por lo que eso es 6, más un 1, y eso es 7.
Y ergo hace esta secuencia de tres bits representan el número 7.
>> Así que todo este tiempo, en el interior de su ordenador, haber sido cualquier número de
transistores, cualquier número de bits.
Pero al final del día, nos puede representar la información
tan simple como eso.
Ahora, por desgracia, sólo hemos contado hasta 7 en CS50 hasta ahora, pero
espero que podamos hacer un poco mejor que eso.
Y de hecho lo que podamos.
>> Supongamos que tenemos como seres humanos sólo arbitrariamente decidimos que vamos
para asociar números 1 y 2, 3, 4, 5, 6, 7, con letras específicas de
el alfabeto.
Y por razones históricas, que voy a empiezo algo arbitraria, pero estoy
va a decir, los seres humanos, vamos a decidirá como una norma, a nivel mundial, que
65 representa el número de la letra A. 66 representarán B. Punto, punto, punto.
90 representará la letra Z.
>> Y supongamos que, si realmente nos ponemos un poco de pensamiento en él, podríamos llegar
con los números de los signos de exclamación y minúsculas, y de hecho,
otras personas han hecho por nosotros.
Así que ahora teníamos los bits con los que podemos representar los números, los números con los que
podemos representar las letras, y con letras pueden ahora empezar a componer
correos electrónicos y caracteres de imprenta en la pantalla.
>> Así que permítanme invito, si pudiera, ocho valientes voluntarios -
que no les importa que aparece no sólo en cámara, pero en el Internet -
venir aquí y representan ocho tales bits, en lugar de estos tres.
Así que ¿qué hay de una, dos?
¿Qué tal tres?
¿Qué hay de las cuatro de la luz azul, cinco a la final?
Acerca alguien por aquí?
Seis delante, siete en el frente, y ocho en el frente, también.
>> Así que sólo por lo que pasó a venir preparados con un montón de trozos de papel.
Y en estos pedazos de papel son números que representan lo que las columnas
ustedes van a representar.
Así que usted será - ¿cómo te llamas?
>> ESTUDIANTE: Anna Leah.
>> DAVID MALAN: Anna Leah, que será la columna de la 128s.
Usted es?
>> ESTUDIANTE: Chris.
>> DAVID MALAN: Chris hará ser la columna de la 64s.
Usted es?
>> ESTUDIANTE: Dan.
>> DAVID MALAN: Dan se ser la columna de la 32s.
>> ESTUDIANTE: Pramit.
>> DAVID MALAN: Pramit se ser la columna de la 16S.
>> ESTUDIANTE: Lillian.
>> DAVID MALAN: Lillian serán los 8s.
>> ESTUDIANTE: Jill.
>> DAVID MALAN: Jill se ser la columna 4s.
>> ESTUDIANTE: María.
>> DAVID MALAN: María será el 2s, y?
>> ESTUDIANTE: David.
>> DAVID MALAN: David ser la columna 1s.
Así que si ustedes pudieran pisar un poco hacia adelante para que todos puedan verlo.
Lo que ustedes no ven es que en el parte de atrás de estas hojas de papel es un
pequeña hoja de trucos que está a punto de instruir a estos ocho bits a cualquiera
levantar la mano o no levanten la mano.
Si su mano sube, son que representa un 1.
Si la mano se queda abajo, son que representa un 0.
>> Mientras tanto, el público debe ser capaz de averiguar, a partir de este
cartografía, ¿qué palabra de tres letras éstos la gente está a punto de explicar.
Así que en un momento, vas a leer la primera línea de la parte posterior de
su hoja de trucos, y ya está bien va a subir o no levantar la mano.
Si usted es un 1, se eleva, si eres un 0, te quedas ahí
torpemente, como si nada.
Vaya.
¿Qué número, en primer lugar, representan a estos tipos?
>> 66.
66, ¿verdad?
Contamos con un 1 en la columna de la 64s, un 1 en la columna de 2s.
Eso me da 66, por lo que parece que se representa B. Así
que ustedes han escrito -
OK, eso es suficiente.
B.
>> Así que ahora vamos a pasar a nuestra segunda carta.
Vaya.
¿Quién es más rápido para las matemáticas aquí?
Así 79.
Una vez más, si sumamos todas las columnas en el que hay un 1, en la actualidad, sólo
como lo hicimos antes con el más simple de ejemplos de 7, que ahora
obtener el número 79.
Que de acuerdo a nuestra cartografía es el letra O. Así que ya casi llegamos.
B, O. Y, por último, se van.
>> ¿Qué están representando ahora?
Menos consenso.
Eso es sólo un soplo absoluta.
Sí, es de hecho 87.
Bueno.
>> Así que si ahora mapa que volver a - vamos a empezar a llamar a nuestra tabla ASCII,
Código Estándar Americano para El intercambio de información.
Eso nos da la carta -
no "bo", pero "el arco." Y eso es una perfecta cue para ustedes para hacer una reverencia
y la cabeza en la parte posterior.
Muchas gracias.
>> [Aplausos]
>> DAVID MALAN: Usted puede mantenerlos.
Aunque en realidad, lo haría cualquier persona gustaría una lámpara de escritorio, también?
>> [PITIDO DE AUDIENCIA]
>> DAVID MALAN: Lámpara de escritorio?
>> [Risas]
>> DAVID MALAN: ¿En serio?
Lámparas de escritorio para todos?
Está bien.
Así a partir de la muy simple de principios, hemos ahora no sólo cuentan
desde 0 hasta el final hasta a 7, hemos asumido que simplemente lanzando más
bits o más luces o más transistores a este problema, se puede
representar los números cada vez más grandes, y ergo, rangos cada vez más grandes de
alfabetos, como el Inglés.
Y así vamos a echar en la fe para hoy que de igual forma podríamos empezar a
representar gráficos y de vídeo y cualquier número de otros medios de comunicación con la que nos estamos
familiar hoy en día.
>> Así que esto es CS50, y en esta clase junto de ustedes son, de nuevo, muy muchos
compañeros de clase que tienen tan poco experiencia que tú.
Y menciono esto sólo porque bastante a menudo, incluyendo tan recientemente como uno de
los eventos de primer año y asesoramiento en estudiante de segundo año de la primavera pasada asesoramiento
caso, a menudo oímos estudiantes renuncian cuando sube a la mesa de CS, bueno,
He estado pensando en tomar este clase de introducción, pero no soy realmente un
persona ordenador.
O bien, pero todo el mundo sin duda sabe más que yo.
Y puse esto en el tipo de letra más grande posible, para transmitir este mensaje que
eso no es de hecho el caso.
>> Y si usted se pregunta, en caso de Yo, de hecho, estar aquí?
Darse cuenta de que no sólo es de este curso título Introducción a la Informática
Ciencia, es Introducción a la Informática Ciencia I. Así que hay de hecho
un segundo dicha introducción.
Así que usted no es, de hecho, en el lugar equivocado.
Y entre los objetivos que tengo para hoy son para disipar cualquier tipo de duda que
podría tener, sino también para pintar un imagen de lo que está reservado para
estudiantes menos y más cómodas por igual en este curso.
>> Pero primero, una palabra en uno de los folletos que tiene hoy en día, entre los que
hay una serie de preguntas frecuentes.
Ha sido una visión de la nuestra desde hace algún tiempo ahora introducir una nueva clasificación
opción en este curso - a saber, SAT / UNSAT.
Filosóficamente para mí, es mucho, mucho, mucho más importante que el
estudiantes en esta clase se comprometen con la materiales, ser impugnada por el
materiales, y se preocupan mucho, mucho menos sobre la mecánica de las puntuaciones reales
y las calificaciones con letras en el semestre de terminar, pero realmente abrazar la
curso y su material.
Y en realidad esto se siente, más en general, por lo que es interesante para ellos, para
sentirse desafiado y recompensado, pero sin miedo al fracaso.
>> Y, de hecho, esto también es un recurrente tema en este y otros introductoria
cursos en otros campos, que tiene este trepidación cuando se trata de
frotando los dedos de los pies en aguas desconocidas.
Yo mismo, en el año 1995, era un estudiante de primer año.
Yo estaba muy concentrado en ser un concentrador Gov aquí.
Y sin embargo, yo siempre había crecido con un poco de un interés en la informática.
Siempre tuve curiosidad.
>> Pero en aquel entonces, incluso, tuve miedo de incluso de poner un pie en el CS50, tanto
de manera que ni siquiera Shop es estudiante de primer año año.
Y la única razón por la que puse un pie en la año sophomore puerta era porque
se le permitió tomarla pasa / falla.
Pero incluso pasa / no pasa requería que tengo el valor suficiente para hacer una cita
con el profesor Kernehan en el momento, traer esta gran hoja de papel, y pedir
él por su firma y su permiso para explorar
estas aguas desconocidas.
>> Y no ha ayudado en los últimos años que al hacer esto en CS50, cuando
antes se pasa / falla, de manera similar lo haría decenas o cientos de sus compañeros de clase
tener que llegar, Dios no lo permita, en el frente a Sanders con este formulario, que
en algunas mentes representa una incapacidad, Me atrevo a decir, para llevar a cabo
son nivel de sus compañeros.
Lo cual es ridículo, pero creo hay esa mentalidad.
Y nunca ha habido en esta cultura de SAT / UNSAT o pasa / falla más
Generalmente, en este curso, o en realidad en este campus.
>> Así que este año hemos cambiado eso.
Me gustaría ser la mitad de éxtasis de esta clase o más terminado
ocupando CS50 SAT / UNSAT.
En el plazo de un año, que sería maravilloso si casi todo el mundo es.
A partir de entonces tal vez vamos a trabajar en las calificaciones con letras en Harvard
Colegio en general.
Pero por ahora, vamos a hacer esto dentro de nuestra propia esfera, y lo haría de buena gana
Le recomendamos que revise esas preguntas frecuentes y hacer preguntas como mejor le parezca, por lo que
esperamos que, a diferencia de mí, ¿no es bastante tener ese mismo factor de miedo cuando
explorar lo que probablemente un lugar desconocido.
>> Entonces, ¿qué es CS50?
Es una introducción a la empresas intelectuales de equipo
la ciencia y el arte de la programación.
Pero, ¿qué significa esto realmente?
>> Bueno, hasta ahora, hemos hablado muy brevemente sobre representación de la información.
Pero supongamos que en realidad queremos hacer algo con él.
Tenemos que introducir la noción de lo que vamos a llamar a un algoritmo.
Un algoritmo es un procedimiento, un proceso, un conjunto de instrucciones para
hacer algo.
>> Y un algoritmo puede ser algo super simple.
Por ejemplo, un ejemplo con la que algunos de que podría estar familiarizado es este
cosa aquí.
Así que este libro aquí es cada vez más anticuado, pero una vez en un tiempo,
contiene todo un montón de nombres y números de teléfono.
Y de hecho, si quería encontrar alguien en este libro de teléfono -
por ejemplo, alguien llamado Mike Smith -
Que pude encontrar Mike Smith en cualquier número maneras de bastante sencillo.
Podría empezar por el principio y pasar a la página 1, no existe.
Página 2, no existe.
Page 3.
¿Es ese algoritmo, es que proceso, ¿correcto?
>> Por lo que es correcto, ¿verdad?
Soy una especie de idiota por haberlo hecho en de esa manera, pero con el tiempo lo haré
encontrar el apellido S, y espero que Mike es en esa sección, y me convertiré
hecho con mi algoritmo.
Pero seguro que no es intuitiva.
La mayoría de cada ser humano razonable en esta habitación no habría hecho eso.
¿Qué habría hecho usted?
>> Hubieras ido directamente a la mitad, ¿no?
Aproximadamente a la mitad.
Y te das cuenta, oh, se trata de la Sra. Así que Mike Smith, el apellido es Smith,
no es, claramente, a continuación, en el dejado a la mitad del libro.
Él debe ser hacia el S de la razón.
Y en este punto, aunque la mayoría de nosotros no haga esto en la realidad, podemos
literalmente, romper este problema a la mitad.
>> [Vítores y aplausos]
>> DAVID MALAN: Gracias.
>> [Vítores y aplausos]
>> DAVID MALAN: Usted puede, literalmente, romper este problema a la mitad, y me dejó con,
literalmente, una media de un problema tan grande.
Así que si este libro de teléfono era - y es Probablemente era - unas 1.000 páginas, ahora
es sólo 500.
Si hago esto otra vez y me doy cuenta, oh, maldita sea, fui demasiado lejos, yo estoy en el Ts
sección, puede de manera similar -
en sentido figurado o literalmente -
copiar la guía telefónica - en realidad era mucho más fácil que el tiempo.
Puedo copiar literalmente la guía telefónica en medio, y me dejó ahora con
no 1000, no 500 -
250 páginas.
Y puedo ir a 125, y la mitad de eso, y la mitad de eso, y la mitad de eso,
hasta que finalmente me quedaré con sólo una sola página.
>> [Risas]
>> DAVID MALAN: Ese es el parte yo fallo en.
Una sola página en la que Mike es de esperar.
Ahora los diferentes algoritmos pueden ser especie de o evaluadas en
diferentes maneras.
La primera fue muy lineal, ¿no?
Gire la página, busque Mike.
Es muy lineal.
Si hay una página más en el teléfono libro, que probablemente va a llevarme
un segundo más, una unidad más de tiempo, sin embargo estamos tiempo de cálculo.
>> Así que podría dibujar como esta esta línea aquí, mediante el cual como el tamaño de la
problema aumenta de izquierda a derecha -
agenda telefónica se hace más pequeño al más grande -
y el tiempo se va a aumentar en el eje vertical, la más grande
la guía telefónica es.
Así que n es una variable general de que los informáticos utilizan para representar
algún valor, algún número.
Así que n va a aumentar de forma lineal.
Doble del tamaño de la guía telefónica, es me va a llevar el doble de
tiempo, lo más probable, para encontrar a Mike.
>> Ahora yo podría haber sido inteligente acerca de esto, ¿verdad?
Me estaba aburriendo rápidamente.
Podría haber hecho esto de dos en dos.
Así que en dos páginas, luego cuatro, luego seis, luego ocho.
Y podría empezar a volar a través de él una poco más rápido, aunque a menor riesgo de
rebasamiento Mike, pero que la curva no es va a ser muy diferente.
Todavía va a ser una recta línea, pero un poco más rápido.
>> Pero, ¿qué hice?
De hecho, me hice algo fundamentalmente mejor.
Logré lo que llamaremos logarítmica tiempo, registro de n, por lo que este verde
línea tiene un mucho, mucho, mucho más menos borde recto a la misma.
Y más bien, sugiere, como una especie de tiende a infinito siempre tan gradualmente,
que yo podía tomar una de 1.000 páginas guía telefónica, el doble de su tamaño
el próximo año - porque suponer una gran cantidad más personas se trasladan a la ciudad.
>> Así que ahora tengo 2.000 páginas, pero ¿cómo muchos más pasos que es más inteligente
algoritmo va a tomar?
Sólo una.
Quiero decir, eso es algo muy poderoso.
Si vamos a 4,000 páginas el año que viene, eso va a llevarme
sólo dos pasos más.
Así que usted puede lanzar más y más grande problemas a mí, no a diferencia de la web es
tirar los problemas cada vez más grandes todos los días a Googles y Facebooks de
el mundo, y no es una cosa muy importante.
Porque yo puse más atención y cuidado en mi algoritmo con el que para resolver
problemas de manera eficiente.
>> Y, en efecto, que será uno de los objetivos de este curso.
Usted, en el camino, aprender a programar.
Vas a aprender a programar en cualquier número de idiomas.
Pero al final del día, el curso es sobre la solución de problemas y obtención de
mejores para resolver problemas - y, como en casos como éste, la solución de problemas
de manera más eficiente.
>> Ahora hasta el momento, hemos hecho esto bastante intuitiva.
Vamos a introducir algo bastante genérico llamado pseudocódigo.
Así que vamos a llegar al final, en este supuesto,
varios lenguajes de programación.
Pero hoy lo haremos en Inglés-like la sintaxis, en el que sólo un poco de decir
lo que quiere decir, pero tú eres siempre tan sucinta y usted no se preocupe por
gramática y oraciones completas.
Usted acaba de expresarse como concisa posible.
>> Así pseudocódigo es similar al Inglés sintaxis que representa
un lenguaje de programación.
Y hacia ese fin, permítanme proponer que ahora nos modelamos el proceso que acabamos de
descrito de contar algo un poco de manera diferente, esta vez teniendo un
mira este video de cinco minutos producido por nuestros amigos de TED que
define lo pseudocódigo es decir, define lo pensamiento algorítmico es, e incluso
aunque el ejemplo que estamos a punto de ver es, de por sí, muy simple, es
va a empezar a darnos lo mental modelo, el vocabulario, con el cual
hacer mucho, mucho más complejo algoritmos con bastante rapidez.
>> [INICIAR REPRODUCCIÓN DE VÍDEO]
>> [REPRODUCCIÓN DE MÚSICA]
>> NARRADOR: ¿Qué es un algoritmo?
En ciencias de la computación, un algoritmo es un conjunto de instrucciones para la solución de algunos
problema paso a paso.
Típicamente, se ejecutan los algoritmos por equipos, pero nosotros los humanos tenemos
algoritmos, así.
Por ejemplo, ¿cómo usted va trata de contar el número
de las personas en una habitación?
Bueno, si eres como yo, lo que probablemente punto en el que cada persona, de uno en uno
la vez, y contar a partir de 0.
1, 2, 3, 4, y así sucesivamente.
>> Bueno, eso es un algoritmo.
De hecho, vamos a tratar de expresar una poco más formalmente en pseudocódigo -
Sintaxis Inglés-like que se asemeja un lenguaje de programación.
Sea N igual a 0.
Por cada persona en la habitación, ajuste N igual a N más 1.
>> ¿Cómo interpretar este pseudocódigo?
Bueno, la línea uno declara, por así decirlo, una variable llamada N y se inicializa
su valor a 0.
Esto sólo significa que al principio de nuestro algoritmo, la cosa con la que
estamos contando tiene un valor de 0.
Después de todo, antes de empezar a contar, no hemos contado nada.
Llamar a esta variable N es sólo una convención.
Podría haber llamado a que casi cualquier cosa.
>> Ahora la línea dos demarca el inicio de una lazo, una secuencia de pasos que se
repetir un número de veces.
Así, en nuestro ejemplo, el paso que estamos tomando está contando la gente en la sala.
Debajo de la línea dos es la línea de tres, que describe exactamente cómo
vamos a ir sobre el conteo.
La indentación implica que es línea de tres que se repetirá.
>> Entonces, ¿qué está diciendo es pseudocódigo que después de comenzar a 0, para cada uno
persona en la habitación, vamos a aumentar N en 1.
Ahora es correcta este algoritmo?
Bueno, vamos a golpear en un poco.
¿Funciona si hay dos personas en la habitación?
Vamos a ver.
>> En la línea uno, inicializamos N a 0.
Para cada una de estas dos personas, entonces incrementamos N en 1.
Así que en el primer viaje a través de la bucle, actualizamos N de 0 a 1.
En el segundo viaje a través de esa misma bucle, actualizamos N desde 1 a 2.
Y así, a finales de este algoritmo, n es 2, que de hecho coincide con el número de
personas en la habitación.
>> Hasta ahora, todo bien.
¿Qué tal un caso límite, sin embargo?
Supongamos que hay 0 personas en la sala -, aparte de mí,
que está haciendo el conteo.
En la línea uno, inicializamos N a 0.
Esta vez, sin embargo, la línea de tres no ejecutar en absoluto, ya que no hay un
persona en la habitación.
Y así sigue siendo N 0, lo que coincide con el número de personas en la habitación.
Bastante simple, ¿verdad?
>> Pero contar personas en uno a la vez es bastante ineficiente, demasiado, no?
Seguro que podemos hacerlo mejor.
¿Por qué no contar con dos personas a la vez?
En lugar de contar 1, 2, 3, 4, 5, 6, 7, 8, y así sucesivamente, ¿por qué no contar, 2,
4, 6, 8, y así sucesivamente?
Incluso suena más rápido, y seguramente lo es.
>> Vamos a expresar esta optimización en pseudocódigo.
Sea N igual a 0.
Para cada par de personas en la sala, establecer N igual a N más 2.
Cambio Bastante simple, ¿verdad?
En lugar de contar a las personas una a la vez, en vez de eso contamos
ellos de dos en dos.
Por lo tanto dos veces de este algoritmo tan rápido como la última.
>> Pero, ¿es correcto?
Vamos a ver.
¿Funciona si hay dos personas en la habitación?
En la línea uno, inicializamos N a 0.
Para que un par de personas, entonces incrementamos N por dos.
Y así, a finales de este algoritmo, N es 2, que de hecho coincide con el número de
personas en la habitación.
>> Supongamos a continuación que existen 0 personas en la habitación.
En la línea uno, inicializamos N a 0.
Al igual que antes, la línea de tres no se ejecuta en absoluto, ya que no hay ningún par
de personas en la habitación.
Y así sigue siendo N 0, lo que de hecho coincida con el número de
personas en la habitación.
>> Pero lo que si hay tres personas en la habitación?
¿Cómo funciona esta tarifa algoritmo?
Vamos a ver.
En la línea uno, inicializamos N a 0.
Para un par de esas personas, entonces incrementamos N por 2.
Pero entonces, ¿qué?
No hay otro par lleno de gente en la sala, por lo que la línea dos no
ya se aplica.
Y así, a finales de este algoritmo, N es todavía 2, que no es correcta.
>> De hecho, este algoritmo dice que es con errores, ya que tiene un error.
Permite una reparación con una nueva pseudocódigo.
Sea n igual a 0 para cada par de las personas en la habitación.
Ajuste N igual a N + 2.
Si una persona se queda no apareado, establecer N igual a N más 1.
Para resolver este problema en particular, hemos introducido, en línea de cuatro, un
condición, conocida de otra manera como una rama que sólo se ejecuta si hay una
persona que no podíamos emparejarse con otro.
Y ahora, si hay uno o tres o cualquier número impar de personas en
la habitación, este algoritmo Ahora voy a contarlas.
>> ¿Podemos hacerlo mejor?
Bueno, podríamos contar en 3s o 4s o incluso 5 y 10, pero más allá de eso, es
va a conseguir un poco difícil señalar.
Al final del día, si se ejecuta por las computadoras o los seres humanos,
Los algoritmos son sólo un conjunto de instrucciones con
que para resolver los problemas.
Estas fueron sólo tres.
¿Qué problema resolvería usted con un algoritmo?
>> [VIDEO PLAYBACK FIN]
>> DAVID MALAN: Esa es la única vez Voy a aparecer en forma de dibujos animados.
Pero cuando esa historia deja fuera, Ahora bien, ¿cómo podemos hacer mejor?
Tres y cuatro, reclamamos, nos pueden contar gente mucho más rápido, pero puede que
hacer fundamentalmente mejor que eso?
Y apuesto a que podamos.
>> Si introducimos un poco de nuestra propia pseudocódigo aquí, voy a proponer
que podemos lograr una línea como esta.
No vamos a contar a las personas uno, dos, tres, cuatro.
No vamos a ir a dos, cuatro, seis, ocho.
Vamos a hacer fundamentalmente mejor repensando el problema, y ​​en este
caso, el aprovechamiento de una por lo demás recurso subutilizado.
>> En un momento, espero que perdones y el humor nos poniéndose de pie en
lugar, momento en el que vamos a pedir a cada uno a asumir en su
mente el número 1.
Estás pasando luego a cada vez más torpemente, a medida que pasa el tiempo, encontrar
otra persona que está de pie, se combinan sus números juntos
agregando para arriba.
Uno de ustedes entonces va a correr a sentarse se sienta primero y la otra persona
se va a repetir.
>> Así, en otras palabras, mediante la siembra de todos que con el número 1 y, a continuación,
la combinación de esos 1s en 2s y los 2s en 4s, con todo el mundo cada vez más
sentarse, deberíamos, al final de este algoritmo, tiene un solo préstamo
alma que no se sientan lo suficientemente rápido, pero que tiene contar la totalidad de las audiencias
en su mente.
>> Así que si usted desea, vamos a seguir adelante y - paso uno - de pie en su lugar.
Y ejecutar.
>> [Murmurando MULTITUD]
>> DAVID MALAN: ¿Sabe usted donde Lauren es?
729?
>> [Murmurando MULTITUD]
>> DAVID MALAN: ¿Está bien?
>> [Murmurando MULTITUD]
>> DAVID MALAN: Muy bien, debemos estar llegando al final.
Vemos un compañero de los que están aquí todavía.
¿Quién más necesita para ser emparejado?
Si ustedes quieren emparejarse.
Alguien arriba.
¿Por qué no echar una mano aquí.
Para las pocas personas que todavía están de pie, ¿Qué números
tener en su mente?
>> ESTUDIANTE: 78.
>> DAVID MALAN: 78 plus -
quien está de pie aquí abajo?
>> ESTUDIANTE: 39.
>> DAVID MALAN: Plus 39.
Además ¿quién más sigue en pie?
81?
Bueno, ¿quién más?
Otro 81?
Wow.
Y entonces lo que es en la parte trasera?
>> ESTUDIANTE: 49.
>> DAVID MALAN: 49, plus?
>> ESTUDIANTE: 98.
>> DAVID MALAN: 98 plus?
¿Es que alguien más?
12?
Buen trabajo.
>> [Risas]
>> DAVID MALAN: Oh, 112 -
oh.
¡Buen trabajo!
>> [Risas]
>> [Aplausos]
>> DAVID MALAN: ¿Alguien más sigue en pie?
¿Lo sientes?
>> ESTUDIANTE: 99.
>> DAVID MALAN: 99.
¿Alguien más aún en pie?
Y el número total de estudiantes aquí es en realidad, de acuerdo con -
¿tiene usted un número?
Oh, el número real de personas en el ambiente, de acuerdo con la cuenta que
los becarios de enseñanza estaban haciendo en el camino de todos en, era 729.
Así que de una sala llena de estudiantes de Harvard que contaba a sí mismos, la
respuesta es 637.
>> [Risas]
>> DAVID MALAN: Tan cerca.
Pero aún así.
OK, así que eso es una enseñanza momento, ¿verdad?
Esto ahora es lo que describimos como un bicho.
En algún lugar en el camino, hicimos un poco de mal aritmética, o alguien se sentaron,
o hacia la izquierda, o algo salió mal.
Pero eso está bien.
Porque aún así, nos tengo muy cerca.
Y yo diría que llegamos al mal responder mucho más rápido de lo que hubiera
usando mi enfoque más lineal.
>> Así que supongamos que, en efecto, obtenemos que correcto, pero pensar ahora en lo que
que estaba ocurriendo en cada ocasión, frente a mi propio algoritmo apuntando ingenuo.
Uno, dos, tres.
Si de hecho hay 729 o 637 personas aquí, que me habría llevado
literalmente, 637 o 729 pointings del dedo y
incrementando mi cuenta total.
Y yo podría hacer un poco mejor por va dos, cuatro, seis, ocho, y
doble de esa velocidad, incluso triple o cuádruple, dependiendo de lo bien que puedo
hacer que el conteo en mi cabeza.
>> Pero este enfoque que ustedes tomaron era fundamentalmente diferente.
Debido al principio, todos ustedes se pusieron de pie.
Así que todo 729.
Y entonces literalmente medio de que se sentó.
Y después de eso, otro la mitad de ustedes se sentó.
>> Y el número total de veces que chicos podrían haber sentado es aproximadamente
ocho o nueve o diez veces en total, dependiendo de lo que nuestro recuento total es.
Y podemos hacer una especie de esta a la inversa.
Si tuviéramos 1.024 personas en la sala, la número total de veces que se podía
reducir a la mitad 1.024 personas es 10.
>> Ahora piensa en ello en la otra dirección.
Supongamos, ridículamente, que teníamos, por ejemplo cuatro mil millones de personas en esta sala,
o una habitación un poco más grande.
¿Cuántas veces hemos ido a través de este algoritmo, de tal manera que la mitad
de esa clase se sienta?
Sólo va a tomar 32 como las operaciones, incluso en una clase de tamaño
cuatro mil millones.
¿Por qué?
Debido a cuatro mil millones va a dos millones de dólares, se destina a un millón, va a
500 millones, va a 250 millones, punto, punto, punto.
Yo sólo puedo hacer esa división el 32 veces, y en ese momento, todo el mundo menos
una persona se quede en pie.
>> Y eso, también, es una especie de gran alcance idea de que cada vez vamos a tratar de
apalancamiento en este curso, y en la programación y la informática más
En general, estos gérmenes de una idea con que podremos resolver problemas mucho,
mucho más poderosa.
Así que empezamos muy simple con la pseudocódigo y un chico en una habitación, pero
ahora con toda una sala llena de gente hemos hecho fundamentalmente mejor.
>> Bueno, ahora vamos a transición de pseudocódigo a algún código real.
Este lenguaje está a punto de ver que suceda que se llamará JavaScript y
volveremos a este hacia final del semestre.
Es un lenguaje de programación que utilizar para hacer sitios web y otros tales
software en estos días.
Y lo hemos utilizado, gracias a un amigo de los nuestros en Stanford, para codificar
alguna información oculta aquí.
Este es el arte de la esteganografía, por así decirlo, donde se puede ocultar
información en lo que de otro modo parece ser un ruido o completamente diferente
imagen por completo.
Pero incrustado en esta imagen particular es de hecho un mensaje secreto de la clase.
>> Así que déjame ir adelante y tire hacia arriba la misma imagen aquí, esta
tiempo en un navegador web.
Y yo voy a agitar la mano a algunos de los detalles de hoy, sobre todo
para aquellos de ustedes que esto se parece a no sólo JavaScript sino en griego, como
lenguaje completamente desconocido.
Pero este es un ejemplo de un lenguaje de programación.
>> Y por ahora, tener fe en que esta primera línea de código -
y por el código, me refiero sólo texto.
El texto que podría haber escrito literalmente en Microsoft Word, si tuviera la
software adecuado a continuación, hacer algo con él.
Código fuente de programación, la programación código, en realidad es sólo el texto, y
se ve diferente, basado en el idioma que está usando, no a diferencia de Inglés y
Español y ruso toda la mirada diferente cuando los escribe en su teclado.
>> Así que esta primera línea, por ahora asumir fe, simplemente abre un gráfico de la
Internet, ese gráfico ruidoso que acabamos de ver.
Esta próxima línea aquí es un ejemplo de un lazo, y que de hecho vimos esa misma
jerga en el video de TED.
Un bucle es algo que sucede de nuevo y otra vez, ya pesar de que esta
parece absolutamente críptica, con el palabra clave, y algunos paréntesis y
algunos puntos y coma.
Volveremos a que en poco tiempo, pero que bucle no es esencialmente
diciéndole al programa, iterar sobre todos de esos puntos ruidosos, de izquierda a
derecha, de arriba a abajo.
>> Debido a que al final del día, una imagen como esto - y en realidad se puede
tipo de verlo en este proyector -
es en realidad una malla de puntos.
Así que podemos identificar cada uno de esos puntos por una coordenada, x, y, y con este
programa, ahora podemos empezar a hacer algo para esos puntos.
>> Así que lo que voy a seguir adelante aquí y hacer es que voy a hacer algunos cambios.
En primer lugar voy a seguir adelante y deshacerse de todo eso verdoso y azulado
ruido, y yo voy a seguir adelante y escriba lo siguiente
sintaxis ciertamente críptico.
im para una imagen.
set azul en la ubicación x, coma, ubicación y, a 0.
En otras palabras, quiero simplemente desactivar todas las de la nada
puntos en esa foto.
>> Voy a seguir adelante ahora y haga clic en este botón Run / Save, y usted
notar en el lado derecho, Aparece la imagen resultante.
Ahora es muy verde, pero eso no es sorprendente, ya que, literalmente, la vuelta
fuera, haciendo una 1 un 0, todos el azul en esa foto.
>> Bueno, ahora vamos a hacerlo un poco más.
im para una imagen, punto setGreen, x, y.
Y eso sólo significa reiterar desde la izquierda a derecha y luego de arriba a abajo.
Apaga eso con un valor de 0, también.
Guardar.
Y en el proyector, no se puede en realidad ver nada en absoluto.
>> En la pantalla de mi ordenador portátil, si me asomo en tan sólo de la manera correcta, puedo ver un poco de una
imagen, porque son todavía algo de rojo en ese país.
Si alguna vez has escuchado la sigla RGB -
rojo, verde, azul -
se está refiriendo a esta composición de una imagen con
sólo los tres colores.
Y en este momento, hemos tirado todo verde, todo azul, pero
no hay mucho rojo.
>> Así que permítanme poner encima de la roja.
¿Cómo puedo hacer eso?
Bueno, en primer lugar, voy a pedir este programa una pregunta.
Voy a seguir adelante y vamos a llamarlo una variable, al igual que en el álgebra.
Usted puede tener x o y o z.
Voy a declarar una variable y decir, poner en esta variable,
temporalmente, el valor de la imágenes getRed valor en x, y.
>> Y de nuevo, vamos a volver a todos de este detalle en el futuro.
Pero, por ahora, sólo toma en la fe que esta línea está pidiendo el programa, lo que
es el valor de rojo en x, y?
En ese punto en particular?
>> Entonces yo voy a hacer algo.
Entonces me voy a hacer punto de imagen ajustado rojo en x, y, y, pero esta vez me voy a
potenciarlo haciendo veces en rojo, digamos, 10.
Por lo tanto aumentar por un factor de 10.
Permítanme Alejar ahora y click podía correr / Guardar.
Y voila, que estaba allí todo el tiempo, a pesar de que nuestros ojos humanos
no podía verlo del todo.
>> Así que de nuevo, esto ahora es de código real, una ejemplo de un lenguaje que vamos a venir
volver al poco tiempo.
Pero darse cuenta, sobre todo aquellos de ustedes sin esa experiencia, es bastante
antes que nosotros mismos seremos escribir código como el que existe.
De hecho, una herramienta con la que ya está todo algo familiar, tal vez, es CS50 de
propia herramienta de compras por supuesto-, que era realmente reiniciado este verano por algunos
de los propios antiguos alumnos del CS50, Ahora gire TFS.
>> Así que esto pasa a ser un sitio web construido en un lenguaje llamado PHP.
Utiliza una base de datos llamada MySQL, las cosas con el que nos pondremos nuestras manos
después sucia en el semestre.
Pero lo creas o no, incluso algo como esto reduce en última instancia a la
más simple de los bucles y las condiciones y ramas, como las que vimos sólo un
Hace momento en el video de TED.
>> Lo que pensé que me gustaría hacer ahora es no comparte sólo algo que el personal ha hecho
para el campus, sino más bien algo ex alumnos -
estudiantes, de hecho -
hecho este último año, Sierra, Daniel, y Sam, el último de los cuales no tenía antes
experiencia de programación cuando asumió el CS50.
Y para su proyecto final, exhibido, en la Feria del CS50, un
aplicación llamada wrdly, que es un programa basado en la web para los que hicieron
este video que pensé que me gustaría compartir con le dará un sentido de lo que es justo
posible para el final del plazo.
>> [REPRODUCCIÓN DE MÚSICA]
>> DAVID MALAN: Eso es de la Semana Cero hasta la semana 12 de este año pasado.
>> [Aplausos]
>> DAVID MALAN: Como un teaser, también, realmente para abrir el apetito es a lo que es
posible, es posible que haya visto ya, o poco, vean, market.cs50.net, un
nueva herramienta que el equipo del curso tiene estado trabajando en, esta vez en
colaboración con el estudiante de Harvard Agencias, de manera que a partir de este año
y continuando con suerte en este próximo verano tendrá un estándar
oportunidad en el campus de comprar y vender cosas de interés para usted.
Y con la asociación a través de la HSA, usted También será capaz de colocar elementos de
en una de las tiendas físicas de la HSA en algún momento en el futuro, a fin de
cosas proxy, especialmente como usted graduado y no necesariamente quiere
descartar las cosas, pero en realidad pagar remitir a la gente que podría seguir usted
aquí en el campus.
Así que más en el venidero.
>> Pero un poco más concretamente, una herramienta que ha salido de CS50 en los últimos años
años, con la que algunos de ustedes podrían estar familiar y otros de ustedes podrían estar
google ahora, en CS50.net/2x, usted encontrar un enlace a una extensión de Chrome
lo cual es demostrativo de cómo puede el uso de JavaScript, el mismo que el idioma
se utiliza con la torre Eiffel hace un momento, para poner en práctica la velocidad de reproducción 2x
para todos los vídeos de Harvard iSites.
Esto es algo que se construye en el propio reproductor de vídeo del CS50.
Pero esto, también, si usted comienza a cavar en el código fuente, que vamos a
felizmente a disposición, usted verá cómo incluso se puede solucionar problemas como que,
acelerando los widgets en sitios web con que ya está bien familiarizado.
>> Así que una palabra ahora en el curso y expectativas y lo que está por venir.
En general, nos reunimos aquí en verdad los lunes y miércoles - aunque
este viernes, nos reuniremos porque del Shopping Week -
1:00-14:00, aunque a veces hasta las 02:30.
Teniendo en cuenta que es posible que, por tanto, querer o tener que tomar algunas clases a las 2:00 pm
adelante, o incluso antes, no darse cuenta de la Por supuesto es de apoyo de lo que se llama
inscripción simultánea, por lo que vamos a apoyar una petición a la Junta de anuncios y
el residente de los decanos en su nombre si usted tiene un conflicto en algún lugar en este
1:00-2:30 rango.
Diríjase a la URL en línea para detalles adicionales.
>> Pero en términos de la estructura de soporte que caracteriza CS50, para los estudiantes
más y menos cómodo por igual, nos ofrecer pistas distintas de secciones.
Y este es un par de semanas de descanso, pero en poco tiempo, se le pedirá que
su nivel de comodidad.
¿Está usted entre los que menos cómodo, más cómodo, o
en algún punto intermedio?
>> Y tendremos tres canales distintos pistas que se adaptan a
precisamente esas audiencias.
Así que en ningún momento el término debe usted incluso sentir como si estuvieras en competencia
en contra de cualquier estudiante con más o menos de fondo que usted.
De hecho, el curso está destinado a ser mucho más colaborativa y mucho
más abierto que eso.
>> En cuanto a los conjuntos de problemas, se le encontrar, también, que, además de la
edición estándar del problema de cada semana conjunto, a menudo hay una "hacker
edición ", que está destinado a ser dirigido en el 5% a 10% o menos de la
demográficos que está de hecho entre los más cómodo y le gustaría más
de un desafío a la norma edición del conjunto de procesadores que espera.
Más detalles en los que para ser que se encuentra en el plan de estudios.
>> Pero también allí se pueden encontrar detalles en los cursos de días de retraso.
Conjuntos Normalmente problemáticas son pagaderas el jueves.
Sin embargo, se puede extender a muchos de su los plazos de este otoño de jueves a
Viernes simplemente por reunirse con nosotros a mitad de camino, por así decirlo, en respuesta a algunas de calentamiento
preguntas en algunos de problema de la semana conjuntos, que automáticamente
luego le dan un extra de 24 horas.
También vamos a soltar su más bajo puntuación, de acuerdo con el plan de estudios.
>> Para que os hagáis una idea de cuál es el problema conjuntos son - porque es de hecho
el problema del supuesto establece que en última instancia, definir casi todos los
La experiencia de los estudiantes, más que conferencias, más que secciones, más
por lo que la mayoría de cualquier otra aspecto del curso.
El año pasado, por ejemplo, comenzamos, como vamos a empezar este año, con Scratch.
Particularmente este viernes, vamos a utilizar, por justo el tiempo de un día, una gráfica
lenguaje de programación, con la que vamos a iniciar la programación mediante arrastrar y
dejando caer las piezas del rompecabezas que sólo montar físicamente si tiene sentido
hacerlo lógicamente.
>> La semana que viene, vamos a la transición rápidamente a C, bastante viejo, pero muy pequeño y
lenguaje sencillo que nos permitirá realmente ir de 0 a 60 en el transcurso
de tan sólo unas pocas semanas, y luego valerse de esas mismas habilidades y conocimientos de los
programación básica construye en lenguajes de alto nivel como PHP,
JavaScript, y sin embargo, otros todavía.
>> El año pasado, el tercer conjunto de procesadores en el curso fue el de la criptografía, un
aplicación específica del dominio en que podamos Los estudiantes con impedimentos para implementar cualquier
número de cifras, los programas con los que para codificar o decodificar la información,
para cifrarlo.
Para la edición pirata informático, por el contrario, nos dimos a los estudiantes de hackers un archivo
desde un ordenador Unix estándar que contiene nombres de usuario y contraseñas,
el último de los cuales fueron cifrados, y desafiamos a los hackers
estudiantes a descifrar, lo mejor que pudieron, esas contraseñas, todavía en esa
mismo dominio.
>> Scramble, un juego con el que algunos de que son tal vez familiarizado.
Una pieza de la medicina forense, donde pedimos a los estudiantes para recuperar los datos que habían sido
borrado lo contrario de mi propia digitales tarjeta compact flash de la cámara, por
en realidad la escritura de software para averiguar, ¿dónde estaban los ceros y unos en
que la cámara digital que previamente compuso un gráfico JPEG?
>> Un reto de la clase del año pasado relacionados con la escritura el más rápido
El corrector de ortografía posible, compitiendo contra sus amigos y compañeros de clase si
les gustaría.
Implementar Huff 'n Puff, un programa de compresión.
Y después que termina el semestre con CS50 Finanzas, una aplicación basada en web con
que se crea una página web eTrade-como para comprar y vender acciones, por lo que
hablar, por realidad tirando casi cotizaciones en tiempo real de Yahoo!
Finanzas.
>> Lo que no hicimos el año pasado fue establece uno de los problemas que los restos
no obstante, uno de los favoritos.
Si nunca has ido a shuttle.cs50.net, verás un usuario
interactuar un poco así.
Pero hace dos años, la clase implementado, a través de Google Maps y la
Google Earth plug-in y un poco de comprensión con la conducción de todo el campus,
de modo que el objetivo de este juego era, como se puede ver algunos de los rostros,
es conducir por el campus en busca de personal, becarios de enseñanza y entidades emisoras de certificados, y
cuando no, poniéndolos en su autobús.
Ninguno de ellos realmente parece estar aquí, así que vamos a entrar en un código de trucos.
>> [Risas]
>> DAVID MALAN: Eso es.
Está bien.
Y aquí es el personal atada en todo el campus.
Y como se puede ver, en el lado derecho lado de la pantalla, el servicio de autobús
tiene asientos vacíos.
Y el objetivo era escribir la código con el que para simular este
conducción y recoger y dejar fuera de los pasajeros.
Ese, también, el uso de un lenguaje llamada de JavaScript.
Así que darse cuenta de que los programas como esa voluntad estar en nuestra misma trayectoria de este
años, también.
>> En términos, ahora, de un apoyo adicional, tenemos horario de oficina.
Como habrá visto en su propia casa comedor o en Annenberg,
vamos a estar en el comedor casa vestíbulos cuatro noches a la semana -
Leverett, Pfoho, Eliot y Annenberg este año, 20:00-23:00.
Y lo que pensamos que nos gustaría hacer este año es algo un poco diferente.
>> Si has oído rumores de que el año pasado que era un poco demasiado estresante, esto
las horas de oficina del año, como describiremos la semana que viene, será más orgánica,
por lo que después de la llegada, se le enviados a una tabla en particular
donde varios miembros del personal esperan, y que vamos a hacer las cosas mucho más
orgánicamente.
No más colas, no más del iPad, pero Preferiría tener más íntimo
conversaciones en torno a una mesa de poco ocho o más estudiantes, por lo que
aproximarse a la sensación de lo que de otro modo sería una clase mucho más pequeño.
>> Ofrecemos, además, estas cosas nos llamados tutoriales, videos filmados en
avanzar por una de las enseñanzas del curso compañeros, Zamyla, en la que
le guía por el problema de la semana conjuntos, que ofrecen consejos y trucos para la
desafíos que se avecinan.
Y por el contrario, después de los boletines de problemas son debido, este año, vamos a también liberamos
pequeños clips llaman autopsias que en realidad le guiará a través
soluciones representativas, tanto buenas como malo, a través del cual se puede inferir cómo
usted podría tener o debe tener implementado su propia solución.
>> ¿Y qué vamos a ofrecer por primera vez este año también, particularmente
para aquellos estudiantes que se acojan a del curso de otra
recursos, pero sin embargo están luchando todo demasiado, el curso
sí se emparejará a los estudiantes, como los recursos lo permiten, con los tutores para que
usted tiene una más íntima mucho oportunidad de Restaurante salas
permitir la asistencia de uno-a-uno.
>> Ahora, un último vistazo en algún de los juegos de final a la vista.
Usted podría estar familiarizado con el Hackathon CS50.
Bueno, viene este mes de diciembre, de 8:00 PM a 7:00 PM, en el comienzo de
Período de lectura, será una oportunidad para reunirse con sus compañeros de clase -
esto sería alrededor de las 9:00 PM -
durante el que te sumerjas en su última implementación del proyecto junto con
compañeros de clase, amigos, y los alimentos.
Esto sería alrededor de las 1:00 de la mañana, cuando el primer lote de comida llegó.
Y esto es alrededor de las 4:00 am de ese particular, año en el CS50 Hackathon.
>> Pero el verdadero punto culminante del curso es destinado a la Feria CS50, un amplio campus-
exposición de sus propios proyectos finales, a la que la familia y amigos son todos
invitado, ya que nuestros reclutadores y nuestros amigos de la industria.
Esto, por ejemplo, es una visión de la Personas más de 2.000 que han asistieron
años pasados.
Expresiones como esta no son infrecuentes, y del mismo modo hacer su
compañeros de clase se deleitan en las cosas que has logrado.
>> Y, de hecho, con ese fin, tenemos un evento de inicio de curso, también.
Si este tipo de cosas de interés para usted, o usted es por lo menos curioso en cuanto a lo que
esto, saber que una nueva tradición de la curso se llama CS50 Puzzle Day.
Y esto fue instituido un par de años atrás para señalar realmente a la escuela
que la informática no se trata de programación, y ciertamente no es
trata de abrazar sólo aquellos estudiantes que tienen experiencia previa.
En realidad se trata de resolución de problemas más en general.
>> Y así Puzzle Día, en los últimos desde hace años, ha evolucionado hasta convertirse en un buen
asociación con nuestros amigos de Facebook, por lo que habrá fabulosa
premios y pizza al otro lado del río en el i-lab este próximo sábado.
Diríjase a la dirección URL con dos o tres amigos si usted desea participar
en esta nueva tradición.
>> Así que me gustaría pedirle que mantenga una cosa en mente, y tenemos sólo un
clip de dos minutos sobre el cual para cerrar hoy.
73% es el número de recordar.
Cake también le esperan fuera de esta crucero como de levantar la sesión en cuestión de
par de momentos, que es una tradición del curso, también.
Pero esta es la cita clave de la plan de estudios de curso para tener en cuenta.
Lo que en definitiva importa en este curso no es tanto dónde terminan
en relación con sus compañeros de clase, pero donde que, en la Semana 12, termina con relación al
a ti mismo en la Semana 0.
>> Pero la visión de que vamos a dejarte con aquí hoy es este último aquí
por nuestro mismo Daniel, que hizo la vídeo wrdly hace un momento.
Os dejo con esta visión de lo que se avecina.
Y como hacemos esto, si pudiéramos tener CS50 El personal de la parte delantera de la habitación
que vamos hasta la etapa de pintar todo la más de una imagen visual como a
lo que le espera este año -
conseguir incómodo.
Vamos a concluir con esta aquí en la pantalla.
>> [REPRODUCCIÓN DE MÚSICA]
>> DAVID MALAN: Este es CS50.
>> [MÚSICA - Matt & Kim, "Está bien"]
>> ALTAVOZ 1: Me encanta CS50 más de gatos.
>> ALTAVOZ 2: Whoaaaa!
>> [Risas]
>> DAVID MALAN: Este es, entonces, CS50.
Nos vemos el viernes.
>> [Aplausos y ovaciones]
>> NARRADOR: En la próxima CS50, un escenario demo no salen según lo planeado.
>> DAVID MALAN: Queremos encontrar Mike Smith en este directorio.
Bueno, ¿cuáles son sus instintos?
Yo podría ir más o menos a la mitad de la guía telefónica, mirar hacia abajo, vemos que
Estoy en M, y ahora sé que Mike Smith no está a la izquierda.
Él debe ser el de la derecha.
Y lo que en este punto, literalmente puede romper -
en este punto, podemos literalmente a la rotura -
en este punto, podemos figurativamente romper la guía telefónica por la mitad.
>> [Rasgueo UKELELE]