Herramientas y Acceso:
En este proyecto, nos planteamos utilizar las siguientes herramientas:
- Servidor Docente Linux: Controlado por el profesorado y donde los alumnos tendrán una cuenta de alumno.
El servidor docente es: labatc.umh.es
Cada alumno dispone de una cuenta para realizar las prácticas (Acceso) y por tanto también acceso a todo el sistema de Juypter Notebooks disponible a través del JupyteHub de la asignatura.
- JupiterHub: Es una plataforma escalable que se instala en el servidor y que permite a múltiples usuarios ejecutar sus propios Jupyter Notebook de forma simultánea, facilitando la colaboración y la enseñanza de la programación a gran escala.
Para acceder el usuario deberá establecer un Tunel SSH al puerto 8999 mapeado en localhost, en una consola de comandos teclear el siguiente comando y rellenar la contraseña. La consola se realiza la conexión y se queda bloqueada. Para terminar la sesión usar Ctrl+C. Esto cierra la conexión con JupyterHub.
ssh aluNN@labatc.umh.es -p 8531 -NL 8999:localhost:8999
Atención, sustituir aluNN por vuestro usuario, alu00, alu45, etc…
Y abrir un navegador web con la siguiente url http://localhost:8999
localhost:8999
Esto abrirá un página de Login al JupyterHub de la asignatura. El alumno entra en la web con su cuenta de usuario aluNN y su password. Esto le dará paso a su home, donde tendrá un directorio de Notebooks para poder trabajar con ellos.
- Jupyter Notebook: Es una aplicación web de código abierto que permite crear y compartir documentos que contienen código ejecutable, visualizaciones, ecuaciones matemáticas y texto narrativo. Es una herramienta ideal para la enseñanza de la programación: Su interfaz interactiva y la posibilidad de ver los resultados del código al instante lo convierten en una herramienta excelente para aprender y enseñar conceptos de programación.
- Git y GitHub: Git Es un sistema de control de versiones, que permite rastrear los cambios que se realizan en tus archivos a lo largo del tiempo. GitHub: Es una plataforma basada en la web que utiliza Git para almacenar y gestionar código fuente.
- Organizaciones en GitHub: Son grupos de usuarios dentro de GitHub que son útiles cuando varias personas trabajan en conjunto en múltiples proyectos. En este proyecto docente, las organizaciones nos permitirán:
- Colaboración en equipo: Diferentes personas pueden trabajar en los mismos proyectos, asignándose tareas y revisando el código de los demás.
- Gestión de permisos: Se pueden establecer diferentes niveles de acceso para cada miembro de la organización, lo que te permite controlar quién puede ver, editar y administrar los repositorios.