SciELO - Scientific Electronic Library Online

 
vol.1 número5Educación Superior Virtual en América Latina: Perspectiva Tecnológica-EmpresarialUn Programa Interactivo para la Enseñanza de Algoritmos de Procesamiento Digital de Imágenes índice de autoresíndice de materiabúsqueda de artículos
Home Pagelista alfabética de revistas  

Servicios Personalizados

Revista

Articulo

Indicadores

Links relacionados

  • En proceso de indezaciónCitado por Google
  • No hay articulos similaresSimilares en SciELO
  • En proceso de indezaciónSimilares en Google

Compartir


Formación universitaria

versión On-line ISSN 0718-5006

Form. Univ. v.1 n.5 La Serena  2008

http://dx.doi.org/10.4067/S0718-50062008000500003 

Formación Universitaria-Vol. 1 Nº5-2008, pág.: 15-20

ARTICULOS

Automatización en la Creación de Apuntes y Ejercicios 

Automatization in the Creation of Classroom Notes and Problems

Ekaitz Zulueta, José M. López-Guede, Asier González y Roberto Ruiz
Universidad del País Vasco, Escuela Universitaria de Ingeniería de Vitoria, Departamento de Ingeniería de Sistemas y Automática,
Calle Nieves Cano, 12, Vitoria-España (e-mail: jm.lopez@ehu.es)


Resumen

Este artículo presenta un sistema creado para la generación automática de apuntes y ejercicios. El sistema está orientado al área de Ingeniería de Sistemas y Automática, aunque puede ser aplicado a otras áreas. La metodología seguida se fundamenta en  el uso de herramientas existentes en el mercado integrándolas de modo transparente para el usuario. Las herramientas elegidas han sido Microsoft Word y Mathworks Matlab integradas mediante Visual Basic, generando el sistema denominado MathWord. Este sistema permite al usuario crear de modo dinámico juegos de apuntes y ejercicios usando Microsoft Word y generando los resultados mediante Mathworks Matlab de modo transparente para él. De este modo, es posible generar cuadernos de ejercicios personalizados para los alumnos en forma automática.

Palabras clave: Matlab, Word, Visual Basic, generación automática de apuntes, generación automática de ejercicios


Abstract

This work presents a system for the automatic generation of classroom notes and problems. The system is oriented to be used in the area of Automatic Control and Systems Engineering, although it can be used in other areas. The methodology followed is based on the use of existing tools in the market and their integration in a transparent way for the user. The chosen tools have been Microsoft Word and Mathworks Matlab. They have been integrated using Visual Basic to develop a system denominated MathWord. The system allows a user interacting with Microsoft Word to dynamically generate sets of classroom notes and exercises in a transparent way for the user. The proposed system allows the automatic generation of customized classroom notes and exercises for the students.

Keywords: Matlab, Word, Visual Basic , automatic generation of notes, automatic generation of exercises


INTRODUCCIÓN

En este artículo se presenta una herramienta desarrollada para la generación automática de apuntes y ejercicios que permite crear materiales docentes dinámicos de forma sencilla. Dicha herramienta se ha conseguido integrando Mathworks Matlab y Microsoft Word de modo casi transparente para el usuario. La razón fundamental para implementar esta herramienta ha sido cubrir la necesidad que se identificó en el desarrollo de un Proyecto de Innovación Educativa realizado en el Departamento de los autores, en el marco del cual se trataba de mejorar la metodología docente y los recursos didácticos disponibles. Se constató que la enseñanza debía ser más personalizada y que por otro lado, no supusiese una mayor necesidad de profesores, por lo que se propuso el análisis, diseño e implementación de una herramienta que permitiese generar colecciones de ejercicios de forma dinámica y personalizada para cada alumno. También se identificó la necesidad de que el propio alumno se pudiera responder a sus propias dudas mediante la interacción con sus apuntes en formato digital, de tal forma que él mismo pudiese observar qué pasa con los ejemplos de los apuntes digitales cuando ciertos parámetros se ven modificados. Esto hace que la cantidad de dudas que los alumnos no puedan resolver por si mismos se reduzca y por otra parte, se trabajan las competencias actitudinales como la de ser autodidacta y el aprendizaje activo, ya que los alumnos pueden establecer distintos casos de estudio, formular hipótesis para cada uno de ellos y analizarlos mediante los resultados de la herramienta de modo inmediato. Dantas y Kemm (2008), también hacen hincapié en la posibilidad de que los alumnos tengan posibilidad de formular hipótesis antes de ver la solución a los problemas. Al igual que se recoge en Munz et al. (2007), esta orientación práctica y directa favorece la motivación y el aprendizaje por parte de los alumnos, en la que los casos prácticos adquieren el perfil de juegos educativos. En Braeckman et al. (2008), asimismo, se recalca que el hecho de que conozcan la respuesta de modo inmediato a la formulación de hipótesis favorece de modo notable el aprendizaje. Un trabajo cercano al que aquí se presenta es el Haffner et al. (2006), ya que en el mismo se utiliza Matlab. No obstante, esa herramienta no se utiliza en todo el proceso de aprendizaje, sino que únicamente en la parte final dedicada a la evaluación del mismo. Además, su ámbito de aplicación se limita al área de la identificación de sistemas en el dominio de la frecuencia.

El tipo de problemas que aquí se resuelven también están principalmente relacionados con el área de Ingeniería de Sistemas y Automática, más concretamente con los cursos de Regulación Automática, Control por Computador y Estructura de Computadores, pero aún siendo útil para estas últimas materias, el software desarrollado no está íntimamente relacionado con ellas, como es deseable. De hecho, no sólo se puede aplicar con éxito en estas materias sino que se puede hacer uso del mismo en cualquier campo científico en el que Matlab resulte de utilidad. El autor de los apuntes debe introducir una serie de ejemplos tales que haciendo uso de esta herramienta, el lector o usuario último de dichos apuntes pueda interactuar de forma adecuada con la documentación. Por tanto, lo que aquí se introduce es una generalización de los apuntes ordinarios digitales, puesto que lo que actualmente se conoce como apuntes digitales, no son más que apuntes convencionales que en vez de estar en papel están en un soporte digital. Si bien la persona que realiza los apuntes debe introducir una prestación más en los mismos al tener que realizar programas en Matlab para poder hacer que sus ejercicios sean dinámicos, lo que implica una mayor tarea para el autor, no supone una superior capacitación en el manejo de Matlab, puesto que el nivel necesario para ello es igual que el que se necesita para resolver estos problemas de forma estática. Por otro lado los alumnos no necesitan conocer en absoluto el manejo de Matlab, ya que su esfuerzo se orienta únicamente a los conceptos debido a que la complejidad necesaria para aportar dinamismo a los apuntes se asume totalmente por la herramienta y por el programa Matlab realizado por el autor de los apuntes. En la literatura existen numerosos trabajos orientados a la realización de cursos por parte de los alumnos de un modo alejado de los métodos clásicos, generalmente apoyados en sistemas on-line y dedicados a áreas muy concretas. En Mendez et al. (2006), se recoge una herramienta web basada en Applets de Java para la enseñanza de sistemas lineales de control. Zhuang y Morgera (2007), proponen un método combinado, en el que aparte del uso de una web, se dispone de un laboratorio real de experimentación en el campo de la instrumentación y el control. Granado et al. (2007), han diseñado un sistema que utiliza la realidad virtual mediante un visualizador de VRML instalado en un navegador ordinario para la enseñanza de control automático.

Otro campo en el que hay propuestas de uso de estos sistemas es en la medicina, como se recoge en Braeckman et al. (2008). Aparte de estos sistemas cuyo ámbito es tan concreto, existen otros más generales, pero siempre en un entorno web. En Pacurar et al. (2006), se recoge una herramienta creada en Java para la generación automática y administración de sitios web pedagógicos. Alfonseca et al. (2007), muestran otra herramienta para la generación automática de información on-line usando técnicas de procesamiento de lenguaje natural. Además de prestar atención al contenido, también hay literatura sobre la generación automática de interfaces de usuario (Heymann y Degani, 2007). Aparte de las referencias anteriormente citadas existe un precedente que si bien no cubre la funcionalidad de la herramienta que aquí se presenta, tiene ciertos conceptos incipientes a los que nosotros proponemos en este trabajo. Es la prestación de Matlab que permite la publicación de los ficheros de Matlab tanto en versión HTML como en versión Latex y Doc. Esta prestación de Matlab está pensada para que el propio fichero de código permita autodocumentarse, reduciendo así el tiempo necesario en el desarrollo de un proyecto científico-técnico, sin que sea necesario conocer en absoluto el manejo de Latex o MS-Word. Si bien es una prestación interesante de Matlab no es una herramienta que permita el dinamismo que necesitan unos apuntes, en los que la didáctica es lo primordial.

El objetivo primordial de esta herramienta es facilitar la comunicación entre Matlab y Microsoft Word, y permitir a un usuario con un mínimo de conocimiento de dichas herramientas generar de forma automática apuntes y ejercicios, con un ahorro sustancial de tiempo y esfuerzo, obteniendo a la vez gran variabilidad en dicho material generado. Se trata de conseguir que mediante una serie de macros definidas en VBA de Microsoft, se pueda ejecutar un fichero de Matlab que permita actualizar dinámicamente los resultados que aparecen en los apuntes.

DESCRIPCIÓN FUNCIONAL

La estructura funcional de esta herramienta se divide en 4 aspectos fundamentales, cuya organización puede observarse en la Fig. 1:


Fig. 1: Organización de los componentes de la herramienta

1) El conjunto de macros escritas en VBA realizadas por los autores de esta aplicación. Dichas macros realizan una serie de funciones que se enumeran a continuación:

-  Arrancar Matlab.
-  Parar Matlab.

-  Agregar ejercicio en los apuntes. Esta macro pide al autor de los apuntes la cantidad de salidas, la cantidad de entradas y el número de figuras del ejercicio. También pide el nombre del fichero de Matlab que el autor debe haber creado para resolver el ejercicio. Con estos datos se genera el código VBA que se ejecutara cuando el usuario de los apuntes desee ver como quedan los resultados cuando los nuevos datos o variables han sido introducidos.

-  Macro que invoca a la macro creada anteriormente para ejecutar el fichero Matlab del autor.

2) La macro VBA que se crea cuando se agrega un ejercicio en un fichero Doc. Dicha macro pasa a ejecución cuando se desea ejecutar el fichero Matlab para actualizar los resultados presentados en los apuntes.

3) El conjunto de objetos del que se toman los datos de las entradas y donde se muestran los de salida del ejercicio. Estos objetos se utilizan para permitir la actualización de los parámetros y variables de entrada, así como las variables de salida actualizadas por el fichero de Matlab. También permiten la actualización de resultados que se puedan visualizar de forma gráfica.

4) Los ficheros de Matlab generados por parte del autor de los apuntes. Estos ficheros se ejecutan mediante un objeto de tipo botón. Deben ser programados por el autor de los apuntes, puesto que él es quien decide las entradas y salidas, así como las gráficas que se necesitan para resolver el problema que propone en los apuntes.

RESULTADOS Y DISCUSIÓN

Para mostrar los resultados alcanzados se va a realizar un ejemplo ilustrativo del funcionamiento de la herramienta MathWord. En él se hallará la transformada inversa de Z de una función racional genérica descrita mediante la siguiente función de transferencia:

(1)

Como primer paso se crea el script de Matlab, en el cual se debe definir el problema a resolver. La creación de dicho script se refleja en la Fig. 2 utilizando el propio entorno de Matlab. En él se recoge la parametrización del problema en términos de entradas y salidas, así como la resolución del mismo a realizar por Matlab. Una vez creado el script .m, se debe arrancar Microsoft Word. Al iniciarlo se realiza al usuario la pregunta de que si se desea arrancar Matlab. Se debe responder que sí, de forma que se entabla una comunicación desde Word con Matlab para poder así ejecutar posteriormente el script creado. El siguiente paso es el de configurar las entradas y salidas necesarias, así como las gráficas. Para ello se debe pulsar el botón "Menú" situado en  la barra de herramientas de Word que se ha creado por MathWord al instalarlo.


Fig. 2: Script de Matlab que resuelve el problema concreto

Al pulsar dicho botón "Menú" surgirá en pantalla el formulario de Configuración, tal y como se ve en la Fig. 3. En primer lugar se comienza estableciendo las entradas. Dado que para este ejemplo son necesarias 10 entradas, se comienza marcando el CheckBox correspondiente a "Entradas" y luego se elige el valor 10 en el ComboBox desplegable correspondiente a las mismas. A continuación aparece un nuevo formulario a través del cual se introducen los nombres de todas las variables de entrada de forma individual y continuada. Hay que recordar que los nombres de las entradas deben ser iguales que los utilizados en el fichero .m, es decir A, B, C, D, E, F, G, I, J y K. Por último, la herramienta informa al usuario de la asignación de variables de entrada realizada, mostrando el nombre de cada unas de las variables y el número de entrada que ocupará en el documento Word. Nótese que no se ha utilizado como variable de entrada el literal H por ser un nombre reservado por la herramienta para establecer la comunicación entre Word y Matlab. De este modo, tras el proceso de configuración de todas las entradas, el formulario de la herramienta queda como se muestra en la primera imagen de la Fig. 3. Se deben realizar los mismos pasos para configurar las salidas, debiéndose llamar "y" la única salida de este problema, ya que es como se ha denominado en el script de Matlab. El resultado se puede observar en la segunda imagen de la Fig. 3. Por último, queda por establecer el script a ejecutar con la parametrización anteriormente definida. Para ello, se debe introducir la ruta específica de dicho script dentro de la caja de texto dispuesta al efecto.

Una vez realizadas estas operaciones sólo queda crear el documento de Microsoft Word. Para realizar esta acción se debe pulsar el botón "Crear Entradas" de la barra de herramientas de MathWord y la herramienta creará automáticamente un documento Word en el que introducir los valores de las 10 entradas establecidas como necesarias, en el que también se verá la salida generada cuando se le da al botón de "Ejecutar" que aparece en el mismo documento. Tras la creación del documento, la herramienta coloca el código VBA del botón "Ejecutar" en el portapapeles, pasando de ahí al evento asociado al click de dicho botón.


Fig. 3: Formulario de configuración de entradas, salidas y gráficas

Una vez configuradas las entradas, salidas y el script a ejecutar, sólo queda introducir los datos  deseados para cada una de las entradas. Si por ejemplo, se quiere obtener la transformada inversa de Z de la siguiente función de transferencia:

(2)

se realizará la siguiente asignación de valores a las variables de entrada:

A = 5, B = 4, C =  3, D = 2, E = 1, F = 1, G = 0, I  = 0 J = 0, K = 0

(3)

Finalmente, tras pulsar el botón "Ejecutar" que está en el documento Word, se obtendrá en "y" (la salida) la solución al problema: 5, 4, 3, 2, 1, 0, 0…

De este modo, se ha conseguido el objetivo propuesto de generar un documento Word que admita la especificación de parámetros en problemas y acepte la solución a los mismos tras su resolución dinámica mediante la potente herramienta de cálculo Matlab de modo totalmente transparente para el usuario de los apuntes.

CONCLUSIONES

Tal y como se ha mostrado se puede generar de forma automática colecciones de ejercicios distintos para cada alumno, así como obtener una interactividad muy elevada entre los apuntes creados de esta forma y el propio alumno que los utiliza. En el área de Ingeniería de Sistemas y Automática esta es una característica muy interesante puesto que permite comprender los conceptos básicos de la materia simplemente modificando los parámetros del enunciado, aunque la herramienta se puede usar de igual modo en cualquier otra área de conocimiento.

Como líneas futuras de trabajo se proponen las siguientes:

1.      Realizar la comunicación con otros programas de calculo gratuitos al estilo de Scilab o Octave en vez de Matlab.
2.      Investigar si sería posible la inserción del objeto "Grafical User Interface Development Environment" en vez de colocar una imagen, para conseguir más interactividad.
3.      Realizar una página Web al estilo de este programa teniendo instalado Matlab en el servidor.
4.      Leer los plots que el usuario tenga configurados en el archivo, evitando tener que preguntarle en el menú, el número de gráficas que desea.

REFERENCIAS

Alfonseca, E., P. Rodriguez y D. Perez; An approach for automatic generation of adaptive hypermedia in education with multilingual knowledge discovery techniques, Computers & Education: 49(2), 495-513 (2007).        [ Links ]

Braeckman, LA., A.M. Fieuw y H.J. Van Bogaert; A web- and case-based learning program for postgraduate students in occupational medicine, International Journal of Occupational and Environmental Health: 14(1), 51-56 (2008).        [ Links ]

Dantas, A.M. y R.E. Kemm; A blended approach to active learning in a physiology laboratory-based subject facilitated by an e-learning component Advances in Physiology Education: 32(1), 65-75, (2008).        [ Links ]

Granado, E. y otros tres autores; A Web-based virtual laboratory for teaching automatic control, Computer Applications in Engineering Education: 15, 192-197 (2007).        [ Links ]

Haffner, J.F., L.F.A. Pereira y D.F. Coutinho; Computer-assisted evaluation of undergraduate courses in frequency-domain techniques for system control, IEEE Transactions on Education: 49(2), 224-235 (2006).        [ Links ]

Heymann, M. y A. Degani; Formal analysis and automatic generation of user interfaces: Approach, methodology, and an algorithm, Human Factors: 49(2), 311-330 (2007).        [ Links ]

Mendez, J.A. y otros cuatro autores; A Web-based tool for control engineering teaching, Computer Applications in Engineering Education: 14(3), 178-187 (2006).        [ Links ]

Munz, U. y otros tres autores; Motivation and learning progress through educational games, IEEE Transactions on Industrial Electronics: 54, 3141-3144 (2007).        [ Links ]

Pacurar, E.G., P. Trigano y S. Alupoaie; Knowledge base for automatic generation of online IMS LD compliant course structures, Educational Technology & Society: 9(1), 158-175 (2006).        [ Links ]

Zhuang, H.Q. y S.D. Morgera; Development of an undergraduate course - Internet-based instrumentation and control, Computers & Education: 49(2), 330-344 (2007).        [ Links ]

Creative Commons License Todo el contenido de esta revista, excepto dónde está identificado, está bajo una Licencia Creative Commons