"Plataforma para elaborar Calculadoras Educativas Remotas"


Alberto Pacheco González
Salvador Almanza García
Carlos González Arredondo


Instituto Tecnológico de Chihuahua
Av. Tecnológico 2909. Chihuahua, Chih. CP 31310
Tel/Fax (14) 13-74-74 ext. 112
email://apacheco@itch.edu.mx



RESUMEN

Se presenta una alternativa de diseño de un sistema de instrucción y educación asistida por computadora (CAI/CAE) basado en el paradigma alumno-calculadora. Se describen los componentes reutilizables para elaborar calculadoras para la resolución de problemas en asignaturas de las carreras de Ingeniería (desde simples cálculos aritméticos hasta calculadoras para álgebra de vectores, matrices, estadísticas, etc). Estos sistemas corren bajo navegadores WWW de Internet insertándolos como applets de Java en páginas HTML. Se presenta una calculadora aritmética y otra para lógica booleana como demostración del modelo.


INTRODUCCION

Internet y su aplicación más popular (killer application), el navegador WWW (Wide World Web) ofrecen toda una nueva generación de herramientas computacionales en el área educativa. Actualmente, sin embargo, son realmente pocas las herramientas WWW que han sido incorporadas en la práctica educativa: donde en teoría, con tan sólo un editor de texto, un compilador de Java y un navegador WWW, todos disponibles sin costo alguno, el alumno puede elaborar desde sus reportes escritos usando páginas HTML, hasta los más elaborados programas para la resolución de ejercicios y prácticas en clase.

Para motivar de alguna forma a que los estudiantes descubran las oportunidades que ofrecen las nuevas tecnologías de Internet, el profesor Alberto Pacheco [2,6] del propio instituto ha iniciado una campaña entre los estudiantes para que aprendan y utilizen algunas de estas herramientas. Parte de este trabajo, se basa en el modelo y software que ha sido desarrollado con la finalidad de que los alumnos elaboren sus propias calculadoras y todo mundo pueda usarlas por Internet sin necesidad de obtener copias e instalar programas. Así, por ejemplo, si un grupo de estudiantes necesita resolver matrices con números complejos, pueden contar con la asesoría y el software necesario para que con el menor esfuerzo posible puedan construir dicha calculadora.

El presente artículo describe (dentro de las limitaciones de espacio del presente artículo) los componentes que sirven de plataforma, i.e. framework, para la elaboración de dichas calculadoras basadas en Java, utilizando diagramas Use Case y diagramas de clases de la notación de análisis y diseño orientado a objetos denominada UML, i.e. Unified Modeling Language [1].


CUERPO DEL TRABAJO

Sea un salón de clases, donde el maestro elabora material de apoyo didáctico para la enseñanza, mismo que se encuentra a disposición del resto de la comunidad académica, cuya arquitectura se muestra en la fig. 1, la cual consta de un "Subsistema para la Generación y Consulta (SGC)" y "Subsistema de Acervo (SA)" de material didáctico.



Fig. 1. Arquitectura de un Sistema de Acervo de Material Didáctico.

Observe que este sistema no necesariamente requiere el uso de una computadora. Por ejemplo: el maestro elabora material en acetatos con un marcador en el proceso "Generación", los entrega al bibliotecario, el cual registra y almacena en una carpeta dentro de un archivero del "Acervo". Posteriormente, tanto alumnos como maestros, realizan "Consultas" del material en acervo a cargo del bibliotecario.










Nótese que el usuario permanece ajeno al proceso que sigue el bibliotecario para clasificar, registrar, buscar y prestar material didáctico.

Si deseamos facilitar el acceso remoto y automatizado del material en acervo, i.e. vía Internet, será necesario brindar una computadora con enlace a Internet a maestros y alumnos, y tendremos lo siguiente:



Fig. 2. Sistema Computacional para Generar y Consultar Material Didáctico por Internet.

Observe que el "servidor WWW" toma el lugar y las responsabilidades del bibliotecario. Si no tenemos reestricciones de acceso y préstamo tendremos el esquema más simple: el usuario solicita un material (página HTML) y el servidor se encarga de enviar al usuario una copia "fiel" de material didáctico basado en textos, imágenes, sonidos e incluso programas!!

Precisamente, la plataforma propuesta para “calculadoras” didácticas se basa en la capacidad de correr programas en navegadores WWW, es decir, usando páginas HTML con applets de Java.

Dicha plataforma proporciona una serie de clases de Java que colaboran estrechamente entre si como lo ilustra el diagrama de clases de la figura 3.



Fig. 3. Diagrama de clases del framework para calculadoras.


Para la elaboración de dichas clases se usaron las facilidades que ofrece el compilador de Java JDK 1.0.2 (no se requiere ninguna librería comercial), en particular las clases: Vector, Hashtable y Stack del paquete java.util, que junto con las clases elaboradas sirven de base para articular un intérprete para expresiones, e.g. clases Parser, Interprete y Traductor. Dicho intérprete es capaz de reutilizarse y extenderse para evaluar diferentes tipos de expresiones, e.g. aritméticas, lógicas, de matrices, etc.

Por ejemplo, para elaborar la calculadora de lógica booleana, i.e. "LogiCalc" [2], se derivaron a partir de las clases "Parser", "Interprete" y "Traductor" (fig. 3) las subclases "LogiParser", "LogiInter" y "LogiTrad" respectivamente (algo así como 200 líneas de código de Java).

Además, la plataforma cuenta con la clase "AppletCalculadora" para elaborar una interfaz de usuario básica, tratando de modularizar siguiendo un patrón de diseño tipo "Mediador-Colega" [3]. La figura 4 describe los componentes de la interfaz (PIH) y del dominio del problema (PDC) [4], para la calculadora "LogiCalc" (la cual consta de otras 200 líneas de código).




Fig. 4. Patrón de Diseño Mediador aplicado a la interfaz de usuario.

Una vez hechos los componentes de la calculadora, se edita una página HTML que puede contener información sobre el tema, ejemplos, ejercicios, ayuda y desde luego, la calculadora adecuada, insertando el siguiente código HTML:


        <applet code=LogiCalc.class
       width=250 height=350></applet> 

Finalmente, se transfiere el código compilado de las clases hechas en Java y las páginas HTML al servidor WWW, para que cualquier persona con un navegador WWW pueda consultar y usar la calculadora insertada dentro de la página consultada probablemente para resolver los ejercicios de clase contenidos dentro de la página misma. Las figuras 5 y 6 ilustran cómo aparecen en un navegador WWW la calculadora lógica y aritmética respectivamente.












Fig. 5. Applet de la Calculadora de Lógica Booleana.




Fig. 6. Applet de la Calculadora Aritmética.



CONCLUSIONES

Actualmente se cuenta con una plataforma compuesta por una colección de clases de Java que permite, con un mínimo de programación, elaborar "Calculadoras Educativas Remotas (CER)" que habilitan a que el estudiante explore, experimente y aprenda por sí sólo, es decir, sea un actor (activo y participativo) del proceso de aprendizaje.

El material didáctico y los ejercicios de clase podrán, de esta forma, incluir su propia calculadora "CER", la cual podrá consultarse práctivamente desde cualquier lugar (con acceso a Internet) con cualquier navegador WWW (que soporte Java) en cualquier tipo de computadora (PC 286-586, Apple, Workstation) usando cualquier sistema operativo moderno.

Desde luego, este primer prototipo es la semilla inicial que siguiendo un espíritu "Open Software" [5], es susceptible de crecer y mejorarse enormemente con la colaboración de la misma comunidad académica a través de su utilización práctica que puede contribuir sugiriendo mejoras y reportando bugs [6], pero sobretodo, puede extenderse mediante la participación entusiasta de programadores que al desarrollar su propia calculadora en base a esta plataforma, contribuyan a la comunidad con una completa disposición de sus calculadoras. Dicha comunidad se espera continue usando y mejorando el material así acrecentado y perfeccionado, para con el tiempo, conformar una verdadera biblioteca con acervo de material didáctico para las carreras de Ingeniería que sería prácticamente gratuito si se logra la "masa crítica", es decir, una comunidad proactiva, propositiva y consciente de los beneficios que aporta la labor voluntaria, responsable y ética, cuyo mejor ejemplo lo constituyen precisamente las ramas estudiantiles de la IEEE presentes en este foro.

REFERENCIAS

[1] Sinan Si Alhir "UML in a Nutshell," O'Reilly, 1998.

[2] Consulte "LogiCalc" y "NumCalc" en Internet.

[3] Gamma E et al "Design Patterns Elements of Reusable Object-Oriented Software," Addison-Wesley, 1994, p 273.

[4] Coad P et al "Object Models: Strategies, Patterns, and Applications," Prentice-Hall, 1995.

[5] Lawrence DC "InterNetNews Server: Inside An Open-Source Project," IEEE Internet Computing, Sep-Oct 98, pp 49-52.

[6] Comentarios y Sugerencias vía e-mail://apacheco@itch.edu.mx