¡Hola a todos! En esta materia trabajaremos con GitHub Codespaces, un entorno completamente configurado para que puedan concentrarse únicamente en lo más importante: aprender y practicar programación de algoritmos.
GitHub Codespaces nos permite trabajar en un entorno de desarrollo listo para usar, directamente desde la nube. Algunas ventajas de utilizar esta herramienta son:
- Sin configuración compleja: Todo está preconfigurado, lo que elimina la necesidad de instalar herramientas adicionales en sus computadoras.
- Entorno real de desarrollo: Trabajaremos con herramientas profesionales utilizadas en la industria, lo que los prepara para futuros proyectos y empleos.
- Portabilidad: Pueden acceder a su workspace desde cualquier dispositivo con conexión a Internet.
- Colaboración: GitHub facilita la colaboración en proyectos.
Cada estudiante trabajará en un repositorio privado, que será creado a través de un assignment en GitHub Classroom. Estos repositorios serán accesibles únicamente por los profesores para garantizar:
- Feedback personalizado: Podremos revisar código y proporcionarles observaciones detalladas sobre su trabajo.
- Privacidad: Sus proyectos serán visibles solo para ustedes y el equipo docente.
Es fundamental que tengan una cuenta activa en GitHub para participar y acceder a sus repositorios asignados.
Utilizaremos el esquema de workspaces organizado por los diferentes trabajos prácticos. Este esquema les guiará a través de las actividades prácticas, mientras aplican los conceptos aprendidos en clase.
Nuestro objetivo principal es que, además de aprender los fundamentos de la programación de algoritmos, se familiaricen con:
- Flujos de trabajo modernos en Git y GitHub.
- Herramientas de desarrollo profesional, como entornos preconfigurados.
- Buenas prácticas de programación y trabajo colaborativo.
Si prefieren trabajar de manera local en lugar de usar Codespaces, pueden hacerlo utilizando GitHub Desktop. Esto requiere algunos prerrequisitos y pasos iniciales. Prerrequisitos: Asegúrense de tener instalados Visual Studio Code y el JDK (Java Development Kit) en su computadora.
Pasos para configurar el trabajo local:
- Inicien sesión en GitHub Desktop con la misma cuenta de GitHub con la que aceptaron la asignación en GitHub Classroom.
- Vayan al repositorio asignado en su navegador (en github.com).
- Hagan clic en el botón "Code" (Código), luego en la pestaña "Local" y seleccionen "Open with GitHub Desktop" (Abrir con GitHub Desktop). Esto abrirá GitHub Desktop y les pedirá clonar el repositorio.
- Clonen el repositorio en una carpeta local de su elección.
- Una vez clonado, abran la carpeta del repositorio con Visual Studio Code (pueden hacerlo directamente desde GitHub Desktop o manualmente).
- En Visual Studio Code, instalen la extensión para Java: vayan a la sección de extensiones (ícono de bloques en la barra lateral), busquen "Extension Pack for Java" de Microsoft e instálenla. Esto configurará el entorno para Java.
Flujo de trabajo normal de manera local:
- Editen y escriban código en Visual Studio Code.
- Prueben y ejecuten el código directamente en VS Code (usando el depurador o la terminal integrada).
- Para sincronizar cambios: Guardar los archivos, hacer commit de los cambios en GitHub Desktop (agreguen un mensaje descriptivo), y luego pulsen "Push origin" para subir los cambios al repositorio remoto en GitHub.
- Para actualizar con cambios remotos (si hay feedback o actualizaciones): Pulsen "Pull origin" en GitHub Desktop antes de empezar a trabajar.
Este flujo permite trabajar offline y sincronizar cuando estén conectados, manteniendo el repositorio actualizado para revisiones.
Si tienen alguna duda o consulta, no duden en contactarnos a través del feedback en el repositorio (usando issues o comentarios en pull requests) o por el foro de unpabimodal en https://unpabimodal.unpa.edu.ar/. Estaremos disponibles para resolver sus inquietudes y apoyarlos durante la cursada.
¡Les deseamos una excelente cursada!
Atentamente,
Lic. Franco Herrera
Mg. Mirta Miranda
Lic. Fernanda Oyarzo
Profesores de Práctica de Programación de Algoritmos