Notebooks

En esta sección veremos los distintos Notebooks que el alumno podrá utilizar para afianzar los conocimientos tanto teóricos como prácticos de la asignatura.

Configuración y acceso

Cada alumno en su cuenta del servidor de prácticas cuenta de entrada con un directorio notebooks donde inicialmente dispone de los dos notebooks utilizados en las sesiones de prácticas para Bash y para C.

ls ./notebooks -l
total 8
drwxr-xr-x 2 alu27 alumnos 4096 sep  4 18:03 bash
drwxr-xr-x 3 alu27 alumnos 4096 sep  4 18:03 c++

El alumno podrá descargar otros notebooks de esta sección o crear los suyos propios y organizarlos en esta u otra carpeta de su cuenta de usuario.

Para poder acceder a los notebooks del servidor haremos uso de Jupyter Hub accediendo a él desde el navegador desde el ordenador del alumno. Cada alumno, con su cuenta en el servidor puede configurar un tunel al servidor de forma que pueda acceder con sus credenciales Jupyter Hub. A continuación se explica cómo configurarlo.

  • Servidor Docente Linux: Controlado por el profesorado y donde los alumnos tienen 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.

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.

Acceso por consola y ssh

Para acceder el usuario deberá establecer un Tunel SSH al puerto 8999 mapeado en localhost, en una consola de comandos, en el ordenador del alumno, teclear el siguiente comando y rellenar la contraseña. La consola se realiza la conexión al servidor y se queda bloqueada. Para terminar esta conexió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 en el servidor docente, donde tendrá un directorio de Notebooks para poder trabajar con ellos.

Acceso utilizando la conexión remota de Visual Studio Code

En Visual Studio Code podemos configurar nuestro acceso al servidor remoto como se explica en Acceso y Herramientas – Sistemas Operativos.
Tal como se configura allí, si utilizamos esta configuración (modificar aluNN por el vuestro), estamos añadiendo el Port Fordwaring a la conexión de forma que ya estamos abriendo el puerto 8999 en nuestro localhost.

Host Servidor-SistemasOperativos
    HostName labatc.umh.es
    User aluNN
    Port 8531
    LocalForward 8999 localhost:8999  

Así por un lado puedo abrir en Visual Studio Code mi conexión remota y simplemente poniendo en el navegador la dirección localhost:8999 nos abre el entorno Jupiter Hub.

Notebooks

Notebooks de prácticas

Practicas Bash

Practicas C

Notebooks de teoría