>> Muy bien.
Bienvenidos a la Informática 164.
Así que antes de sumergirse con una visión general
de lo que será el curso acerca de este semestre y un poco
de material contenido en este primer día, Pensé que te daría un sentido
de la forma en que pasamos la noche anterior.
No es tanto como desafío del lado del servidor que enfrentamos
pero uno del lado del cliente.
Así que ¿Alguno de ustedes descubierto Este sitio web en particular por el momento
o lienzo que algunos de Harvard cursos se están desplazando a?
Así iSites está a punto de morir de una lenta muerte si usted ha conseguido adjunto
a ella, es probable que ser reemplazado con lienzo.
Y por lo que pensamos saltar a bordo y ser parte
de esta prueba beta usando Canvas que es una herramienta de código abierto.
Está patrocinado por una compañía llamada Instructure.
Así que hay una empresa respaldo detrás de él.
Pero en su mayor parte lo estamos utilizando de esta manera.
Pero anoche, cuando estábamos tratando
para obtener el sitio web de los cursos finalizado, nos encontramos con una gran cantidad
de frustraciones porque este es un sistema de gestión del aprendizaje
lo que significa que es un pieza de software
con el que puede administrar el contenido
mediante el uso de la interfaz basada en web.
Usted no tiene que usar archivos de configuración arcanos.
Usted no tiene que saber nada acerca de las bases de datos,
es casi punto y haga clic en una forma sitios de Google
o algo así podría ser.
Pero como resultado que era muy duro para hacer algo tan simple como -
vamos a ir a la página web de los cursos.
Ahora, sólo hay que poner las opciones de menú en este lado de la izquierda.
El caso en cuestión, no hay nada hay en realidad en este momento
porque la forma el software está diseñado es que si quieres
para instalar cosas en el menú de la izquierda,
usted tiene que realmente instalar estos módulos
o aplicaciones en el software.
Y nosotros no queremos hacer esto.
Nosotros sólo queríamos un enlace que como el plan de estudios.
Queríamos un enlace para el personal.
Queríamos un enlace a vídeos y similares.
Así que si te enfrentaras con los sitios web,
es desde el sitio web de terceros
pero usted no tiene control sobre el código fuente.
Usted no tiene acceso a la servidor, no se puede SSH,
puedes SFTP, lo único que puedes utilizar es la interfaz web local
y quiere empezar a cambiar
o alterando el usuario interconectar a través de otros medios.
¿Cómo sería su primera instinto no?
¿Qué preguntas puede pedir de Instructure en este caso,
la empresa para que usted puede tipo de trabajo
alrededor de estas limitaciones como lo hicimos?
Queremos añadir opciones de menú
pero no podemos cambiar su código de servidor.
Entonces, ¿qué solución puede que insinuar que?
Sí.
[Inaudible Observación]
Aceptar.
[Inaudible Observación]
Sí. Así que pudimos considerar algo
como una extensión de Chrome.
Si no está familiarizado, un Chrome extensión es esencialmente una pieza
de software desde el Chrome navegador generalmente por escrito
en JavaScript.
Y es sólo una manera de inyectar Código típicamente JavaScript quizá
un poco de CSS en un elemento laminar página que usted visita.
Por lo cual la extensión Chrome es simplemente un seguimiento constante de lo que
sitios web que visitas y tratando de detectar.
Oh si eres facebook.com hacer esto.
Oh si estás en isites.harvard.edu hacer esto.
Así que aquellos de ustedes que podría han utilizado enchufe 2x del CS50
en que le permite acelerar vídeos Up es exactamente eso.
Así que eso es interesante y es tipo de en el camino correcto.
Porque si usted no tiene acceso en el servidor, lo que desea
cambiar de alguna manera el DOM del árbol que el usuario está viendo,
usted puede casi sólo lo hacen en el cliente.
Ahora, por supuesto, una captura obvia
de la utilización de un cromo extensión es qué?
Derecha. Así que no todo el mundo está utilizando Chrome y si se siente un poco cojo
si tienes suerte de para exigir que todos los
sus usuarios pueden sólo utilizar el sitio web
y ver las opciones de menú si tienen Chrome.
Entonces, ¿qué más podría podríamos queremos pedir Instructure?
>> Así que una cosa es que supongo Probablemente usted puede añadir un texto
en el sitio web, ¿no?
>> Aceptar.
>> Para saber si puedes realmente poner HTML en el texto.
>> Aceptar. Bueno.
Así que podríamos preguntarles si podíamos poner HTML en el texto mismo.
Así que en lugar de escribir un texto anuncio, podemos añadir enlaces?
Podemos añadir imágenes?
Podemos agregar viñetas?
Todo lo que podríamos querer hacer estéticamente.
Y la respuesta corta es sí.
En efecto, existe una tipo de WYSIWYG,
Lo que usted ve es lo que Obtenga editor que viene
con este particular, pieza de software
que le permite editar.
Cosas como la página de inicio con mi nombre y el de Rob
y Tim y así sucesivamente.
Eso nos metió parte del camino.
Por desgracia, eso no lo hace vamos a poner nada aquí
por ejemplo.
Eso no vamos a poner nada aquí porque estamos obligados
por lo que el original autores querían que hiciéramos.
Así que estamos un paso más cerca.
¿Qué más podríamos pedir a la empresa?
¿Cuáles son los otros correcciones temporales, tal vez?
Tiene que ser solucionable.
¿Qué otra cosa podría hacer?
Así que usted estaba en la derecha seguimiento con esta noción
del lado del cliente JavaScript inyección.
¿Cómo si no podríamos conseguir JavaScript en el sitio tal vez, ¿verdad?
Porque una vez que tienes JavaScript
usted puede hacer casi cualquier cosa incluso si su experimentaron
con el lenguaje Java se limita a 50 o alguna otra experiencia previa,
ya sabes, que puede recorrer el árbol
es una página web, el DOM.
Es probable que recordar que puede agregar o quitar nodos linfáticos.
Usted puede inyectar cosas en una página web.
De hecho, eso es exactamente lo que los 2x CS50 enchufan hace.
Se arranca los iSites ' reproductor de vídeo y puts
en una diferente todos juntos.
¿Y qué si la empresa Instructure le permitió
para inyectar el código JavaScript en su página web del curso?
En otras palabras, lo que si se Ha permitido a través de su interfaz gráfica de usuario,
su interfaz WYSIWYG para pegue la URL de un archivo JS
y tal vez incluso un archivo css. y luego que se hizo cargo
del proceso de inserción se en la parte superior de cada página.
Así que, efectivamente, se trataba de la única manera que pudimos
para lograr esto.
Si veo la fuente de la página aquí - y permítanme ampliar y reducir busco
para cs164.net que es un dominio que el curso dueños.
Tenga en cuenta que a través de algunas series de pasos, se tomó un tiempo para averiguar
con su documentación.
Nosotros estamos en condiciones de decir, encima de cada la página web lo que las salidas de la lona
para este curso, salida. css.
Y si hacemos otro comando f y buscar un poco más lejos,
verás que aquí abajo,
anidado con alguna JavaScript código no mencionar también
de esta URL aquí.
Así, en otras palabras, nos tipo de haberlos engañado
en la inyección de cualquier CSS,
lo que sea que JavaScript quiere en el sitio web.
Para que luego nos lleva a la pregunta, ¿qué hace?
Bueno, vamos a seguir adelante y sólo tienes que tomar esta fuente,
pega este aquí.
Está prohibido porque para simular este,
Me chmod [fonético] todo.
Así que te voy a dar esa vuelta.
Acceso de lectura y ahora volver a cargar.
Entonces, ¿qué hicimos?
Por lo tanto, vas a mejorar en este particularmente a mitad del semestre
cuando nos pasamos mucho nuestro tiempo en JavaScript.
Pero lo que hace este parecen estar haciendo?
Así que uno en la parte superior de esta Archivo JS que a su vez se incluye
en cada página web que el Claro que ahora se ejecuta en el sitio web.
Verificamos para ver si el tipo de de jQuery no está definido.
Así que en términos sencillos ¿Qué significa eso?
¿Qué significaría si jQuery es indefinido?
Bueno, usted tiene JavaScript cargado.
Usted no tiene jQuery cargado.
Así que estamos esperando que Instructure,
la empresa es en realidad usando jQuery mismos.
De lo contrario, tendríamos que pegue la biblioteca jQuery en la parte superior
de este archivo con el fin de para tener acceso a ella.
Y esto no es porque simplemente quieren tener acceso a las cosas
como el signo del dólar notación y otra funcionalmente
que viene con jQuery.
Si usted recuerda esta biblioteca y si no familiar
o si ha pasado un tiempo, descansar seguros vamos a venir a este
con en unas pocas semanas.
Entonces, ¿qué son las cosas que estamos haciendo aquí?
Así que para aquellos que puedan recordar, ¿qué significa esta sintaxis aquí?
Cuando usted acaba de pasar un anónimo función o función lambda?
En CS51 hablar con el función jQuery así.
¿Cuándo es el código va a conseguir ejecutado?
Sí.
[Inaudible Observación]
Exactamente. Así que este código, por naturaleza,
de esta función de llamada predeterminado sólo se va a poner ejecutado
cuando el DOM por así hablar está totalmente cargado.
Todos los de la parte superior a la inferior HTML, izquierda o derecha que se ha leído
en la memoria y hay un poco de estructura de árbol en el interior de la memoria.
Ahora bien, esto es bueno porque si quiero empezar a jugar
un rato con él y cambiar el Las opciones de menú, la eliminación de las cosas,
añadiendo cosas, será mejor esperar
hasta por lo menos el default DOM está en su lugar.
Así que esto es sólo estándar sintaxis jQuery.
Es equivalente a decir cuando el DOM está listo.
Y ahora que es realmente sólo una combinación
de jQuery sintaxis y algo de HTML.
Así, por ejemplo, he decidido que esto me estaba molestando.
Nadie en el campus, dice, oh, llevas Comp Ciencia 164,
o Compensación de ciencia lo que sea, decir CS164 CS o lo que sea.
Pequeña molestia Así menor, queremos cambiar eso,
así que ¿cómo podemos hacer eso con algo como JavaScript?
Bueno, fíjense, si ir a la página de aquí
y en lo alto de la página, anteriormente era CS164.
Si abro Chrome, que es un navegador útil
para hacer inspecciones de DOM y te acerques aquí.
Dese cuenta que dentro de este HTML era un elemento que tenía una identificación
de pan rallado y que el DI hace qué?
Se identifica de manera única una de los nodos en el árbol
y tan pronto como llegue el identificador único para algunos trozo
de HTML en el DOM, ahora Puedo hacer lo que quiera
con esta página web.
Yo podría eliminar todos los nodos DOM.
Cada etiqueta HTML de la página y poner todo lo que quiero
pero las necesidades que son bastante humildes.
Simplemente quería para el fragmento de código aquí.
Quería encontrar primero el encabezado de la sección de pestañas
que fue uno de los padres elementos justo por encima de eso.
Y yo quería ir por delante y el cambio -
Quería más bien el cambio los contenidos
de que a través de este HMTL funcionar con un enlace para CS164
y luego quería modificar las reglas CSS en él
tener un peso de la fuente de negrita.
Y no vamos a entrar en gran detalle en el resto de este aquí.
Pero fíjate en esta línea aquí.
Yo sustituyo un mundial en todas partes.
Esencialmente diciendo: cualquier lugar donde vea un lapso
que tiene una clase llamado ellipsible,
eso no es una cosa normal,
eso es justo lo que el lienzo software requiere ciertas clases.
Si contiene la tecla frase COMPSCI164 seguir adelante
y sustituir el HTML dentro de cualquier lapso con sólo CS164.
Y el resto de esto es bastante bien comentado.
Pero el resultado final, lo que estoy haciendo es manualmente con Chrome
o cualquier navegador averiguar lo que los identificadores únicos son
varios nodos DOM en el árbol y mutaciones en los mismos
de la manera que yo quería.
Y el resultado final, que ahora que se efectuó chmod cosas correctamente es
que ahora puedo poner arbitraria trozo de HTML aquí.
Puedo arrancar cosas como el pie de página.
Puedo arrancar HTML aquí y Debo agitar una gran renuncia.
Este es un truco completo
a la aplicación de un sitio web como este.
Pero que tipo de habla para el proceso de pensamiento
que debe hacia el mitad del semestre,
especialmente cuando pasamos tiempo en JavaScript empezar a pensar
acerca de cómo se puede solucionar varios problemas con suerte mejor
que en esta forma.
Pero los ingredientes para la solución de un problema
como esto realmente sólo reducido a algunos conceptos básicos.
La apertura a algo como Inspector de Chrome
y la comprensión lo que el árbol DOM es.
Saber lo que el Selectores CSS son
para los ID únicos o de nombres de clase.
Conocer algunos de sintaxis si es en JavaScript puro
o en la biblioteca de jQuery para cambiar realmente el DOM.
Y al final del día, estamos más o menos capaces
para doblar el software a nuestra voluntad.
Pero es probable que haya un buen partido.
¿Cuál es el precio que estamos probablemente pagar por este hack completo?
¿Qué es el riesgo?
Sí.
[Inaudible Observación]
Exactamente. Si Instructure cambia el nombre de una de sus clases
o cambia el nombre de uno de sus documentos de identidad o simplemente reorganiza su HTML
que es totalmente su prerrogativa,
todo esto podría romperse y entonces uno de nosotros va a tener
notarlo o uno de ustedes chicos se van a tener que informar
y vamos a tener para pensar en eso otra vez.
Así que tal vez no es un gran tratar pero sigue siendo una amenaza.
¿Qué más puede pasar?
¿Qué otra cosa es malo acerca de este enfoque?
Es menos común en estos días.
Sí. Es un poco más lento en que -
en lugar de simplemente obtener el fuente original desde el servidor.
Ahora estás haciendo adicional del lado del cliente cambios.
Y de hecho si tuviéramos una manera conexión a Internet mucho más lento,
usted realmente ver muy probablemente algunos destellos
en la pantalla como DOM nodos están cambiando.
Sucede que tener una conexión,
un equipo bastante rápido y por lo que es bastante difícil de alcanzar para el usuario.
Pero lo que si tienen Deshabilitado Javascript?
Ahora bien, este es un extremo caso esquina en estos días.
La mayoría de las personas son - la mayoría cuando salen de JavaScript en.
Pero si es fuera de lo que sucede?
No vemos ninguna de que sea.
Así que en resumen, basándose en JavaScript para algo
como esto hace el trabajo
pero la comida para llevar es cómo nos fuimos sobre dong esto.
Y usted puede ver por sí mismo sólo mediante la visualización de la fuente
y luego hurgar en cualquier de los dos URLs en cs164.net.
¿Cómo realmente nos hicieron esto?
Pero su ilustrativo de cómo usted puede empezar a construir más
DOM interesantes e incluso en el caso
sitios web de forma dinámica impulsada como la aplicación de Facebook,
o Gchat o similares que son constantemente tirando de más datos,
cómo se puede realmente cambiar esa interfaz.
Pero ahora, echemos un vistazo a la forma correcta de empezar a hacer cosas.
Así que este año, el curso, a diferencia de hace dos años
cuando ustedes principalmente en PHP para el primer semestre
y JavaScript para la última media, mientras que hace dos años,
nos hemos centrado más en el móvil con un poco de PHP, este año,
decidimos cambiar cosas que se centran más
en las aplicaciones basadas en web.
Implementado no en pares de personas
pero en equipos específicamente equipos de cuatro
y las motivaciones eran varios.
Pero entre ellos eran que,
con un equipo de cuatro personas sólo hay muchas más piezas que puede morder
fuera como un grupo.
Hacer desarrollos web tiende a aterrizar a diferentes aspectos
del proyecto que pueda entonces delegar entre su equipo.
Por ejemplo, es probable que vamos a tener uno o dos de ustedes
en un determinado equipo de trabajo en la parte delantera, el código JavaScript
el CSS, la estética.
En ese mismo proyecto otra uno o dos de ustedes se centrará
en la parte final, la base de datos el diseño del esquema, la validación
de los datos, la redacción del API que el pueblo de front-end funcionarán.
Y así acabamos de recibir una gran cantidad más aliento de oportunidades
para que la gente colabore.
Y por lo que encontrarás si que has hecho proyectos
con un solo compañero en el pasado,
que con cuatro que será un poco más difícil,
más interesante, pero mucho más potente para tener toda
de ustedes colaborar juntos.
En cuanto a los requisitos previos, que probablemente se quede con ellos
para el catálogo cuatro cursos anteriores de CS.
Y esto se basa en la experiencia.
Un par de años atrás como aludió a que antes,
prácticamente nos permitió cualquier persona que tomó sólo 50
o tal vez un poco de clase en la escuela la escuela para tomar el curso
pero no era más que una extensión tal de habilidades y niveles de confort.
Se hizo difícil tener ciertas conversaciones y mucho
de los estudiantes en el clase luchó.
Así que pensamos de esta manera,
podemos hacer todo tipo de un favor colectivamente.
Así que tenlo en cuenta.
En términos del tamaño del equipo, cuatro serán por defecto
si tiene tres amigos con los que había
como a la pareja, eso es totalmente bien.
No vamos a exigir equipos particulares para usted.
Si no tiene amigos o socios en la mente de la clase,
no es gran cosa, vamos a seguir que la mente también y tratar
para facilitar los tipos de asociaciones.
En términos de la estructura de la clase, esto es muy anómala.
El curso no será estructurado en su mayor parte
alrededor de conferencias y no será estructurado
alrededor de ustedes se sienta allí mirando esta manera
y me habla de esta manera.
Más bien la mayor parte de la sesiones de clase serán
en forma de reuniones de equipo.
Puede ser que su equipo se reunirán aquí o en otro lugar en el campus
durante un par de horas el lunes tardes o para una pareja
de horas del miércoles tardes.
En las próximas semanas, vamos a averiguar qué día
y el tiempo que cada uno la gente va a ser.
Si necesidad de ser, podemos ajustar el veces, pero veremos Based
en una encuesta que ustedes todos en última instancia llenar.
¿Qué sucede en estas reuniones?
Así que las reuniones semanales se
donde ustedes, principalmente presentar los avances
en varios proyectos, más en los que en un momento.
Así que en estas reuniones de equipo, uno de los profesores y
o yo mismo estarán presentes y la meta será para cada
una de las cuatro personas en el equipo para informar sobre los hitos
que tiene o no han logrado.
Cuando el hito se definirá
como la investigación de algo, implementar algo,
diseñar algo, pensando acerca de algo o similares,
la defensa de las decisiones de diseño.
Así es - que significaba esta clase
a particularmente crítico o desafiante.
Así que no sólo va a puede hablar acerca de su día
y cómo en realidad se decide implementar esto, pero yo y Rob
y Tim, que reunirá en un poco estará allí para desafiarte.
Así que si usted tomó la decisión
y no es necesariamente lo mejor que bien.
Si usted realmente tiene un fuerte opinión de por qué lo hiciste.
Y en respuesta de la forma, bueno, funciona
pero no estoy muy seguro es no lo que realmente se espera
en esas reuniones.
Por lo que es realmente la intención de ser una conversación bidireccional
en la que usted defiende a su decisiones y también convencernos
que el camino que has tomado es idealmente mejor
o que es una oportunidad para usted para solicitar la opinión de nosotros
e incluso a sus socios
en cuanto a lo que podría estar haciendo de manera diferente.
Y entonces, en particular, éstas serán las oportunidades
para la revisión de código.
Así que ustedes van a escribir El código JavaScript y PHP de código
y otra técnica aspectos de cada proyecto
y la meta estará en delante de una gran pantalla de televisión,
alrededor de la mesa como ésta para uno de vosotros para que estéis
en una época en el que tiene estado haciendo la mayor parte del trabajo
sobre algún aspecto de el proyecto se han establecido
y para presentar el código.
Y nos dan un recorrido verbal de la código y nos da una oportunidad
decir ¿por qué tienes seis bucles anidados de ejecución
algo así?
O ¿por qué no tiene índices
en la tabla de base de datos diferentes temas que exploraremos
en el transcurso del semestre.
Así que de vez en cuando lo haremos tener charlas técnicas, ya sea
en la forma de éstos en reuniones de estilo persona
donde todos nos reunimos juntos o por video
para hacer las cosas un poco asíncrono
por el bien de la conveniencia temas especialmente técnicos
y las herramientas que utilizaremos durante este semestre.
Algunos JavaScript populares bibliotecas
por ejemplo, son Backbone.js y Bookshelf.js y Express.js.
Estas son todas las herramientas con que usted puede hacer basado en la web
aplicaciones utilizando JavaScript.
No en el lado del cliente, aunque
pero en el lado del servidor utilizando un marco llamado Node.js
que es una alternativa a los usando algo como Apache
o Microsoft IIS u otro software de servidor web.
Así que vamos a escribir programas en el código JavaScript de clase,
tanto en el lado del cliente como así como en el lado del servidor.
Vamos a hablar de herramientas con las que algunos
de ustedes ya están familiarizados.
Cosas como Git.
Nos sumergiremos en el más profundo de las cosas como SQL y restricciones
y transacciones, y mucho de los detalles que sin duda
en una clase como 50, que tipo de agitar las manos en alto para los tiempos de amor
pero son cada vez más importante
cuando en realidad la implementación de un proyecto que va a ser utilizado
por real y es de esperar un gran número de usuarios
que los resultados se va a empezar a hacer una diferencia.
En el mundo de PHP, utilizaremos un marco llamado Laravel.
Se trata de una arquitectura MVC.
Si saber o recordar esa sigla.
Y es sólo un montón de Código PHP para hacer un montón
de puestos de trabajo sea más fácil y para que sea más fácil
escribir más compleja de software en particular proyectos
que se implementan por varias personas.
Para las pruebas, vamos a utilizar herramientas como burla en unidades de PHP
y vamos a entrar en el hábito de no sólo la escritura de código y tipo
de golpear en ella y anecdóticamente tratar de tratar de averiguar,
Funciona como usted desea.
Sino más bien lo hace pasar ciertas pruebas.
Así que, especialmente si un amigo tuyo
en los cambios de grupo algo de código, usted puede estar seguro
que aquí no tiene roto nada, simplemente
al volver a ejecutar las pruebas
que ya ha escrito para ese código.
Así que no tienen regresiones Buggy estados de software.
Además, los proyectos es
donde pasaremos la mayor parte de nuestro tiempo.
Así que no hay exámenes.
Todo se debe a proyectos de esta clase
y en realidad ser sólo dos equipos por.
En esencia, el primer semestre del semestre se centrará
en uno los sitios web basados ​​en PHP
que tendrá el usuario final frente las interfaces tanto para escritorio
y opcionalmente móvil.
Así que esta será una oportunidad, aunque tangencial a la clase
hacer realidad algo así como una interfaz móvil basado en la web
o si usted es realmente determinado, Android
o iOS sería perfectamente bien.
Sólo se dan cuenta de que la la curva de aprendizaje no
Si no está familiarizado haría ser poco más alto.
Pero sería jugar muy muy bien con la visión
de tener también cada proyecto tener algo de vuelta API fin.
Así que usted puede tener una separación,
abstracción entre lo que están haciendo y lo que Alice y Bob
y Charlie en su grupo son también así.
Así que cada uno de sus extremos delanteros
o la espalda extremos puede de alguna manera intercomunicarse.
En cuanto a los detalles, para el marco,
vamos a confiar en Laravel y Elocuente, que es un ORM,
un asignador de objeto-relación que es sólo una capa de software
que se ocupa de la M en MVC, el modelo.
Esto hace que sea un poco más fácil especialmente para grandes proyectos
para consultar los datos de bases de datos y escribir datos
y representar el mundo real entidades sin tener
escribir código SQL crudo.
En el mundo de JavaScript vamos otra vez utilizamos expreso
Biblioteca y que son análogos
en el mundo de JavaScript.
Pero el uso en lugar de Apache utilizando Node.js
que es cada vez más popular y permite en particular
para aplicaciones que implican interacciones en tiempo real,
habitaciones gráfico y similares.
Nodo es mucho mejor de Apache cuando se usa -
en la aplicación de proyectos como el
ya que puede enviar mensajes utilizando modelos como pub y sub,
publicación y suscripción, si familiarizados con esas frases.
Así que más de eso hacia el mitad del semestre.
En cuanto a las expectativas, estos son ellos para el curso.
Asistir o ver estos ocasionales conversaciones, charlas técnicas.
El horario para el que en última instancia, poner
en el sitio web de golf.
Participar en todas las de las reuniones.
Así que se requiere la asistencia a cada una de las reuniones del equipo de la causa '
después de todo, ahí es donde la mayor parte la instrucción del curso
y la retroalimentación y interacciones sucederán.
Hitos semanales, usaremos una herramienta que voy a hacer mención
de un momento a general asignarle a partir de uno o dos
de los miembros del personal a cada uno de las cuatro personas en el grupo.
Cosas que hacer y las que las cosas van a venir en la forma
de por qué no lo haces tú veterinario ir esta opción.
¿Por qué no vas a este veterinario opción y averiguar qué
de los dos implementación posibilidades son mejores
de aquí a decir la próxima semana.
¿Por qué no vas a poner en práctica esto?
O a diseñar estos tablas de bases de datos.
Y así, en breve el calendario en el curso que está pasando
a ser bastante orgánica en función de los proyectos
que cada equipo dependiendo tackles en lo que sus resultados son
cuando vetar alguna aplicación opción y dependiendo potencialmente
en lo que los usuarios finales en última instancia, quiere que el proyecto de hacer.
Y así, con ese fin, hay hay plazos fijos por ejemplo.
Habrá más o menos ser en una asignación de laminación
de los plazos de cada pocos día, basado cada semana
en las conversaciones que que tiene con uno o dos
de los miembros del personal en su mesa.
En última instancia, sin embargo lo que es vencimiento es la presentación
de estos dos proyectos finales.
En términos de lo que el proyectos serán,
Los proyectos ser propuesto
y seleccionados por ustedes.
De hecho, en el formulario de la lotería por ejemplo, se le pedirá
en lo que son uno o más proyectos particularmente que de alguna manera se relacionan
a la escuela que usted piensa que ser convincente para poner en práctica.
Desde una de las esperanzas para el curso es
que cualesquiera proyectos hacen venir
fuera de este supuesto sobrevivir Al final del semestre.
Y así, sobre todo si son temas del campus,
si si eso es otra catálogo de cursos, herramienta de compra
o eventos de calendario o servicio de transporte o cualquier número
de proyectos fin de carrera populares.
La esperanza después del final de este semestre es
que cualquier proyecto de vivir.
Y, en efecto hacia ese fin,
lo que pensamos que hacemos es hacer un poco más interesante.
Y también una especie de oportunidades insight
para el debate por el cual para la mayoría de cualquier proyecto que
como una clase frente a este semestre,
habrá dos equipos asignado a ese mismo proyecto.
La idea general es que en realidad no están supone
para hablar de su varias decisiones de diseño,
más bien, su intención de ser más de un concurso para
que en última instancia puede producir el mejor diseño, puesta en práctica.
Así que, al final de la semestre, vamos mayo, enviamos una
y no tanto de esas soluciones.
Y nosotros, como un curso a tomar cuidar de la celebración y así sucesivamente
para que sus vidas heredados en al final de la primavera.
¿Qué hacen estas aplicaciones?
Puede ser cualquier cosa, algo para un departamento,
algo para un grupo de alumnos,
algo para los estudiantes más en general, que será parte
de la conversación la semana que viene
hasta que la cabeza de buceo primero
después de recoger un puñado de este tipo de proyectos.
En términos del personal, y mucho Me presento Tim y Rob
que le gustaría decir hola.
Y es que estos chicos que por uno de los proyectos será -
tanto de los proyectos será su asesor principal.
Esencialmente para uno de los proyectos, Rob se reunirán
con usted la semana durante estas charlas.
Para uno de los proyectos, Tim se reunirán con usted
para los chats y vamos a cambiar más o menos la mitad del semestre
mientras hacemos la transición proyectos.
Si te gusta simplemente hablar cerca de este micrófono.
>> Hola, soy Rob.
Me gradué en mayo pasado de [inaudible].
Estoy preceptor en CS aquí ahora.
Entusiasmado por el curso.
>> Y estoy Tim y yo soy en realidad completamente nuevo en la zona.
Soy originaria de Filadelfia, así que acabo de empezar
aquí un par de semanas hace y estoy muy
en el software de código abierto.
Ayudo con el mantenimiento de la Proyecto Backbone.js donde algunos
de que podría estar familiarizado con
y también creé el Bookshelf.js proyecto
que David estaba mencionando.
Así que estoy emocionado de ver los proyectos.
>> En efecto.
Para obtener más información sobre Tim, al menos, si vas
a la página principal del curso y haga clic en su nombre que dará lugar
a su repositorio de GitHub si desea ver algunas
de su código abierto herramientas y proyectos.
Así que en términos de grados, sólo Porque esto es un FAQ incluso
Si especie de tangencial a la visión más amplia de una clase,
¿Cómo van las calificaciones finales determinarse?
Así que lo que en última instancia va ser bastante subjetiva basada
en las interacciones que que en el curso -
con su sobre el curso del semestre en base
en sus contribuciones tanto a los repositorios de código
y para conversaciones que tenemos.
Y en una cáscara de nuez, se basará
en sus contribuciones a los proyectos.
La delta entre la primera semana y la última semana.
Así que no se preocupe si usted tener solamente cuatro cursos
bajo su cinturón, mientras que algunos otros estudiantes
en la clase puede tener ocho,
que sin duda seguiremos eso en mente.
El ámbito de aplicación, corrección, diseño y el estilo de su proyecto,
por lo que los ejes familiares.
El grado en el que usted prepararse para la reunión.
Así que esto realmente tiene la intención de será una oportunidad para nosotros
reunir semanalmente y tienen inteligente y divertido y clase
debates del idealmente emocionales.
En momentos en que ustedes hacen propone cómo se puede resolver
algo y luego defender lo usted puede hacer y el papel de Tim
y mi papel y el papel de Rob se ser desafiarte esperanzado.
Así que, o bien se puede ser persuadido para irse
en alguna otra aplicación dirección o pueden estar seguros
y se siente bastante bien sobre el hecho de que, sí,
cree que tiene la mejor aplicación posible
para este.
Particularmente y la medida en que habrá otro equipo de trabajo
en ese mismo proyecto de su propio ángulo individuo.
En cuanto a las herramientas, por lo que este será tal vez de todas las horas extraordinarias
y le invitamos a utilizar todo lo que sea de interés
en busca de su propio equipo interno.
Pero en su mayor parte, vamos a hacer uso
de una herramienta gratuita llamada Asana para la gestión de tareas.
Verá más en esta vía correo electrónico en los próximos días
y es esencialmente una herramienta a través del cual se puede trabajar espacios
y proyectos de equipo.
Así que si su proyecto es implementar completos [fonética].
Sus cuatro miembros del equipo estar dentro de ese proyecto,
en esa carpeta por así decirlo.
Y usted y nosotros será capaz de asignar hitos y hacer de
y las fechas y comentarios.
Y es bueno porque es integrado con el correo electrónico.
Así que usted puede o no puede visitar la sitio web que es totalmente de usted.
Y también se puede obtener un sentido agregado
de lo que la gente está de trabajo y tener una idea
de lo que pasa más allá de su propia burbuja particular,
si su cabeza se cae después de un tiempo de enfoque
en una cosa particular.
Para GitHub también, si desconocido, GitHub es uno
de los más populares, si no el repositorio más popular
por ahí para la fuente codificar estos días.
Vamos a utilizar eso como un centro de repositorio para cada equipo de cuatro
para que cuatro y luego nosotros tres tenemos acceso a
y puedo opinar en forma
de las revisiones de código que utilizan La interfaz de GitHub.
Pero te voy a presentar a la
si cuando no familiar que llegue el momento.
Y eso es sólo un rápido una visión de Asana.
Vistazo rápido a GitHub y ahora permítanme hacer una pausa para cualquier pregunta.
Sí.
[Inaudible pregunta]
Buena pregunta ¿qué pensamos de los marcos de Python o Ruby?
Podían alcanzar el mismos objetivos, en particular.
Nos pasó a usar PHP en el 164, porque muchas
de banda antes de la gente experiencias que sale de 50
que utiliza PHP en estos momentos.
Pero absolutamente, ¿podría alguno de estos proyectos se realizan en Ruby,
Python, incluso de Java u otro marcos, Node.js duda.
Pero nos toca usar PHP y nos toca usar Node.js
y queremos estandarizar aquellos para ambos de los proyectos
de modo que es mucho fácil como clase
tener muy similar conversaciones
y no tener demasiadas manzanas y naranjas en la clase.
A pesar de que no habrá cuando se trata de la discreción
a los complementos específicos en las bibliotecas que se pueden utilizar
para cualquiera de los entornos.
Por lo tanto, ninguna afirmación de que uno es particularmente mejor
que la otra.
Y PHP tiene una especie de un feo la historia, pero se ha vuelto mucho más,
mucho mejor en los últimos años.
Entonces, ¿qué nos depara el futuro?
No hay tarea o cualquier cosas esta noche otra
de visitar esta URL si es de su interés.
Vamos a publicar el enlace en el sitio web
si se olvida de dónde es.
La fecha límite para que esto va a ser de 6 de la tarde del Miércoles
por lo que Rob y Tim y yo puede sentarse esa noche
y revisar las presentaciones y encontrar la mejor forma
para optimizar grupos y así sucesivamente.
Nosotros lo haremos saber por Jueves si o no hemos tenido
a la lotería y si tenemos un punto
de manera que ustedes pueden obtener tarjetas de estudio firmaron con la figura
qué es lo que quieres hacer.
Y mientras tanto, si usted tiene alguna pregunta,
ir a la página web del curso.
Personal de correo electrónico en cs164.net.
Cuando volvamos el miércoles, aún así será este formato.
Pero probablemente a partir a mediados de la próxima semana o la semana
después de donde nos dividimos en grupos mucho más pequeños
con sólo cuatro de ustedes reunidos en un tiempo conmigo
y o Tim y o Rob.
Muchas gracias a el equipo en volver hoy.
Nos vemos el miércoles.