Saltearse al contenido

Introducción

Por favor consulta la carta descriptiva en el sistema de la Universidad. Te voy a mostrar aquí los puntos más importantes de ese documento.

El objeto de este curso es que estudies y apliques los fundamentos de los sistemas de cómputo modernos desde la perspectiva del programador. Por tanto, estudiarás cómo funciona un computador moderno pasando por el hardware que lo compone, los lenguajes de programación, las herramientas y el sistema operativo. Se busca entonces, que abordes aquellos conceptos que te permitirán sacar provecho a los sistemas de cómputo a la hora de construir aplicaciones.

Se espera que al finalizar el curso seas capaz de:

  1. Construir aplicaciones interactivas que satisfagan los requisitos de un problema, pero haciendo un énfasis especial en el análisis de los conceptos. Mira, no se trata solo de hacer aplicaciones (tú y yo sabemos que una IA generativa puede hacer), sino de entender los conceptos (que una IA no puede hacer por ti) y aplicarlos de manera correcta. Para este fin te propondré problemas donde deberás aplicar los conceptos estudiados. Se espera que llegues a un nivel resolutivo.

  2. Construir y aplicar pruebas para probar las partes y el funcionamiento completo de una aplicación interactiva. Para este fin te solicitaré que selecciones y argumentes los vectores de prueba que permitan verificar el cumplimiento de los requisitos establecidos. Se espera que llegues a un nivel autónomo.

Ejecuto procesos de desarrollo de aplicaciones interactivas utilizando lenguajes y metodologías apropiadas según el contexto para solucionar problemas de interacción.

Diseña, implementa y soporta soluciones basadas en software que hacen uso eficiente de los recursos de un sistema de cómputo.

Construyo aplicaciones interactivas aplicando patrones y estrategias que permitan alcanzar los requisitos funcionales y no funcionales establecidos. Se espera que llegues a un nivel resolutivo.

Soluciono problemas de interacción mediante la integración de contenidos digitales y software de acuerdo con un diseño previo, para la implementación de sistemas intermediados por el entretenimiento digital.

Aplica adecuadamente conceptos y utiliza las herramientas e instrumentos TIC para conceptualizar, diseñar, implementar y gestionar sistemas informáticos.

Aplico pruebas de las partes y del todo de un software siguiendo metodologías, técnicas y estándares de la industria para garantizar el correcto funcionamiento de las aplicaciones. Se espera que llegues a un nivel autónomo.

El contenido no aparece en orden. Este es solo el listado de los temas que se abordarán en el curso:

Introducción al curso, control de versión.
Uso de estrategias de diagnóstico y pruebas.
Arquitectura del computador: programación en lenguaje ensamblador.
Construcción y pruebas para la aplicación en lenguaje ensamblador.
Programación de aplicaciones interactivas.
Programación creativa.
Pruebas para probar las aplicaciones propuestas.
Revisión de los conceptos fundamentales de la programación orientada a objetos.
Introducción a los patrones de diseño para la construcción de aplicaciones interactivas.
Introducción a la computación gráfica.
Introducción a algunos servicios básicos del sistema operativo.

El curso está dividido en 8 unidades:

Unidad 1: arquitectura del computador
Unidad 2: lenguaje ensamblador.
Unidad 3: lenguaje de alto nivel.
Unidad 4: estructuras de datos.
Unidad 5: programación orientada a objetos.
Unidad 6: patrones de diseño.
Unidad 7: gráficas.
Unidad 8: sistema operativo.

En este curso vas a aprender haciendo, pensando y compartiendo. Cada unidad dura dos semanas y se divide en cuatro fases: set, seek, apply y reflect. En la primera semana te enfocarás en comprender el contexto y explorar ideas (set-seek); en la segunda semana aplicarás lo aprendido en una actividad práctica (apply) y cerrarás con una reflexión crítica (reflect) sobre lo que hiciste, lo que aprendiste y cómo podrías mejorar. Para acompañar este proceso, llevarás una bitácora en tu repositorio personal de GitHub, donde registrarás tus avances, decisiones y aprendizajes.

La evaluación será continua y sucederá en clase: yo te acompañaré durante las actividades para revisar tus entregas y conversar sobre tu proceso. También tendrás momentos para evaluarte a ti mismo y dar retroalimentación a un compañero, usando la misma rúbrica que usaré yo. Todo esto quedará documentado automáticamente para que tú puedas seguir tu progreso y yo pueda darte una retroalimentación clara, justa y oportuna. Este curso no es solo para aprender contenidos, sino para que aprendas a aprender, a pensar críticamente y a construir tu conocimiento de forma activa y reflexiva.

Unidad 1: semanas 1 y 2
Unidad 2: semanas 3 y 4
Unidad 3: semanas 5 y 6
Unidad 4: semanas 7 y 8
Unidad 5: semanas 9 y 10
Unidad 6: semanas 11 y 12
Unidad 7: semanas 13 y 14
Unidad 8: semanas 15 y 16

La evaluación en este curso será formativa, progresiva y compartida. Cada unidad se evaluará en tres momentos: primero revisaremos juntos tu trabajo de la fase set-seek y luego el de la fase apply. Luego, en la fase reflect realizarás una autoevaluación y una coevaluación del trabajo de un compañero. Estas evaluaciones se harán en clase, conversando contigo, y quedarán registradas directamente en tu repositorio mediante una rúbrica analítica con escalas descriptivas. Además, tú mismo completarás esa rúbrica desde tu experiencia (autoevaluación) y también evaluarás a un compañero (coevaluación), todo siguiendo los mismos criterios. Esto nos permitirá tener una visión completa de tu proceso, no solo del resultado final, y te ayudará a desarrollar un aprendizaje más profundo, autónomo y consciente.

Te voy a detallar un poco más cómo será la evaluación. Ten presente que será una evaluación DURANTE el proceso, no al final:

Primer momento: evaluación de set-seek

Al finalizar la primera semana de la unidad, se capturan automáticamente las evidencias de lo que hiciste durante las fases de exploración (set) e investigación (seek). En la primera sesión de la segunda semana, mientras trabajas en tu actividad de aplicación, yo me acercaré a tu puesto para revisar contigo lo que construiste, conversar sobre tu proceso y diligenciar la parte correspondiente de la rúbrica.

Segundo momento: evaluación de apply

Justo antes de la segunda sesión de la segunda semana de la unidad, se capturan las evidencias de lo que desarrollaste en la fase apply. Durante esa sesión, mientras haces tu reflexión final (reflect), realizaré contigo la evaluación de esta fase práctica, también en el aula y en diálogo contigo.

Tercer momento: evaluación de reflect (autoevaluación y coevaluación)

Al cierre de la unidad, completarás una autoevaluación y realizarás una coevaluación del trabajo de un compañero, usando la misma rúbrica. También dejarás una reflexión escrita sobre tu proceso y una retroalimentación sobre la experiencia vivida en la unidad.

Todo este proceso busca que la evaluación no sea solo un resultado, sino una oportunidad para pensar sobre cómo y qué estás aprendiendo.

Desde la unidad 4 del curso haremos el siguiente ajuste:

Este curso es de 2 créditos distribuidos en dos sesiones semanales con acompañamiento del docente y una sesión de trabajo independiente. La dedicación total es de 6 horas.

Workflow del curso para el trabajo en equipo 🔄

Sección titulada «Workflow del curso para el trabajo en equipo 🔄»

Esta guía documenta el flujo de trabajo utilizando GitHub como plataforma de desarrollo, seguimiento, entrega y evaluación de evidencias. Este curso lo realizermos como un equipo compuesto por cada estudiante, el profesor y un compañero coevalador en cada unidad. El flujo de trabajo está diseñado para facilitar la colaboración, la autoevaluación, la coevaluación y la evaluación del profesor, asegurando una trazabilidad completa de las entregas y un proceso de aprendizaje reflexivo y colaborativo.

1. Propósito del flujo:

  • Asegurar trazabilidad completa de las entregas.
  • Facilitar la autoevaluación, coevaluación y evaluación del profesor.
  • Centralizar las evidencias por fases: Set/Seek, Apply, Reflect.
  • Automatizar la captura de entregas y la consolidación de resultados.

2. Estructura de ramas y Pull requests (PR):

  • main: rama protegida. Solo el profesor puede hacer merge. Contiene las evidencias definitivas.
  • unidadX/set-seek: rama de trabajo del estudiante para la fase de investigación.
  • unidadX/apply: rama de trabajo para el desarrollo de soluciones.
  • unidadX/reflect: rama para la metacognición, auto y coevaluación.

Cada PR de entrega se genera desde la rama correspondiente hacia main.

3. Cronograma por unidad

  1. Semana 1:

    • El profesor activa unidadX/set-seek como rama por defecto.
    • El estudiante trabaja y hace commit/push en esa rama.
  2. Semana 2, Sesión 1:

    • El profesor automatiza la creación de un PR unidadX/set-seek → main.
    • El PR queda abierto, y se hace merge luego de la evaluación.
    • El profesor activa unidadX/apply como nueva rama por defecto.
    • El profesor escribe directamente en rubrica.md durante esta semana (mientras la rama activa es unidadX/apply).
  3. Semana 2, Sesión 2:

    • El profesor genera el PR unidadX/apply → main.
    • La evaluación del profesor sobre la fase apply también se hacen directamente en rubrica.md mientras unidadX/reflect está activa.
    • El PR permanece abierto y se hace merge posterior a la evaluación, que puede ocurrir en cualquier momento durante la sesión.
    • El profesor activa unidadX/reflect como rama por defecto para las actividades finales.
    • Durante esta sesión, otro estudiante realiza una coevaluación de la unidad completa (set-seek y apply) de un compañero, con fines formativos. Esta evaluación no se escribe en el repositorio del evaluado, ni se deja como comentario en el PR (ya que puede ser cerrado en cualquier momento), sino que queda únicamente documentada en el archivo reflect.md dentro del repositorio del estudiante que realiza la coevaluación.
  4. Fin de la unidad:

    • En la sesión 2 de la semana 2, se completa la evaluación de la unidad y se sube la nota al sistema institucional.
    • La rama unidadX/reflect se mantiene como activa hasta que comience la siguiente unidad. Durante este tiempo, el estudiante podrá realizar ajustes formativos a sus bitácoras, sin que esto afecte la nota sumativa, y podrá usarlos como base para solicitar retroalimentación o asesorías al profesor.

En este enlace encontrarás las bitácoras de aprendizaje que debes llevar durante el curso.