Tres experiencias docentes con una plataforma en la nube
Abstract
Universidad de Granada: Departamento de Arquitectura y Tecnología de Computadores
Full text
Tres experiencias docentes con una plataforma en la nube M. Dolores Ruiz1and Francisco Torralbo2 1Dpto. Ingenier´ıa Inform´atica. Universidad de C´adiz. Espa˜na 2Dpto. Matem´aticas. Universidad de C´adiz. Espa˜na {francisco.torralbo, mariadolores.ruiz}@uca.es Abstract. Nowadays, the use of cloud platforms is growing both for research and teach. This paper highlights the advantages and disadvantages of using the CoCalc cloud platform for teaching purposes. More precisely, we describe the platform, its inherent ecosystem and those features that can be of interest for teaching through three different use cases. Resumen. Las plataformas en la nube son cada vez m´as usadas tanto en investigaci´on como en docencia. En este trabajo se pone de manifiesto las ventajas del uso de una plataforma concreta, CoCalc, para la docencia. En particular, se describe el sistema usado y su ecosistema mediante tres experiencias docentes distintas que ilustran el uso de dicha herramienta. Keywords: Teaching Plataform ·CoCalc ·Jupyter ·Sagemath ·Python. 1 Introducci´on Hoy en d´ıa es cada vez m´as habitual el uso de plataformas en la nube tanto para investigaci´on como para uso docente. Esto viene motivado por la ubicuidad del acceso a internet y la versatilidad de las herramientas desarrolladas. Actualmente se pueden encontrar distintos tipos de plataformas: algunas centradas en la gesti´on de los recursos docentes (p.e. Moodle [15]) y otras orientadas al desarrollo de software o a la investigaci´on (p.e. Microsoft Azure [5], RCloud [19], Apache Zeppelin [2]. . . ). Entre estas ´ultimas destacamos la aparici´on de varias plataformas basadas en la idea de cuaderno impulsada por el sistema Jupyter [12] (p.e. CoCalc [6], Anaconda Cloud [1], Cybera [8], Google Colaboratory [11], Google Cloud Datalab [10], Binder [4] . . . ). Jupyter es una aplicaci´on web de c´odigo abierto que permite crear documentos (llamados notebooks, a los que nos referiremos en adelante como cuadernos) que contienen c´odigo, ecuaciones, gr´aficos y texto explicativo. La aplicaci´on se comunica con un kernel que eval´ua los comandos y devuelve el resultado. Inicialmente se desarroll´o para los lenguajes Julia, Python y R de donde procede su nombre. Actualmente es posible usar dicha aplicaci´on web con multitud de lenguajes diferentes (p.e. Sagemath, Octave, Javascript, Haskell, Scala. . . para una lista completa consultar [14]). La versatilidad de los cuadernos de Jupyter Enseñanza y Aprendizaje de Ingeniería de Computadores. Número 8, 2018 27
al permitir en un mismo documento la inclusi´on de c´odigo, texto y figuras lo hace id´oneo tanto para la investigaci´on como para la docencia, como puede verse por ejemplo en [3, 9]. Ahora bien, este tipo de plataformas de c´omputo en la nube son muy ´utiles para la docencia interactiva y a distancia pero no pretenden sustituir a las plataformas propiamente docentes, si no m´as bien complementarlas para facilitar la labor de ense˜nanza del profesorado, cuando esta se refiere a ejercicios de programaci´on o simplemente el docente quiere ofrecer contenidos interactivos al alumnado. En este art´ıculo describiremos distintas experiencias docentes usando una de estas plataformas: CoCalc [6] (anteriormente conocido como SageMathCloud). La elecci´on de esta frente al resto ha venido determinada puesto que es la ´unica conocida por los autores que permite usar Sagemath (lenguaje de c´alculo simb´olico para matem´aticas) as´ı como gestionar cursos y alumnos. Es de destacar que esta plataforma ha sido utilidad desde 2013 en m´as de 200 cursos por miles de estudiantes. Diferentes instituciones de todo el mundo han confiado en esta plataforma como por ejemplo Oxford University, MIT, Sheffield Universite, Universidad Complutense de Madrid (ver lista completa en [7]) para impartir cursos en ´areas muy diversas como son: matem´aticas, f´ısica, bioinform´atica, programaci´on, criptograf´ıa, computaci´on gr´afica, meteorolog´ıa. . . 2 Descripci´on de la plataforma utilizada Como hemos puesto de manifiesto en la introducci´on, CoCalc basa su dise˜no en Jupyter. As´ı, los documentos creados en la plataforma ser´an cuadernos que podr´an contener texto, ecuaciones mediante L A T EX y c´odigo en distintos lenguajes de programaci´on. Actualmente la plataforma permite la creaci´on de estos cuadernos para Python, R, Sagemath, Octave, Spark, Julia, PostgreSQL, Scala, Singular as´ı como la edici´on de documentos de L A T EX. Los cuadernos y cualquier documento adjunto se agrupan en proyectos. En principio los documentos y cuadernos asociados a un proyecto son de acceso privado (´unicamente el propietario del proyecto y los colaboradores que ´el haya agregado tienen acceso a los mismos). Sin embargo, cualquier cuaderno puede hacerse p´ublico, es decir, el sistema genera una url para que cualquier persona pueda acceder (pero no editar) a su contenido. Los proyectos pueden a su vez convertirse en cursos. De esta manera, el sistema permite a˜nadir alumnos al curso para que puedan acceder a los archivos, asignarles tareas con una fecha l´ımite y evaluar sus resultados. Es de destacar que los profesores que gestionan el curso tienen siempre acceso a los cuadernos de cada alumno y pueden editarlos con ellos, contando adem´as con el acceso a un chat para la resoluci´on de dudas en tiempo real (ver figura 1). De forma opcional, se puede crear un proyecto colaborativo de manera que todos los usuarios (profesores y alumnos) tendr´an permiso de edici´on. Esto puede resultar de utilidad para clases colaborativas en el laboratorio o bien para compartir material con el alumnado para que experimente con ´el. Enseñanza y Aprendizaje de Ingeniería de Computadores. Número 8, 2018 28
2.1 Ventajas e inconvenientes de CoCalc A continuaci´on describiremos las ventajas e inconvenientes de usar este sistema. En primer lugar podemos destacar las ventajas propias de ser un sistema en la nube: no hay necesidad de instalaci´on por parte del profesor ni del alumnado, es independiente del sistema operativo y todos los usuarios comparten la misma versi´on del programa y de las librer´ıas. Como desventaja es necesario tener acceso a internet aunque existe la posibilidad de instalar el entorno Jupyter en el ordenador para usar el contenido sin conexi´on. El inconveniente es la dificultad de esta tarea para un usuario medio as´ı como la necesidad de instalar cada lenguaje de programaci´on a usar de forma individual. La segunda gran ventaja es la gratuidad del servicio. Existe la posibilidad de pago tanto por parte del profesor como del alumno para para ampliar los servicios como pueden ser: m´as espacio de almacenamiento, servidor dedicado sin reinicios, c´omputos con tiempos de ejecuci´on mayores, acceso a internet a trav´es de los cuadernos,. . . Como contrapartida en su versi´on gratuita puede no estar disponible en ciertos momentos puntuales y, aunque no existe limitaci´on en el n´umero de alumnos, el rendimiento no es ´optimo para su uso en el aula para un n´umero elevado (v´ease la secci´on 4), Otra caracter´ıstica a destacar es el control autom´atico de versiones. El sistema guarda distintas versiones de cada cuaderno y es posible recuperar todo el historial de trabajo de cada alumno para ver la evoluci´on del mismo. As´ı mismo, la plataforma guarda una copia de todos los archivos de cada proyecto cada cinco minutos mientras se est´a editando y permite recuperar archivos borrados. Desde el punto de vista del profesor, CoCalc permite unificar todo el contenido que podr´ıa necesitar para su labor docente, combinando en un mismo cuaderno tanto contenido te´orico como pr´actico, ya que un cuaderno puede contener explicaciones en texto y trozos de c´odigo ejecutable. Una caracter´ıstica interesante para la labor docente es la posibilidad de exportar los cuadernos en un formato de presentaci´on. Adem´as el profesor puede elaborar material docente tradicional puesto que el sistema dispone de un editor de L A T EX. El material elaborado en CoCalc puede ser usado y visualizado en cualquier plataforma basada en Jupyter con el n´ucleo de SageMath instalado (v´ease secci´on 4). Con respecto a la interacci´on con los alumnos, la plataforma permite la asignaci´on de diferentes roles para los usuarios. En general uno de los profesores ser´a el propietario del proyecto mientras que el resto de docentes ser´an colaboradores y todos tendr´an permiso de edici´on sobre todos los archivos del proyecto. Adem´as existe el rol del alumno: este tendr´a acceso ´unicamente al contenido que los profesores estimen oportuno. Desde el punto de vista de la evaluaci´on, la plataforma permite la gesti´on de actividades y tareas con fecha l´ımite. Al asignar una tarea a los alumnos los archivos asociados a la misma son copiados en las cuentas personales de cada uno donde tienen acceso de edici´on. Durante el desarrollo de las tareas, CoCalc permite la revisi´on y resoluci´on de dudas en tiempo real puesto que el profesor puede acceder al cuaderno que esta editando el alumno en cada momento, corregir errores y darle sugerencias mediante un chat integrado en la plataforma Enseñanza y Aprendizaje de Ingeniería de Computadores. Número 8, 2018 29
(ver figura 1). Una vez finalizado el plazo de entrega, el sistema recupera dichos archivos para su evaluaci´on. El profesor puede publicar tanto los resultados de la evaluaci´on como observaciones a la misma (en un documento aparte o dentro del cuaderno del alumno) en la misma plataforma. Una vez finalizada la evaluaci´on, el material generado por los alumnos (ejercicios de evaluaci´on o cualquier tipo de cuaderno de pr´acticas) puede ser descargado en pdf para su archivado en caso de ser necesario para su posible auditor´ıa. Adem´as, se dispone de una amplia Fig. 1. Interfaz de CoCalc mostrando el chat informaci´on sobre el uso y conexi´on de los estudiantes. La plataforma indica la fecha de la ´ultima conexi´on de cada estudiante as´ı como la fecha de edici´on de los cuadernos por parte de este. Esto, junto con el control de versiones de la plataforma, permite monitorizar no s´olo el trabajo del alumno sino su evoluci´on y los problemas que ha encontrado. 3 Experiencias docentes En esta secci´on mostramos tres casos diferentes de uso de la plataforma elegida. Estos ilustran parte del potencial de dicha herramienta para la ense˜nanza. Se trata de tres casos con objetivos docentes diferentes: en el primero de ellos se pretende ´unicamente ilustrar conceptos te´oricos mediante ejemplos para los que el uso tradicional de la pizarra es insuficiente. En el segundo, la herramienta se Enseñanza y Aprendizaje de Ingeniería de Computadores. Número 8, 2018 30
aprovecha para iniciar al alumnado en un sistema de c´alculo simb´olico. Finalmente, en el tercero se utiliz´o para impartir una asignatura no presencial. 3.1 Experiencia docente 1: P´agina web interactiva En muchas situaciones las herramientas disponibles en un aula actual (pizarra y proyector) son insuficientes para ense˜nar ciertos conceptos pues no permiten al alumno interactuar y, de esa manera, afianzar el conocimiento trasmitido en la lecci´on. Esta experiencia se enmarca en un curso de doctorado sobre superficies (´area de geometr´ıa diferencial). Fig. 2. Experiencia docente 1: Curso de doctorado sobre superficies En este caso el alumnado no precisaba de una cuenta en la plataforma puesto que el material generado por el profesor estaba disponible de forma abierta. M´as precisamente, se cre´o un cuaderno donde se dibujaron distintos tipos de superficies dependientes de varios par´ametros (ver figura 2). Dicho cuaderno fue publicado de manera que cualquiera con la url apropiada y una conexi´on a internet pod´ıa acceder al contenido. En concreto, adem´as de incluir material complementario, el alumno pod´ıa manipular las superficies para entender mejor su geometr´ıa. 3.2 Experiencia docente 2: Pr´acticas de ordenador individuales La parte pr´actica de asignaturas de ´areas como las matem´aticas o la inform´atica precisa de la instalaci´on y mantenimiento de un software concreto en los laboraEnseñanza y Aprendizaje de Ingeniería de Computadores. Número 8, 2018 31
torios. En algunas ocasiones, dicho software no est´a instalado o bien la versi´on disponible est´a obsoleta. Adem´as, dicho software puede requerir al alumnado de una licencia de pago si quiere trabajar fuera del aula de pr´acticas. En el caso bajo estudio el profesorado se encontraba en esta situaci´on y decidi´o usar la herramienta elegida en este art´ıculo para la elaboraci´on de unas pr´acticas de matem´aticas en un primer curso de ingenier´ıa. Fig. 3. Experiencia docente 2: Ejemplo del polinomio de Taylor Durante esta experiencia, se requiri´o al alumnado registrarse en el sistema. La herramienta se us´o tanto para la explicaci´on en el laboratorio (ver figura 3) como para el desarrollo de los problemas propuestos al alumnado y su posterior evaluaci´on. De entre las ventajas descritas en la secci´on 2.1 destacamos: no hay necesidad de instalaci´on ni configuraci´on por parte de la instituci´on ni por parte del alumno, la gesti´on de las tareas propuestas con fecha l´ımite y la informaci´on sobre el uso de la plataforma por parte de los estudiantes. Esto ayud´o a tener un mayor control en la evaluaci´on continua. Enseñanza y Aprendizaje de Ingeniería de Computadores. Número 8, 2018 32
3.3 Experiencia docente 3: Ense˜nanza a distancia Es cada vez m´as com´un que parte de la ense˜nanza de posgrado se realice a distancia dando m´as flexibilidad a la misma. Para la consecuci´on exitosa de esta ya existen multitud de plataformas distintas enfocadas a la gesti´on de recursos docentes, siendo la m´as conocida y extendida Moodle. Sin embargo este tipo de plataformas no son las adecuadas para el desarrollo de unas pr´acticas con un lenguaje de programaci´on. En esta ´ultima experiencia se us´o la plataforma CoCalc para ilustrar distintas t´ecnicas de aprendizaje autom´atico (ver figura 4) en un curso de posgrado. En concreto, se us´o el lenguaje de programaci´on Python con sus librer´ıas cient´ıficas Scipy y Scikit-learn, ambas disponibles en la plataforma. M´as precisamente, se elaboraron una serie de pr´acticas introductorias al lenguaje y a las librer´ıas y a posteriori se propusieron unas actividades pr´acticas evaluables usando la misma plataforma. Fig. 4. Experiencia docente 3: Curso de posgrado sobre Redes Neuronales Enseñanza y Aprendizaje de Ingeniería de Computadores. Número 8, 2018 33
Entre las ventajas descritas anteriormente destacamos: todos lo usuarios (profesores y alumnos) compart´ıan la misma versi´on del lenguaje y de las librer´ıas, evitando problemas derivados del uso de versiones diferentes; y la resoluci´on de dudas en tiempo real mediante el chat que ofrece la plataforma. Adem´as, debido al software usado en esta experiencia (Python y sus librer´ıas cient´ıficas) exist´ıa la posibilidad para el alumno de instalar dicho software de forma gratuita (p.e. mediante la distribuci´on Anaconda [1]) y trabajar sin conexi´on a internet. 4 Limitaciones y alternativas Durante las distintas experiencias docentes se han observado varias limitaciones de la plataforma usada. La primera limitaci´on que queda patente es la imposibilidad de elaborar cuestionarios autoevaluables. Esta herramienta, disponible en m´ultiples plataformas docentes como Moodle, no se encuentra actualmente disponible en CoCalc. Esta herramienta ser´ıa de mucha utilidad para evaluar contenidos te´oricos que suelen presentarse en las primeras fases de la ense˜nanza de una asignatura. Esto, a su vez, permitir´ıa al profesor conocer el nivel de conocimiento de la materia del alumnado antes de comenzar las pr´acticas. Pero como ya pusimos de manifiesto en la introducci´on, este tipo de plataformas de c´alculo no pretenden sustituir a las ya cl´asicas de gesti´on de recursos docentes que s´ı poseen esta funcionalidad. As´ı, un uso adecuado de cada una de ellas permitir´a que se complementen. No obstante, hay prevista una extensi´on en CoCalc [17], que permitir´a al profesor evaluar de forma autom´atica ejercicios de programaci´on mediante el dise˜no de tests autom´aticos. La segunda limitaci´on solo existe en su versi´on gratuita y es la imposibilidad de hacer c´alculos intensivos o instalar librer´ıas adicionales en caso de ser necesarias para una tarea concreta. En un uso reciente de la plataforma los autores han detectado un descenso considerable en el rendimiento de la plataforma que hace desaconsejable su uso con una cuenta gratuita. No obstante, en las pr´acticas elaboradas no se ha precisado de un alto proceso de c´alculo y la mayor´ıa de software y librer´ıas usadas hoy en d´ıa est´an disponibles en sus versiones m´as recientes. Una alternativa que solucionar´ıa estas dos limitaciones es la adquisici´on de un servicio para cursos en CoCalc, que supondr´ıa un gasto semestral fijo que depende del n´umero de alumnos. Otra opci´on es la instalaci´on y mantenimiento de un servidor de Jupyter mediante el software JupyterHub [13] en el que habr´ıa que instalar el sistema de c´alculo simb´olico SageMath como un n´ucleo de Jupyter. Esta segunda opci´on permitir´ıa realizar c´alculos intensivos (de acuerdo a las prestaciones del servidor) y adem´as existe la oportunidad de instalar la extensi´on de Jupyter Nbgrader [16] que permite implementar una forma de autoevaluaci´on para problemas de programaci´on usando Python. Como tercera alternativa, si la instituci´on tiene un convenio con Google, es usar el servicio Google Colaboratory [11] que permite ejecutar y compartir cuadernos de Jupyter con una interfaz parecida a Google Drive. Enseñanza y Aprendizaje de Ingeniería de Computadores. Número 8, 2018 34
La tercera limitaci´on encontrada es la evaluaci´on de pr´acticas grupales, ya que no existe una herramienta que permita crear o evaluar una actividad para un grupo de usuarios que permita adem´as poder evaluar la participaci´on de cada uno de ellos. Una alternativa interesante a tener en cuenta es el servicio Binder [4]. Este permite generar un entorno jupyter a partir de un repositorio en GitHub sin la necesidad, por parte del alumno, de instalar software ni tener ninguna cuenta de usuario en un servicio en la nube. Como contrapartida, aunque el contenido generado es interactivo para el alumnado, no hay posibilidad de guardar los cambios introducidos en la sesi´on. Esta ´ultima alternativa podr´ıa enmarcarse dentro de la primera experiencia docente descrita en la secci´on 3. 5 Conclusiones Las tres experiencias docentes descritas muestran el potencial tanto de esta plataforma en la nube (as´ı como de otras similares que se han ido indicando) para su uso en diferentes escenarios docentes. En todos los casos descritos se us´o la versi´on gratuita de la misma durante los cursos acad´emicos 2015–2016 y 2016–2017 y en ning´un momento esto supuso alg´un problema en la ejecuci´on de las actividades o afect´o a la calidad docente de los cursos impartidos. No obstante, la plataforma CoCalc ha cambiado su pol´ıtica de servicio y actualmente la experiencia de uso de una cuenta gratuita ha empeorado. Esto se debe a la necesidad de hacer rentable el servicio en la nube debido a los gastos de mantenimiento que esto genera. La mejor alternativa encontrada hoy d´ıa por los autores es o bien adquirir un servicio para cursos en CoCalc, que supondr´ıa un gasto semestral fijo que depende del n´umero de alumnos, la instalaci´on y mantenimiento de JupyterHub, que supondr´ıa un desembolso inicial por parte de la instituci´on en hardware y mano de obra especializada en su puesta en marcha e instalaci´on, o bien usar el servicio Google Colaboratory [11], que obligar´ıa tanto al alumnado como al profesorado disponer de una cuenta de google si no existe convenio previo de la instituci´on con dicha compa˜n´ıa (v´ease la secci´on 4). Los profesores, gracias al control de versiones y a la monitorizaci´on ofrecida por el sistema, pudieron detectar cuando alguno de los ejercicios propuestos hab´ıan sido compartidos entre los alumnos, lo que supone una ventaja a˜nadida al uso de esta plataforma. Finalmente, aunque aqu´ı se han descrito las bondades de CoCalc para fines docentes a trav´es de la experiencia de los autores, queremos poner de manifiesto que tambi´en es adecuada para su uso en investigaci´on como plataforma colaborativa. Enseñanza y Aprendizaje de Ingeniería de Computadores. Número 8, 2018 35