Logística

Docente


Contenido

¿De qué se trata este curso?

A partir de los conocimientos y habilidades adquiridas en el curso previo de Bases de Datos, este curso cubre algunos aspectos avanzados de los sistemas manejadores de bases de datos, tanto relacionales como no relacionales, introduce al estudiante en el mundo de la inteligencia de negocios y discute algunas de las implicaciones de implementar aplicaciones intensivas en datos. El curso es abordado utilizando principalmente herramientas open source como PostgreSQL, MongoDB, Cassandra, Neo4j y Redis, aunque también se abordan otras propietarias y líderes en el mercado como BigQuery.

El curso cuenta con un componente teórico a cargo del docente en donde se brindan las bases conceptuales para el diseño e implementación de aplicaciones intensivas en datos, complementado con una serie de presentaciones a cargo del estudiante. El componente práctico del curso permite al estudiante crear soluciones de software basadas en datos a partir de un caso de estudio real. Para lograr estas competencias, se ofrecen un conjunto de tutoriales guiados a cargo del docente, seguido de un trabajo autónomo por parte del estudiante. También se plantea un proyecto final el cual le permite al estudiante integrar la mayor cantidad de conocimientos y tecnologías cubiertos en clase.

¿Por qué tomar este curso?

La línea de software de la carrera de Ingeniería de Sistemas de la Universidad El Bosque se compone de una serie de cursos a lo largo de ocho semestres que permiten al estudiante desarrollar las habilidades y competencias requeridas para el diseño y desarrollo de software como parte de su ejercicio profesional.

Si bien este curso cuenta con un componente teórico que busca dar seguimiento a lo aprendido hasta el momento, también fomenta el uso de diferentes tecnologías y herramientas vigentes para la implementación de aplicaciones intensivas en datos, dando soporte a múltiples funcionalidades en contextos variados de negocio.

Muchas de las bases trabajadas en este curso serán de utilidad para que el estudiante, si lo desea, extienda su campo de trabajo a otro tipo de tecnologías de gran auge en la actualidad como las aplicaciones móviles y/o aquellas basadas en inteligencia artificial, blockchain, IoT, entre otras.

Prerrequisitos

Para lograr un buen desempeño en este curso, se espera que los estudiantes tengan un sólido conocimiento en las siguientes áreas:

Código de honor

Bibliografía

Debido a que este curso es mayoritariamente práctico, no hay bibliografía oficial. Las presentaciones están basadas en un conjunto de lecturas seleccionadas cuidadosamente y la documentación oficial de las diferentes tecnologías que se trabajan. Cualquier referencia adicional será proporcionada oportunamente.


FAQ

¿Es la primera vez que se ofrece este curso?
No. Sin embargo, el curso se encuentra en constante actualización con el fin de asegurar el mejor grado de aprendizaje por parte de los estudiantes. Puede que algunas partes del material ofrecido no estén estables. Sus comentarios son ampliamente apreciados.
¿La asistencia es obligatoria?
No se tomará asistencia pero se espera que los estudiantes asistan regularmente a clase. Dependiendo de la asistencia observada y del rendimiento general del curso, podrán llevarse a cabo quices sorpresa.
¿Cuál es el formato de la clase?
Durante las tres sesiones semanales se espera avanzar en la teoría, realizar tutoriales guiados y disponer de un tiempo para trabajo autónomo el cual deberá ser complementado con trabajo en casa por parte de los estudiantes.
¿Es posible trabajar en grupo?
Si, siempre y cuando no se indique lo contrario. Se permiten grupos de 2 y 3 integrantes. También está la posibilidad de trabajar individualmente. Cabe aclarar que entre más integrantes tenga el grupo, mayor será el nivel de exigencia.
¿Cómo se realizan las entregas de los talleres y el proyecto final?
Todos los modelos de datos deben estar acompañados de su respectivo diccionario de datos. Todos los nombres de clases, atributos y métodos deben estar estcritos en inglés y deben seguir las recomendaciones de estilo dadas por cada lenguaje. Se espera que el código cuente con una documentación adecuada de clases, métodos, atributos así como bloques de código.

Tanto los talleres como el proyecto final deben ser subidos a GitHub de forma incremental, es decir que en el repositorio deben reflejarse las diferentes versiones del código y las contribuciones de cada integrante del grupo de trabajo. Utilice archivos tipo Readme para listar los integrantes del grupo de trabajo, describir la funcionalidad de alto nivel y referenciar el stack tecnológico utilizado así como cualquier material externo consultado.

NO OLVIDE adjuntar la lista de pasos para el despliegue del entregable así como el link de un video subido a YouTube en donde se evidencie el correcto funcionamiento de cada uno de los requerimientos solicitados. No es necesario que destaque la organización del código.

Solo UN integrante debe formalizar la entrega a través del aula virtual. Solamente debe incluir la URL del repositorio de GitHub en cual debe ser público para que pueda ser evaluado. Cualquier commit (cambio del código) que se realice posterior a la fecha de entrega, NO será tenido en cuenta al momento de asignar la calificación. NO se aceptarán documentos adicionales en formatos como Word o PDF.
¿Cuál es el formato que deben tener las presentaciones a cargo de los estudiantes?
Las presentaciones deben tener una duración aproximada de 20 minutos y deben estar compuestas de una parte teórica y una parte práctica o tutorial. Dicho tutorial debe ser de autoría del grupo de trabajo y estar disponible en un repositorio de GitHub acompañado de su respectivo Readme con todos los pasos requeridos para reproducirlo. Dentro del archivo Readme también debe incluir los nombres de los integrantes del grupo, la URL de la presentación así como cualquier referencia externa que haya utilizado para su construcción.

Al finalizar cada presentación, será responsabilidad de cada grupo publicar la URL del repositrio en el canal #tutorials de Slack. Este requisito es fundamental para asignar la calificación.
¿Cuál es el mejor medio de comunicación con el docente y los demás compañeros?
Las horas de clase son el mejor momento para hacer consultas y sugerencias respecto a los contenidos, talleres, proyecto final o calificaciones. Como medios de comunicación alterno están las horas de atención a estudiantes y Slack.
¿Cómo usar Slack?
Una vez que ha ingresado a Slack, el estudiante tendrá acceso varios canales con diferentes propósitos para la comunicación entre los compañeros de clase y el docente. Tenga en cuenta el propósito de cada canal descrito a continuación:
  • #general: Espacio principal para la comunicación entre estudiantes. Pueden realizar consultas sobre la logística del curso, solicitar apoyo mutuo, además de compartir chistes, memes o cualquier otro contenido que permita establecer una comunicación más amena entre todos.
  • #announcements: Anuncios oficiales del curso por parte del docente. NO está permitido a los estudiantes publicar contenido alguno.
  • #ask-teacher: Los estudiantes podrán usar este canal para hacer cualquier consulta al docente. Para discusiones largas que se puedan presentar, se recomienda realizar la réplica a modo de thread.
  • #tutorials: Espacio para publicar las presentaciones realizadas por los estudiantes, así como compartir material práctico adicional que complemente las temáticas abordadas.
EVITE, en la medida de lo posible, consultar con el docente mediante mensaje directo. Utilizar los canales previamente descritos permite a todos estar al tanto de temas importantes que puedan puedan surgir durante el transcurso del semestre.

Adicionalmente, los estudiantes podrán crear los canales públicos o privados que consideren. Se recomienda a los estudiantes hacer uso responsable de la herramienta.

Finalmente, se recomienda instalar la aplicación de Slack para computador y celular y habilitar todas las notificaciones. Esto le permitirá estar lo más al tanto posible de todos los acontecimientos de la clase.