Universidad Cooperativa de Colombia – Cali

Ingeniería de Sistemas

Área de Investigación en Computación Gráfica e Informática Educativa

Borrador de Propuesta de Proyecto de Investigación:

”Modelo Educativo Computacional para Apoyar el Proceso de

Enseñanza–Aprendizaje en cursos de la Universidad Virtual de la UCC”.

Por Humberto Mazuera Párraga

Septiembre 23 de 2003

 

“La enseñanza tradicional induce en los estudiantes, la idea de que las matemáticas están referidas a un conjunto de expresiones simbólicas desprovistas de conexión con cualquier fragmento de su conocimiento. La consecuencia natural de esta idea es que el conocimiento matemático se reduce a un conjunto de destrezas para manipular símbolos que, a su vez, permiten la transformación de una expresión simbólica en otra. Y eso es todo. Desde luego, esta es una concepción muy pobre de las matemáticas, que hay que modificar a través de los procesos educativos. Nos proponemos mostrar cómo un entorno computacional puede servir como principio orientador para lograr las modificaciones deseadas en relación a las concepciones matemáticas de los estudiantes. “

Luis Moreno Armella, Guillermina Waldegg en su FUNDAMENTACIÓN COGNITIVA DEL CURRÍCULO DE MATEMÁTICAS. Centro de Investigación y Estudios Avanzados, México.

 

Contenido

 

Planteamiento del problema

Hipótesis

Objetivos

Justificación

Marco Teórico

Proceso de Enseñanza – aprendizaje

Ingeniería del Conocimiento

Sistemas Tutoriales Inteligentes

Ingeniería de Software Educativo

Courseware

Computación Gráfica

OpenGL

Perl

Lenguaje Unificado de Modelaje

The Virtual Reality Modeling Language

Sistema de Información Geográfica

Metodología de la Investigación

Bibliografía.

 

 

Planteamiento del Problema

 

Actualmente existen muchas aplicaciones, en diversos campos de la ingeniería e investigación científica, que demandan una gran cantidad de recursos computacionales. Entre estas aplicaciones cabe destacar, debido a su gran importancia a nivel científico, social y económico, la computación gráfica, con aplicaciones en el diseño asistido por computador (CAD) de circuitos y componentes integrados, moldes y prototipos industriales, simulaciones de procesos industriales y físicos, , animación, televisión, multimedia, juegos, visualización de campos vectoriales, fundamental en aeronáutica, dinámica de fluidos, modelos climáticos, sistemas de información geográfica y, en general, simulaciones en computación científica.

De otro lado la enseñanza en el ámbito universitario debe ser dirigida a proporcionarle al estudiante la formación de un criterio analítico que le permita tomar decisiones lo más acertadas y oportunas posibles. Lo ideal de la educación es el lograr que los estudiantes entiendan lo que hay más allá de los hechos, que puedan resolver problemas distintos a los estrictamente enseñados, adquieran la capacidad de deducir y plantear sus propios esquemas para inferir sobre otras situaciones, en otras palabras que trabajen ya no solo con datos, ni información, sino con conocimiento. Esto se resume en el popular “Aprender a Aprender”

Al fracaso de la educación tradicional se han atribuido muchas razones: el currículo no tiene relación con la vida real de los alumnos, los docentes no están bien preparados, los estudiantes carecen de conocimientos básicos, falta individualización y muchas otras. El cambio que requiere con urgencia la educación no se dará apoyando las labores usuales de la educación, sino cambiando sus cimientos y volviendo a pensar la pedagogía. Hoy, el reto de la educación es aprovechar los nuevos medios (vídeo, audio, computadores, inteligencia artificial, realidad virtual, etc.) para atraer al estudiante y permitirle la construcción de su conocimiento.

Dentro de la enseñanza de los lenguajes de programación tenemos como objetivos generales el conseguir que los alumnos desarrollen sus habilidades, y adquieran los conocimientos necesarios, para desarrollar sistemas informáticos los cuales resuelvan problemas reales y específicamente para este caso en el desarrollo de aplicaciones de Computación Gráfica por medio de uno, Una de las actividades más comunes de un profesor de lenguajes de programación, especialmente en el ambiente de un laboratorio de cómputo, consisten en la supervisión y asesoría al alumno directamente sobre los programas que está realizando como ejercicio, en la computadora. Esta actividad puede considerarse como benéfica, pues permite que el profesor se adapte a las necesidades de cada uno, detectando los puntos que no se han entendido así como los problemas a los que el alumno personalmente se enfrenta en el aprendizaje. Además, las experiencias y observaciones que el profesor encuentra en este proceso de asesoría, le permiten resaltar los puntos importantes y le proporcionan una retroalimentación con la que puede controlar mejor el desarrollo de su clase, adaptándola a las circunstancias.

Desdichadamente, esta actividad puede verse limitada por tiempo, espacio y recursos. Entre los problemas y limitaciones que se observan al analizar la actividad de asesoría en la programación, descrita en el párrafo anterior, están las siguientes:

·         La atención del profesor está dividida entre muchos alumnos; por lo que aún si puede asesorar a cada uno, no siempre bastará el tiempo que dedica a un alumno en particular para resolver todas sus dudas; si bien todos los alumnos apreciarán y se beneficiarán por la asesoría, no a todos les bastará la información recibida de ella. Inclusive si un alumno resuelve todas sus dudas, con más tiempo el profesor tendría la posibilidad de ampliar el conocimiento que le transmite. Este problema se agudiza cuando el grupo es grande.

·         Cuando el alumno estudia por su cuenta, no tiene al profesor disponible para dicha asesoría.

·         Es difícil la asesoría remota, pues aunque el profesor esté disponible a través de medios como el teléfono o el correo electrónico, no tiene el acceso a toda la información, por ejemplo al código fuente o a la salida de errores dada por el programa, como puede tenerlo el alumno.

·         Si un laboratorio no cuenta con suficientes máquinas, es posible que los alumnos lo usen en diversos horarios; por lo que el profesor no podrá asesorarlos a todos en el momento que lo requieran.

·         Cuando el alumno realiza sus tareas o proyectos de programación, normalmente no es durante la hora de clase. Por ello, no siempre puede resolver sus dudas en el momento que surgen, sino que suele existir un lapso de tiempo desperdiciado entre el momento que surge la duda y cuando el profesor está disponible para resolverla. Por otro lado, si el alumno no registra la duda, puede más tarde olvidarla y dejarla pendiente, con lo que no se consiguen completamente los objetivos del proceso de enseñanza-aprendizaje.

Entre las consecuencias que el problema puede tener, se mencionarán las siguientes:

·         Baja en el desempeño de los alumnos.

·         Limitaciones al nivel académico de los profesores que imparten materias posteriormente. Es decir, las fallas en el aprendizaje en un curso, incidirán en problemas en el aprendizaje durante cursos posteriores, ligados con el primero.

·         Desperdicio del tiempo del profesor, resolviendo repetitivamente las mismas dudas conceptuales a distintos alumnos, durante distintos tiempos, algunas de ellas ya mencionadas en clase magistral; tiempo que podría ser aprovechado para ampliar los conocimientos que se cubren, agregar mayor número de ejemplos, y otras diversas actividades académicas.

Para reducir estas limitantes, se propone atacar al problema siguiente: ¿Cómo conseguir reducir o eliminar las limitantes de tiempo, espacio y recursos del proceso de asesoría del profesor al alumno durante la práctica de programación, apoyados en medios computacionales?  Al resolver el problema de las limitantes en la asesoría de programación, se podrán obtener entre otros beneficios los siguientes, que se ocuparán como objetivos de este trabajo:

·         Apoyo al trabajo del profesor, reduciendo su carga de trabajo repetitivo y permitiéndole así ampliar el tiempo que dedica a las actividades que requieren mayor experiencia, inteligencia o creatividad.

·         El alumno mejorará su aprendizaje, al resolver sus dudas, especialmente aquellas comunes en el aprendizaje de la materia; y lo conseguirá en un tiempo más oportuno.

·         Se apoyará al proyecto de Universidad Virtual que la Universidad Cooperativa de Colombia tiene como compromiso ineludible ante el desarrollo futuro, al no requerir de la presencia o tiempo del profesor, en las labores relativamente mecánicas de explicaciones teóricas y que el docente ha venido impartiendo en espacios magistrales.

·         Se podrá llevar un registro más completo de la evolución del alumno por parte del maestro.

·         Las materias impartidas podrán verse enriquecidas y aumentar su nivel, al liberar al profesor de actividades repetitivas.

·         La solución podrá generalizarse a otras asignaturas.

Los principales parámetros que nos permitirán distinguir las alternativas a escoger para el desarrollo del proyecto -en el contexto que nos encontramos- son las siguientes:

Esta se considera que será una aplicación de la Inteligencia Artificial, siguiendo el enfoque de Minsky, según el cual entra dentro de esta disciplina todo sistema computacional que realiza funciones que requieran inteligencia, de ser llevadas a cabo por seres humanos. Además se encuentra dentro de un contexto mayor, el de construir un Sistema Tutorial Inteligente, STI,  el cual cuente con  modelos apropiados de la Ingeniería del Conocimiento, para dirigir el comportamiento del dicente y convertirlo en un verdadero proceso de aprendizaje significativo.

Con el desarrollo del Sistema Tutorial propuesto en este proyecto, los alumnos de la Universidad Cooperativa de Colombia de Cali que cursen las asignaturas que se vayan implementando, contarán con una herramienta que les facilite el proceso de aprendizaje de las mismas; y los alumnos que ya la cursaron, podrán contar con un material de calidad para futuras consultas. Este sistema también será muy adecuado para estudiantes virtuales(distancia).  El sistema estará en capacidad de guiarlo a través de los objetivos a cubrir en la asignatura, brindará, información teórica, nutrida con gráficos, animaciones y ejercicios modelos para tratar de que el estudiante pueda hacer las correspondientes abstracciones sobre los modelos a proponer y entender los correspondientes contenidos.

Este proyecto será desarrollado como un proyecto de investigación colaborativo y relacionado con las asignaturas de los planes de estudios de la Facultad de Ingeniería de la Universidad Cooperativa de Colombia. Adicionalmente se abre vía para trabajos posteriores en el área de Sistemas Tutoriales Inteligentes y también para elaborar una propuesta para un proyecto de desarrollo de un courseware el cual integre las fortalezas del mismo y sea verdaderamente un modelo virtual. Estos temas darán para muchos proyectos de tesis de estudiantes de pre y postgrado, inclusive para estudiantes de otras facultades.

 

Hipótesis

 

Con el trabajo de esta investigación se pretende demostrar la siguiente hipótesis:

Es posible realizar un Modelo Educativo Computarizado como alternativa viable para apoyar el proceso de enseñanza-aprendizaje, tomando el lugar del profesor en el momento en que este imparte clases magistrales y de esta forma maximizar el tiempo que este emplea en atender personalmente a cada dicente.

 

Objetivos

 

El objetivo general de la investigación propuesta, será el siguiente:

Implementar e implantar una arquitectura base, sobre la cual pueda construirse fácil y eficientemente un MEC  el cual apoye los procesos repetitivos de asesoría de la enseñanza tradicional, automatizándolos; y comprobar su funcionalidad, construyendo sobre dicha arquitectura un asesor que apoye la enseñanza de las asignaturas de la Universidad Virtual de la UCC.

Para llegar a este objetivo, se deben balancear los objetivos académicos, establecidos por el docente, con los aspectos computacionales y comunicacionales que determinarán las posibilidades de concreción de los mismos. La importancia de los aspectos comunicacionales del software tradicionalmente ha sido soslayada por los especialistas en computación. La inversión de tiempo y recursos en tales aspectos se solía considerar como "un frívolo derroche", señala Nicholas Negroponte en su libro "Ser Digital", puesto que "los ciclos de computación eran muy valiosos y había que dedicarlos al problema, no a la persona." No se debe perder de vista que el problema principal a abordar en este tipo de proyectos, no es la construcción de un software en sí, sino el proceso de enseñanza-aprendizaje al que tal construcción apoyará.

Como bien escribe Hernan Escobedo, David en la Memorias del Primer Congreso Colombiano de Informática Educativa: “El uso instruccional del computador reproduce los viejos esquemas de la instrucción programada en cualquiera de sus modalidades. Por el tipo de postulados epistemológicos de su ciencia base, le es imposible a esta tecnología trazarse como objetivo desarrollar la inteligencia. El uso interactivo del computador hace parte de una tecnología educativa derivada del estructuralismo genético de Piaget. Esta ciencia base ha desarrollado los instrumentos conceptuales y epistemológicos necesarios para darle significado empírico a enunciados acerca del desarrollo de la inteligencia."

 

De esta suerte deberemos cumplir ciertos objetivos específicos, a un corto, mediano y largo plazo:

·         Búsqueda de un modelo teórico de los procesos de enseñanza-aprendizaje.

·         Diseñar la arquitectura requerida para el asesor automatizado o tutorial.

·         Selección detallada de las herramientas de las distintas áreas de las Ciencias Computacionales (Computación Gráfica, Diseño de Interfase, Algoritmia y estructuras de Datos, Programación Orientada a Objetos) apropiadas para implementar la arquitectura.

·         Investigación sobre las herramientas de otras disciplinas (Psicología, Pedagogía, Comunicación, Diseño Gráfico, etc) que pueden complementar los modelos teóricos y la aplicación del tutor.

·         Escritura de guiones por parte de los profesores expertos en cada asignatura.

·         Construir prototipos, de cada uno de los cursos por grupos de estudiantes en proyecto de grado.

·         Implantación de los prototipos del tutor para su validación –contrastación- y comprobación del aprendizaje significativo por parte de los alumnos. Evaluación estadística de los resultados de los mismos. Evaluación de los cambios ocurridos en el desempeño del estudiante y la impartición del curso.

·         Publicación de reportes o avances de investigación, para su evaluación interna y externa.

·         Descripción y documentación del uso de la arquitectura, dirigida a profesores.

·         Al sistema piloto desarrollado se le dotará de inteligencia para esto se utilizaran técnicas de Sistemas Expertos de IA y se convertirá el sistema en un verdadero Sistema Tutorial Inteligente.

·         Discutir las ventajas del uso de la computadora en la educación y de como las técnicas de la Computación Gráfica se pueden aplicar para el desarrollo de materiales educativos computarizados.

·         Contribuir al fortalecimiento de los programas de pregrado y postgrado en la facultad de Ingeniería de la Universidad Cooperativa en las áreas relacionadas con la Computación Gráfica y la Informática Educativa.

·         Presentación de nuestro Modelo Educativo Computarizado en correspondiente Congreso de Informática Educativa.

 

Justificación

 

Seria muy apropiado que el instructor tuviera la oportunidad de supervisar y asesorar directamente a cada uno de sus alumnos, ya que permitiría a este detectar los puntos que no se han entendido, así como los problemas a los que el alumno se enfrenta individualmente acerca de la materia. Desafortunadamente esto es imposible ya que se ve limitada por tiempo, espacio y recursos.

 

Generalmente se pueden usar diferentes medios para resolver dudas acerca de cualquier problema, como lo son los libros y los tutoriales, estos contienen conocimiento y algunas veces la solución de los problemas más comunes que hay. Sin embargo, este medio tiene la desventaja de ser pasivo y estático, en vez de ser activo; el alumno debe reconocer el problema y tomar la decisión de buscar su solución en estos medios, además de realizar la búsqueda.

 

En el caso del uso de manuales de multimedia, se observa que es más interactivo y que mejora la retención del conocimiento dado que involucra a más sentidos, pero este sigue siendo un medio pasivo, ya que regularmente la información se da hacia una sola dirección y no permite al alumno resolver sus dudas.

 

Pero si combinamos algunas técnicas de la inteligencia artificial, tales como reglas o heurísticas, sacadas de la experiencia del profesor, con los tutoriales de multimedia ya mencionados, surgirían  los sistemas tutoriales inteligentes, los cuales no son mas que sistemas expertos que contienen el conocimiento del profesor acerca de la materia.

 

Adicionalmente se tendrán las siguientes ventajas:

 

·        Apoyo al profesor, al eliminar procesos repetitivos, como son las explicaciones teóricas que se hacen de forma grupal, mejorando el tiempo en que se desarrolla la clase, pudiendo tener más avances en cada sesión.

·        Se facilitará el aprendizaje de la computación gráfica, al poder consultar el tutorial en cualquier momento, cuando tenga dudas sobre los conceptos y algoritmos del tema.

·        El alumno podrá mejorar en sus estudios de computación gráfica, al poder resolver sus dudas con mayor facilidad y en menor tiempo.

·        Las clases se volverán más dinámicas, al tener la participación individual de cada alumno en el momento de interactuar con la computadora.

Un problema de la solución propuesta, es que no corrige, no tiene capacidades inteligentes para determinar y resaltar errores y problemas, ni proporciona recomendaciones sobre buenos hábitos de programación. Podemos decir que esta solución ataca los problemas de falta de conocimiento, dando el elemento particular e inicial del ambiente de aprendizaje; pero no ayuda al alumno en su desarrollo de habilidades. A pesar de que la reacción del programa depende de la acción del alumno -por medio de un menú de hipertexto- todavía no es un sistema activo: no toma la iniciativa de dar recomendaciones al alumno, no se adapta a distintos usuarios, ni reconoce los patrones de comportamiento de los mismos.

Cuando el profesor no está disponible, una opción es que los alumnos cooperen en la solución de los problemas. Es decir, los alumnos se convierten en asesores de unos con otros. Esto amplía el alcance de la asesoría, fuera de clase, durante el tiempo de programación. Sin embargo, está limitado por factores psicológicos, tales como el trabajo bajo presión, la falta de comunicación entre los alumnos, y la falta de una dirección de asesoría para el equipo. Además, hay que considerar que normalmente ninguno de los alumnos es experto en la materia, ni se ha especializado, como ocurre (normalmente) con el profesor; por lo que no tiene el mismo conocimiento o profundidad para llegar a una solución. 

 

Marco Teórico

 

Proceso de Enseñanza-Aprendizaje

 

 El aprendizaje es un proceso que lleva a cabo el sujeto que interactúa con un objeto y lo relaciona con sus experiencias previas, aprovechando su capacidad de conocer para reestructurar sus esquemas mentales, enriqueciéndolos con la incorporación de un nuevo material que pasa a formar parte del sujeto que conoce. El objeto es aprendido de modo diferente por cada sujeto, porque las experiencias y las capacidades de cada individuo presentan características únicas.

 

El aprendizaje no se agota en el proceso mental, pues abarca también la adquisición de destrezas, hábitos y habilidades, así como actitudes y valoraciones que acompañan el proceso y que ocurren en los tres ámbitos: el personal, el escolar y el social. El personal abarca el lenguaje, la reflexión y el pensamiento, que hacen del individuo un ser distinto a los demás.

 

El aprendizaje escolar se relaciona con los contenidos de los planes de estudio; y el aprendizaje social al conjunto de normas, reglas, valores y formas de relación entre los individuos de un grupo. El aprendizaje en estos tres ámbitos sólo puede separarse para fines de estudio, pues se mezclan continuamente en la vida cotidiana.

 

El aprendizaje que puede enriquecer a la persona es el que establece una relación entre el nuevo material susceptible de ser aprendido y los conocimientos previos del sujeto. Cuando se cumple esta condición, el sujeto le encuentra sentido a lo que estudia, lo entiende y puede lograr entonces un aprendizaje significativo.

 

Para que el aprendizaje resulte significativo debe tener, por parte del objeto, una organización lógica que lo haga comprensible y, por parte del sujeto, elementos y antecedentes que le permitan aprenderlo. Además, el sujeto debe saber aplicar lo aprendido cuando las circunstancias así lo exijan, es decir, el aprendizaje debe ser funcional. Este aprendizaje se logra mediante necesidades que el alumno tenga, pero sobre todo, que se relacionen con lo que aprende y con su propia experiencia.

 

El aprendizaje que educa exige necesidad del sujeto, él es quien debe realizar el proceso de relacionar con sus experiencias previas el objeto, el nuevo material, para incorporarlo a sus estructuras mentales, a sus hábitos, necesidades, actitudes y valores, y debe tener razones para hacerlo (necesidades). Cuando lo que es necesario aprender no se relaciona con los intereses y necesidades del sujeto, éste no va a establecer las relaciones entre sus experiencias previas y el objeto, y el proceso de aprendizaje no se llevará a cabo.

 

En su clase, el profesor dicta su clase, contesta las dudas de los alumnos, estimula su participación con cuestionamientos al grupo y encarga al alumno trabajos, tareas y proyectos para realizarse fuera de clase, ya sea en forma individual o grupal. Por su parte, el alumno toma notas, reflexiona sobre lo que el profesor expone, participa en los diálogos de la clase y pide al profesor que aclare los conceptos no comprendidos. Se puede encontrar muchos buenos profesores que, usando básicamente este modelo, incorporan a su curso actividades de aprendizaje tales como casos, proyectos o simulaciones que hacen que el alumno, durante el proceso educativo, adquiera ciertas habilidades, actitudes y valores, como:  Responsabilidad, cultura del trabajo, capacidad de análisis, síntesis y evaluación.

 

Sin embargo, al no estar explícitos en el proceso las habilidades, actitudes y valores que se desea desarrollar, su adquisición por parte de los alumnos sucede de manera no programada y no estructurada y puede ocurrir que algunos estudiantes logren desarrollarlos y otros no. De hecho, la adquisición de habilidades, actitudes y valores parece divorciarse de la adquisición de conocimientos no obstante ser parte central e indispensable de ésta. Por otra parte, el profesor rara vez evalúa si el alumno ha logrado estas habilidades, actitudes y valores.

 

Así, el proceso educativo puede desarrollar la habilidad de razonamiento o la capacidad de trabajo en grupo, pero estas habilidades, actitudes y valores no son en sí mismos objetos de aprendizaje y el profesor raras veces especifica las técnicas y mecanismos para que el estudiante llegue a adquirirlas.

 

Por otra parte, el proceso está centrado totalmente en el profesor, sobre quien recae la responsabilidad total del éxito o fracaso del proceso que se ha diseñado para el aprendizaje del alumno.  Este modelo tradicional refuerza un esquema en el cual el profesor se constituye en el eje del proceso de enseñanza - aprendizaje. El decide casi por completo qué y cómo deberá aprender el alumno y evalúa cuánto ha aprendido, mientras que éste participa solamente en la ejecución de las actividades seleccionadas por el profesor, lo que muchas veces hace del alumno una persona pasiva que espera recibir todo conocimiento del profesor.  Para no ser injustos debemos notar que este proceso tiene también muchos elementos positivos: el profesor puede ser un magnífico expositor, el caso escogido puede ser interesante y didáctico y el examen puede ser bien diseñado y producir una evaluación acertada de los conocimientos del alumno y en conjunto producir un muy buen aprendizaje por parte de los alumnos, pero es importante notar que:

 

·        El proceso educativo (actividades de enseñanza-aprendizaje) está en la mayor parte de los casos concentrado en la exposición del maestro.

·        Sólo el conocimiento es evaluado.

·        Aunque es obvio que se están desarrollando habilidades, actitudes y valores, este proceso no es intencionado ni programado y no se evalúa su logro.

La Pedagogía influye fuertemente en el desarrollo de sistemas de enseñanza, los cuales deben basar su modelo psicológico y buena parte de la información en el modelo del estudiante, así como las estrategias para enseñar efectivamente, en teorías de instrucción tales como las de Piaget, Skinner y Brunner.  La Psicología interviene en el establecimiento de modelos cognitivos, necesarios para el entendimiento y aplicación apropiadas de los modelos de enseñanza citados. En esta área se a destacado la aplicación de la teoría de Piaget, entre otras razones por la influencia de Seymour Papert, discípulo suyo, con el desarrollo del lenguaje educativo Logo y su participación en el Media-Lab del MIT. Por esto, como escribe Alvaro Galvis Panqueva: “aprender por uno mismo o ayudar a otros a que aprendan no es algo innato, ni se adquiere por el simple hecho de asistir durante una buena parte de la vida a ambientes de enseñanza - aprendizaje. Hace falta entender y aplicar teorías de aprendizaje humano que den sustento al diseño de ambientes de aprendizaje efectivos.”

A tener en cuenta son algunos principios prácticos para la creación y presentación del material de enseñanza:

·         Inducción que motive al alumno a aprender.

·         Comunicación efectiva, donde se incluye la sencillez en los términos, el uso apropiado de tecnicismos, y la capacidad de parafraseo.

·         El uso efectivo de apoyos visuales, con un propósito definido, y apareciendo en el momento apropiado.

·         La variación del estímulo.

·         La organización lógica (que incluye los objetivos, metodología y control del tiempo), integración y manejo de preguntas, tanto las que evalúan el desempeño como las que deberán contestarse a los alumnos.

La ingeniería del conocimiento (IC)

 

La IC es un conjunto de conocimientos y técnicas que permiten aplicar el saber científico a la utilización del conocimiento (entendimiento,  inteligencia o razón natural). Esta disciplina  moderna puede ayudar a construir  aplicaciones  y  sistemas orientados al aprendizaje  apoyándonos con  metodologías instruccionales y con tecnologías de computación y de telecomunicaciones. Haciendo uso de  las técnicas  y  herramientas de  la IC podemos diseñar, desarrollar, producir  y administrar  los ambientes de aprendizaje que demandan  actualmente  nuestras empresas e instituciones educativas complementando de esta manera a la modalidad presencial ya en uso. 

 

La IC posibilita la construcción de productos del aprendizaje tales como cursos, talleres, programas educativos, etc.; de manera interactiva, no lineal y a distancia; en las  modalidades semi-virtual, virtual y colaborativa. Entre las metodologías con que cuenta la IC  se destaca CommonKADS como el estándar europeo para el desarrollo de sistemas basados en el conocimiento.

 

Sistemas Tutoriales Inteligentes

 

Si combinamos algunas técnicas de la inteligencia artificial, tales como reglas o heurísticas, sacadas de la experiencia del profesor, surge un nuevo concepto: los sistemas tutoriales inteligentes, o ITS por sus siglas en inglés. Estos sistemas aprovechan el conocimiento de que disponen para guiar el proceso del tutorial, y adaptarse al nivel y otras características del alumno; en general, todos contienen cuatro componentes, si bien la terminología varía según el autor:

 

Ingeniería de Software Educativo.

 

Una primera clasificación de herramientas y materiales para asistir el aprendizaje se divide en algorítmicos y heurísticos. En los materiales algorítmicos predomina el aprendizaje vía transmisión de conocimiento desde quien sabe hacia quien lo desea aprender; quien diseña la herramienta planea secuencias de actividades para conducir al estudiante; el rol de alumno es asimilar el máximo de lo que se le transmite. Por otra parte en los materiales heurísticos predomina el aprendizaje por experimentación y descubrimiento; el diseñador crea ambientes ricos en situaciones que el alumno debe explorar; el alumno debe llegar al conocimiento a partir de la experiencia, creando sus propios modelos de pensamiento, sus propias interpretaciones del mundo, las cuales puede someter a prueba con la herramienta. (Ver "Ingeniería de Software Educativo" de Alvaro Galvis Panqueba.)

 

 

Modelo sistemático para selección o desarrollo de MECs propuesto por Alvaro Galvis.

 

El diseño de un MEC está en función directa de los resultados de la etapa de análisis. La orientación y contenido del MEC se deriva de la necesidad educativa o problema que justifica el MEC, del contenido y habilidades que subyacen en esto, así como de lo que se supone que un usuario del MEC ya sabe sobre el tema; el tipo de software establece, en buena medida, una guía para el tratamiento y funciones educativas que es deseable que el MEC cumpla para satisfacer la necesidad. A partir de los resultados del análisis, es conveniente hacer explícitos los datos que caracterizan el entorno del MEC que se va a diseñar: destinatarios, área del contenido, necesidad educativa, limitaciones y recursos para los usuarios del MEC, equipo y soporte lógico que se van a utilizar.

 

El diseño educativo debe resolver los interrogantes que se refieren al alcance, contenido y tratamiento que debe ser capaz de apoyar el MEC.

 

La zona de comunicación en la que se maneja la interacción entre usuario y programa se denomina interfaz. Para especificarla, es importante determinar cómo se comunicará el usuario con el programa, estableciendo mediante qué dispositivos y usando qué códigos o mensajes (interfaz de entrada); también se hace necesario establecer cómo el programa se comunicará con el usuario, mediante qué dispositivos y valiéndose de qué códigos o mensajes (interfaz de salida).

 

Con base en las necesidades se establece qué funciones es deseable que cumpla el MEC en apoyo de sus usuarios, el profesor y los estudiantes. Entre otras cosas, un MEC puede brindarle al alumno la posibilidad de controlar la secuencia, el ritmo, la cantidad de ejercicios, de abandonar y de reiniciar. Por otra parte, un MEC puede ofrecerle al profesor la posibilidad de editar los ejercicios o las explicaciones, de llevar registro de los estudiantes que utilizan el material y del rendimiento que demuestran, de hacer análisis estadísticos sobre variables de interés, etc.

La estructura lógica que comandará la interacción entre usuario y programa deberá permitir el cumplimiento de cada una de las funciones de apoyo definidas para el MEC por tipo de usuario. Su especificación conviene hacerla modular, por tipo de usuario, y mediante refinamiento a pasos, de manera que haya niveles sucesivos de especificidad hasta que se llegue finalmente al detalle que hace operacional cada uno de los módulos que incluye el MEC. La estructura lógica deberá ser la base para formular el programa principal y cada uno de los procedimientos que requiere el MEC.

 

Finalmente, es necesario determinar de cuáles estructuras de datos es necesario disponer en memoria principal y cuáles en memoria secundaria (archivos de disco), de modo que el programa principal y los procedimientos de que se compone el MEC puedan cumplir con las funciones definidas.

 

Desde la fase de análisis, cuando se formuló el plan para efectuar el desarrollo, debieron haberse asignado los recursos humanos temporales y computacionales necesarios para todas las demás fases.

 

Tomando en cuenta esto, una vez que se dispone de un diseño debidamente documentado es posible llevar a cabo su implementación (desarrollarlo) en el tipo de computador seleccionado, usando herramientas de trabajo que permitan, a los recursos humanos asignados, cumplir con las metas en términos de tiempo y de calidad de MEC.

 

Con la prueba piloto se pretende ayudar a la depuración del MEC a partir de su utilización por una muestra representativa de los tipos destinatarios para los que se hizo y la consiguiente evaluación formativa. Para llevarla a cabo apropiadamente se requiere preparación, administración y análisis de resultados en función de buscar evidencia para saber si el MEC está o no cumpliendo con la misión para la cual fue seleccionado o desarrollado.

 

La prueba de campo de un MEC es mucho más que usarlo con toda la población objeto. Si exige hacerlo, pero no se limita a esto. En efecto, dentro del ciclo de desarrollo de un MEC hay que buscar la oportunidad de comprobar, en la vida real, que aquello que a nivel experimental parecía tener sentido, lo sigue teniendo.

 

El modelaje orientado por objetos: un medio para desarrollar MEC's: La ingeniería de software como disciplina ha evolucionado significativamente en lo que se refiere a modelos conceptuales y herramientas de trabajo, que hacen del proceso de desarrollo y mantenimiento de software una actividad cada vez menos dependiente del arte de quienes llevan a la práctica un diseño elaborado. Dentro de estos aportes se destacan los de la orientación por objetos, que cubre todo el ciclo de vida del software. Alvaro Galvis en su trabajo "Ingeniería de Software Educativo con Modelaje Orientado por Objetos: un medio para desarrollar micromundos interactivos"  integra el modelaje orientado a objetos con la metodología de propuesta por él, para enriquecer el proceso de desarrollo de MEC. Como punto de partida identifica las características que debería poseer un MEC, particularmente un Micromundo Interactivo, fruto de evaluar varias aplicaciones existentes en el mercado con este tipo de Micro mundos. En el presente trabajo utilizaremos esta metodología y su presentación formal se dará en UML.

 

Courseware

 

Los courseware son cualquier tipo de curso educativo puesto sobre un programa de software o sobre web, a través de los cuales se puede llevar adelante un curso bajo la modalidad de Educación a Distancia. Algunas de los paquetes màs conocidos : WebCT, LearningSpace, ICESE y su evolución ICESEE, TopClass, etc. Estas herramientas son un tanto experimentales, y tienen una gran cantidad de limitaciones, como por ejemplo: incapacidad de soportar reuso, falta de flexibilidad, falta de una metodología de desarrollo o de buenas recomendaciones que las respalden, etc. Además el costo de las licencias es bastantes alto. Por esa razón, es perentorio iniciar el diseño y construcción de uno de estos sistemas de software educativo.

 

Computación Gráfica

 

La Computación Gráfica nace en 1955 con SAGE (Semi-Automatic Ground Environment), una máquina creada durante la Guerra Fría por el ejército de los Estados Unidos para rastrear a las naves aéreas que ingresaban al espacio aéreo norteamericano. Esta máquina se integró a los sistemas de radar de la época para proveer la primera aplicación de computación gráfica interactiva.

 

En 1963, en el MIT (Massachussets Institute of Technology) Ivan Sutherland presentó su programa Sketchpad (“Tablero de dibujo”) inspirado en la idea de “integrar la representación numérica de un objeto con su representación gráfica, para que al manipular la representación gráfica se pudiera manipular al mismo tiempo la representación numérica.”

 

La Computación Gráfica cubre áreas muy diversas, que abarcan desde la visualización científica o ingenieril hasta el arte y el tratamiento fotográfico. Interfaces Gráficas de Usuario (GUI: Graphical User Interface), Gráficos estadísticos, Cartografía, Medicina y Ciencias Naturales, Diseño Asistido por Computadora (CAD: Computer-Aided Design), Multimedios, Informática Educativa, Entretenimiento (juegos), Arte

 

Los programas de aplicación para la Computación Gráfica se clasifican en base a diversos criterios:

·        Dimensiones:

·        Grado de control:

·        Relación lógico-temporal:

 

Tecnologías de salida: Las tecnologías utilizadas para el despliegue de las imágenes son dos: Sistemas vectoriales y sistemas de barrido.

·        Sistemas vectoriales: Desarrollados entre los años 60 y mediados de los 80, en un dispositivo de despliegue vectorial, el rayo de electrones es dirigido a la superficie de fósforo del monitor CRT (Cathode Ray Tube, tubo de rayos catódicos) en base a comandos para el trazado de líneas y puntos con coordenadas (x, y) o (x, y, z). Esta técnica se denomina rastreo aleatorio.

·        Sistemas de barrido: Desarrollados a partir de mediados de los años 70, en un dispositivo de gráficos de barrido, la imagen completa se forma a partir de un conjunto de líneas de rastreo horizontales, cada una de las cuales está compuesta de puntos independientes unos de otros. La imagen consiste entonces en una matriz de puntos (mapa de bits) cuyo tamaño se mide en base a la cantidad de filas horizontales y columnas (puntos) verticales.

 

Considerando la cantidad de memoria requerida para almacenar la imagen, los sistemas de barrido son más económicos que los sistemas vectoriales, porque en estos últimos el tamaño requerido depende del número y la complejidad de los objetos desplegados, mientras que en los primeros el tamaño es fijo y depende únicamente de la resolución empleada para el despliegue.

 

Tipos de imagen: Una imagen de computadora puede pertenecer a uno de los siguientes tipos:

·        Bitmap: (Mapa de bits) Cuando la imagen está formada por una matriz de puntos (píxeles) cada uno de ellos compuesto de uno o más bits.

·        Vectorial: Cuando la imagen está formada por elementos tales como rectas, puntos y curvas, cuyo tamaño y disposición varía de acuerdo a fórmulas y coordenadas específicas.

 

Las fotografías digitales son imágenes del tipo bitmap, como así también la mayoría de los gráficos que se usan en páginas web. Tienen la desventaja de que al modificarse su tamaño, generalmente se pierde la calidad. Por el contrario, las dimensiones de una imagen del tipo vectorial pueden modificarse sin por ello perder la calidad del tamaño original.

 

Formatos de archivos gráficos más conocidos

 

Un formato de archivo gráfico es el modelo que se usa para almacenar la información de una imagen en un archivo. Para usar una imagen en un programa de aplicación, éste debe reconocer la estructura del archivo donde se encuentra almacenada la imagen, es decir, la aplicación debe soportar el formato del archivo. Existe una gran cantidad de formatos de archivos para gráficos, algunos de los cuales ya se encuentran en desuso. Entre los más utilizados hoy en día podemos mencionar a los siguientes:

 

·        BMP: (contracción de bitmap) Creado por Microsoft, es el formato nativo para gráficos bitmap en Windows. No utiliza compresión, por lo tanto almacena la información de la imagen de manera ineficiente pero exacta.

·        GIF: (Graphics Interchange Format, formato de intercambio para gráficos) Formato bitmap propietario, creado por Unisys, muy popular y adecuado para el almacenamiento de imágenes con pocos colores, como logotipos, títulos o fotos sencillas. Permite representar colores de entre una paleta de 256 como máximo. Uno de estos colores puede ser definido como transparente, y el área pintada con este color revelará lo que hay por debajo de la imagen. Otra ventaja del formato GIF es que puede almacenar varias imágenes en un solo archivo, lo que permite la creación de animaciones en base a cuadros temporizados.

·        JPEG: (Joint Photographic Experts Group, unión de expertos en fotografía) Formato creado por el comité del mismo nombre que permite la compresión de imágenes fotográficas a una gran profundidad de colores (millones de ellos). Esto lo convierte en un formato más adecuado que el GIF para el almacenamiento de fotografías. Como extensión del nombre de archivo se usa, indistintamente, JPG o JPEG (a veces JPE).

·        PNG: (Portable Network Graphics) Formato de archivo abierto, relativamente nuevo, diseñado para reemplazar al GIF en todo menos en lo que se refiere a animaciones. Ofrece transparencia variable (alpha channels), corrección de gamma (control de brillo entre diferentes plataformas) y un grado ligeramente mayor de compresión que el GIF.

·        WMF: (Windows Metafile) Formato del tipo vectorial, estándar en Windows.

·        PSD: (Photoshop Document) Formato nativo de Adobe Photoshop, programa estándar de facto en la edición de imágenes. Permite el almacenamiento de múltiples capas, cada una de las cuales puede contener una imagen del tipo bitmap o vectorial.

 

OpenGL

OpenGL es sin lugar a dudas la API que prevalece en la industria para desarrollar aplicaciones gráficas 2D y 3D. Se le puede considerar el sucesor a la formidable IRIS GL-library de Silicon Graphics que hizo tan popular las estaciones de trabajo SGI como plataforma predilecta para desarrollo científico, de ingeniería y de efectos especiales. SGI puso en OpenGL una buena parte de su pericia para hacer una API para el futuro fácil de usar, intuitiva, portable y adecuada a las redes. Varios fabricantes de software y hardware tomaron parte en la especificación de OpenGL y permanecen detrás suyo. Gracias a esto podemos decir que las aplicaciones OpenGL pueden ser fácilmente portadas a virtualmente cualquier plataforma del mercado. La Architectural Review Board (Junta de Revisión de Arquitecturas) gobierna sobre OpenGL, sus especificaciones, acepta o rechaza cambios y propone tests de conformidad.

Por encima de todo, OpenGL es una biblioteca estilizada de trazado de gráficos de alto rendimiento, hay varias tarjetas gráficas aceleradoras y especializadas en 3D que implementan primitivas OpenGL a nivel hardware.

En OpenGL solo se encuentran primitivas de objetos geométricos: puntos, líneas y polígonos. El desarrollador tiene que construir sus propios modelos basándose en unas pocas y simples primitivas. Hay bibliotecas relacionadas que proveen de modelos más complejos, y cualquier usuario puede construir las suyas. En el presente proyecto se utilizará la interface C para OpenGL porque es la más popular. Sin embargo hay otros bindings disponibles para : FORTRAN, C++, Ada y Java . Algunas de las características que OpenGL implementa son las siguientes:

·         Primitivas geométricas Permiten construir descripciones matemáticas de objetos. Las actuales primitivas son: puntos, líneas, polígonos, imágenes y bitmaps.

·         Codificación del Color en modos RGBA (Rojo-Verde-Azul-Alfa) o de color indexado.

·         Visualización y Modelado que permite disponer objetos en una escena tridimensional, mover nuestra cámara por el espacio y seleccionar la posición deseada para visualizar la escena de composición.

·         Mapeado de texturas que ayuda a traer realismo a los modelos por medio del dibujo de superficies realistas en las caras de modelos poligonales.

·         La iluminación de materiales es una parte indispensable de cualquier gráfico 3D. Provee comandos para calcular el color de cualquier punto dadas las propiedades del material y las fuentes de luz en la habitación.

·         El doble buffering ayuda a eliminar el parpadeo de las animaciones. Cada fotograma consecutivo en una animación se construye en un buffer separado de memoria y mostrado solo cuando está completo.

·         El Anti-alizado reduce los bordes escalonados en las líneas dibujadas sobre una pantalla. Los bordes escalonados aparecen a menudo cuando las líneas se dibujan con baja resolución. El anti-alizado es una ténica común en gráficos que modifica el color y la intensidad de los pixels cercanos a la línea para reducir el zig-zag artificial.

·         El sombreado Gouraud es una técnica usada para aplicar sombreados suaves a un objeto 3D y producir una sutil diferencia de color por sus superficies.

·         El Z-buffering mantiene registros de la coordenada Z de un objeto 3D. El Z-buffer se usa para registrar la proximidad de un objeto al observador, y es también crucial para el eliminado de superfícies ocultas.

·         Efectos atmosféricos como la niebla, el humo y las neblinas hacen que las imágenes producidas por ordenador sean más realistas. Sin efectos atmosféricos las imágenes aparecen a veces irrealmente nítidas y bien definidas. Niebla es un término que en realidad describe un algoritmo que simula neblinas, brumas, humo o polución o simplemente el efecto del aire, añadiendo profundidad a las imágenes.

·         El Alpha blending usa el valor Alfa (valor de material difuso) del código RGBA, y permite combinar el color del fragmento que se procesa con el del pixel que ya está en el buffer.

·         Los planos de plantilla permiten restringir el trazado a ciertas regiones de la pantalla.

·         Las listas de Display permiten almacenar comandos de dibujo en una lista para un trazado posterior, cuando estas se usan apropiadamente puedan mejorar mucho el rendimiento de las aplicaciones.

·         Los Evaluadores Polinómicos sirven para soportar B-splines racionales no uniformes, esto es para ayudar a dibujar curvas suaves a través de unos cuantos puntos de referencia, ahorrándose la necesidad de acumular grandes cantidades de puntos intermedios.

·         Características de Feedback, Selección y Elección que ayudan a crear aplicaciones que permiten al usuario seleccionar una región de la pantalla o elegir un objeto dibujado en la misma. El modo de feedback permite al desarrollador obtener los resultados de los cálculos de trazado.

·         Primitivas de Raster (bitmaps y rectángulos de pixels)

·         Operaciones con Pixels

·         Transformaciones: rotación, escalado, perspectivas en 3D

 

Practical Extraction and Report Language (Perl)

Para crear formularios en la Web, necesitamos de un lenguaje de programación para procesar los datos que son enviados al servidor. Perl es una alternativa muy atractiva porque es un lenguaje especializado en buscar, extraer y presentar información. Es un lenguaje para la manipulación de cadenas de datos y de archivos, y su diseño ignora la distribución en pantalla de botones, menús, listas de selección, y otros elementos propios de una interfaz, es decir, no es nada vistoso, aunque su especialización en el uso de modelos de búsqueda lo hace muy potente.

Perl es un intérprete que fue creado por Larry Wall y liberado al mundo para disfrute de cualquier persona. Larry cedió Perl de forma gratuita, estipulando como tal su uso, el acceso libre a los intérpretes, y a las mejoras de Perl. Y condicionó su utilización a que no se hiciera explotación comercial o de lucro. Hay versiones de Perl para casi todas las plataformas que existen, y su uso está muy extendido en Internet, aunque no podemos olvidar que Perl nació en el entorno Unix como una herramienta auxiliar de rastreo de archivos y extracción de información, como su propio nombre indica.

Es una combinación de las características de los lenguajes más usados por los programadores de sistemas, como son los shell del sistema operativo UNIX, los utilitarios para formateo y tratamiento de texto e incluso características de Pascal, aunque su potencia se basa en la similitud con las mejores características del lenguaje estructurado C. Algunas de las ventajas del uso del lenguaje PERL son las siguientes: 

·         Construcción de pequeños programas que pueden ser usados como filtros para obtener información de ficheros, realizar busquedas, ... 

·         Se puede utilizar en varios entornos, sin realizar cambios de código, siendo únicamente necesario la introducción del interprete PERL correspondiente a cada sistema operativo. 

·         También es uno de los lenguajes mas utilizados en la programación de CGI scripts, que son guiones o scripts que utilizan el interface CGI (Common Gateway Interface), para intercambio de información entre aplicaciones externas y servicios de información.

·         El mantenimiento y depuración de un programa en PERL es mucho más sencillo que la de cualquier programa en C. 

 

Lenguaje Unificado de Modelado

 

El Lenguaje Unificado de Modelado, en adelante UML (Unified  Modeling Languaje), es el resultado mas integrador de una serie de métodos de análisis y diseño orientado a objetos.  Originado entre  fines de  los ochenta  y principios de los noventa, UML  no fue  concebido como un método en sí mismo, sino como la notación básicamente gráfica de la que  se puede  valer cualquier método para expresar  los diseños  y el  proceso que orienta los pasos a dar para realizar este diseño. Así completa lo que todo método debe presentar, un  lenguaje de modelado  y un proceso.

 

El UML define varios tipos de diagramas que se utilizan para describir diferentes aspectos o vistas de un sistema. En este, una de las herramientas principales para modelar comportamiento es la construcción Caso de Uso (Use Case).  Un Caso de Uso especifica una manera de usar un sistema sin revelar la estructura interna del mismo. Los Casos de Uso han sido adoptados casi universalmente para capturar los requerimientos de los sistemas de software; sin embargo, los Casos de Uso son más que una herramienta de especificación ya que tienen una gran influencia sobre todas las fases del proceso de desarrollo tales como el diseño, la implementación y las pruebas del sistema.

 

En general, los procesos de desarrollo de software, son iterativos e incrementales, repitiendo una serie de iteraciones sobre el ciclo de vida de un sistema. Cada iteración consiste de un paso a través de las etapas de requerimientos, análisis, diseño, implementación y prueba. El resultado de cada iteración representa un incremento sobre cada uno de los modelos construidos en las etapas anteriores. Los distintos Casos de Uso que se definen a lo largo del proceso de desarrollo no son independientes sino que es posible establecer relaciones de dependencia entre ellos. Las principales relaciones consideradas por UML son:

 

·        Generalización (generalization): es una relación que amplía la funcionalidad de un Caso de Uso o refina su funcionalidad original mediante el agregado de nuevas operaciones y/o atributos y/o secuencias de acciones.

·        Inclusión (include): es una relación mediante la cual se re-usa un Caso de Uso encapsulado en distintos contextos a través de su invocación desde otros Casos de Uso.

·        Extensión (extend): es una relación que amplía la funcionalidad de un Caso de Uso mediante la

·        extensión de sus secuencias de acciones.

 

Estas relaciones y el resto de las construcciones de UML están definidas en el documento de especificación de UML en  http://www.rational.com/uml/resources/documentation/index.jsp

 

UML permite la definición de  modelos sin ambigüedad cuya completitud y consistencia semántica pueden ser comprobadas con el apoyo de herramientas software diseñadas al respecto, que asimismo pueden ofrecer la propia ejecución, validación y simulación automática de los modelos. La posibilidad de conectar dichos modelos con diversos lenguajes de programación -tales como Java, C++ -permite también el diseño de herramientas para  la generación automática de código y recíprocamente, para soportar procesos de ingeniería inversa. UML promueve particularmente procesos de análisis iterativos, increméntales  y en diferentes  niveles de abstracción. De este modo resulta muy útil para definir modelos genéricos que se especializan en dominios  concretos.

 

 

The Virtual Reality Modeling Language

VRML, abreviación de Virtual Reality Modeling Language, es un lenguaje para la descripción de objetos y mundos virtuales 3-D, con los que el usuario puede interactuar. Mediante VRML puede especificarse la geometría de los objetos de estos mundos (ej: moléculas, receptores, orgánulos celulares, estructuras anatómicas) y controlarse numerosos aspectos relativos a su visualización y comportamiento. Estos objetos pueden, al ser seleccionados, establecer hiperenlaces con otros mundos o con documentos HTML. Entre sus principales características destaca la de ser un lenguaje estándar, y por consiguiente, universalmente utilizado en Internet como el lenguaje para simulaciones interactivas dentro de la Web.

Los ficheros que describen escenarios virtuales 3-D en formato VRML son de tipo ASCII, y se identifican por su extensión '.wrl'. Para poder trabajar con estos ficheros son necesarios 2 tipos de programas, denominados: visualizadores y modeladores.

Los visulizadores permiten representar gráficamente los objetos definidos en un fichero VRML. Pueden ser aplicaciones independientes (VRML browser) o programas que se cargan en un navegador Web (Plug-in).

 

Los modeladores están destinados a la creación o modificación de objetos 3-D. Actualmente existen aplicaciones específicas para manejar escenarios en formato VRML si bien las últimas versiones de programas de diseño asistido (Autocad) o de modelado tridimensional (3D Studio Max) permiten exportar ficheros VRML. Para la creación de escenarios simples será suficiente disponer de un editor de textos.

 

Recordar que el lenguaje HTML está concebido como un lenguaje independiente de plataforma y por tanto permite generar el mismo escenario 3-D en máquinas distintas, con diferentes sistemas operativos. Los requerimientos hardware van a estar determinados por la complejidad de los escenarios a reconstruir.

 

Sistema de Información Geográfica

 

Un Sistema de Información Geográfica (SIG) es un tipo particular de sistema el cual permite a sus usuarios capturar, modelar, manipular, representar, analizar y presentar datos geográficamente referenciados. Los datos que manipula un SIG representan las propiedades que tienen las entidades espaciales que conforman el dominio de aplicación del SIG. Ejemplos de este tipo de entidades son los ríos, las ciudades, los límites administrativos, las carreteras y las redes de servicio eléctrico, telefónico o de transporte.

 

El desarrollo de un SIG requiere el uso de herramientas de software especializadas (p.ej., ARC/ INFO e ESRI, GeoMedia de Intergraph e IDRISI de la Clark University). Estas herramientas emplean, para modelar y manejar entidades, dos tipos de modelos de datos espaciales conocidos como modelos vectoriales y modelos teselares o de rejilla. Ambos modelos son ampliamente discutidos en la literatura del área.

 

En los modelos vectoriales, una red de servicios se representa mediante grafos geométricos cuyos nodos y arcos (o ejes) se representan mediante puntos y líneas, respectivamente. Tanto los puntos como las líneas indican la localización de los nodos y arcos en el espacio. Los grafos geométricos, aún cuando capturan la localización y topología de las entidades en el espacio, tienen muchas limitaciones para representar otras propiedades; pues no capturan, por ejemplo, propiedades geométricas, tales como la forma, dirección y orientación que tienen las entidades de la red en el mundo real.

 

Por otro lado, los modelos de rejillas, entre los cuales el modelo raster es el más conocido, representan los nodos y enlaces de una red de servicios mediante conglomerados y secuencias lineales de celdas, respectivamente. Una celda es un conjunto de pixels que tienen forma poligonal, normalmente rectangular. Este tipo de modelos captura implícitamente la forma y topología de la red, pero la calidad de la representación está restringida por el tamaño de la celda. Otra deficiencia de los modelos teselares es que la distinción entre los nodos y arcos de la red se pierde, lo cual dificulta la caracterización de los objetos que las celdas representan.

 

El modelado orientado a objetos de un SIG consiste, esencialmente, en describir las clases de objetos espaciales y no espaciales relevantes al dominio de aplicación del SIG, así como establecer las relaciones entre estas clases. A diferencia de las clases de objetos no-espaciales, las clases espaciales guardan entre sí muchos elementos estructurales y de comportamiento comunes, que se repiten de una clase a otra y de una aplicación a otra. De igual manera, el modelado de redes de servicios tiene soluciones estructurales que se repiten de una aplicación SIG a otra.  Un patrón de diseño de software es una solución reutilizable a un problema recurrente en el desarrollo de software. Su reutilización reduce el esfuerzo, tiempo y costos empleados durante el diseño de software. Los patrones de diseño capturan la estructura y dinámica de una solución que se repite múltiples veces durante el desarrollo de diferentes aplicaciones, generalmente, en un contexto o dominio determinado.

 

Metodología de la Investigación

 

La metodología de la investigación que se usara será la del ciclo de vida de un sistema con las tradicionales  etapas del desarrollo de software: determinación de objetivos, especificación de requerimientos, diseño, implementación, pruebas y correcciones. El trabajo realizado en cada una de estas etapas –tradicionales del Ingeniero de Software- se realizarán en estrecha coordinación con las actividades del área comunicacional que intervienen en el mismo, tales como: Redacción, captura y edición de textos, determinación del estilo discursivo a adoptar, captura y edición de los medios audiovisuales tales como imágenes, guiones, animaciones 2D y 3D, y el diseño de la Interfaz general e integración de los medios.

 

Se realizará entonces una validación, misma que se hará con grupos de estudiantes y de esta forma el darse cuenta sobre el aprendizaje significativo  adquirido comparado con los métodos tradicionales. Se deberá presentar entonces un estudio estadístico de estos resultados. Se debe entender que estos pasos no son ninguna camisa de fuerza y permanentemente se estará realimentando cada uno de ellos. En especial se repetirá el proceso en las dos siguientes fases. En la primera se desarrolla un sistema que no tiene inteligencia en el sentido que se entiende en IA debe tener un Sistema Experto. En la segunda fase y principalmente mediante técnicas de mecanización del conocimiento y principalmente de inferencia lógica, se le dará al sistema una inteligencia de experto. Precisamente el experto humano a emular es al profesor tradicional, y de esta forma el verdadero trabajo creativo y de relación humana de transmisión ética de valores estará en manos del tutor humano, único e irremplazable.

 

En la investigación de campo se usarán entrevistas y encuestas, las cuales serán dirigidas  hacia los profesores y estudiantes de las diferentes asignaturas que se escojan para desarrollar la investigación inicial. Esta información será útil, ya que es una parte del análisis del sistema, y servirá para ir documentando, así como también ir conociendo las funciones que se necesiten y de esta suerte ir desarrollando prototipos del sistema.

Para iniciar la investigación, las áreas en que se debe profundizar para describir y justificar el diseño del proyecto del MEC, incluyen las siguientes:

1.       Monografías que estudien la herramienta de computación gráfica para desarrollar el proyecto con: Lenguaje C y OpenGL. Debe incluir desarrollo de un sistema tutorial para el apoyo a la enseñanza de la asignatura de computación gráfica. Para apoyo de esta se creará banco repositorio de programas con primitivas gráficas, los cuales permitan ayudar al recién iniciado en el campo de la computación gráfica.

2.     Monografías que estudien la herramienta de computación gráfica para desarrollar el proyecto con: Perl. Debe incluir un prototipo de curso específico cada una. Se creará banco repositorio de programas con primitivas gráficas, los cuales permitan ayudar al recién iniciado en el campo de la computación gráfica.

3.     Monografía que estudien la herramienta de computación gráfica para desarrollar el proyecto del mismo curso de Computación Gráfica con VRML. Se creará banco repositorio de programas con primitivas gráficas, los cuales permitan ayudar al recién iniciado en el campo de la computación gráfica.

4.       Monografía sobre el estado del arte de arquitecturas para Sistemas Tutoriales Inteligentes. Esta es un área de la Inteligencia Artificial, específicamente el de Sistemas Expertos. Se debe incluir un estudio sobre las pedagogías en el contexto de la virtualización. Llegando a proponer un paradigma educativo para la Universidad Virtual de la UCC. Así mismo, discutir los avances y posibilidades de cerrar la brecha en países en vías de desarrollo con estas tecnologías.

5.     Monografía en la cual se realice discusión del estado del arte de modelos pedagógicos –principalmente constructivistas y colaborativos- del proceso de enseñanza-aprendizaje en las Ciencias Computacionales y la Ingeniería de Sistemas.

6.     Monografía que mediante el Lenguaje gráfico semiformal Unified Modeling Languaje, UML, describa sistema de courseware  el cual pueda utilizar la Universidad Virtual de la UCC para sus cursos. Este diseño piloto orientará los pasos del proceso a seguir en el diseño del MEC.

7.       Monografía sobre Interfase Hombre-Computador –IHC- metáforas, modelos de interacción con el usuario, análisis psicológico y semántico mediante pruebas de campo y análisis estadístico. Este tema sería más adecuado para estudiantes en proyecto de grado de Psicología o Trabajo Social.

8.     Monografía que estudie el estado del arte de los Sistemas de Información Geográfica. Principalmente deben estudiar el cómo se modela y manejan entidades, por medio de los dos tipos de modelos de datos espaciales conocidos como modelos vectoriales y modelos teselares o de rejilla. Ambos modelos son ampliamente discutidos en la literatura del área.

Cada final de semestre se efectuará evaluación crítica de lo realizado y se replanteará el trabajo futuro a realizar.

Se puede considerar la primera fase es la inicial de investigación dentro de la categoría de los Sistemas Tutores Inteligentes. El resultado del mismo -el tutor- no sustituirá la enseñanza por parte del profesor; sino que apoyará el trabajo repetitivo del mismo, el cual se imparte en las clases magistrales. En otras palabras, presentará la teoría de cada caso en estudio, tales como los conceptos teóricos que conducirán a realizar abstracciones por parte del dicente, mediante presentaciones que simulan tres dimensiones en pantalla, de esta suerte el nombre del agente a desarrollar será el de Transmisor. El papel del profesor se enfocará al proceso de Asesor o tutor real, que apoya al alumno después de haber pasado la etapa de Receptor,.reconociendo y corrigiendo los errores del alumno al realizar prácticas de programación

El modelo pedagógico, en cambio, se considera muy primitivo; considera tendencias muy simples, y no toma en cuenta, aspectos tales como la situación afectiva del estudiante.

Por otro lado, en el modelo pedagógico, aún se requiere investigar más para su definición. Sin embargo, y tomando como base teórica el enfoque de IA de simular el comportamiento del asesor humano, se propone tomar la misma metodología que sigue el profesor humano de la materia (el autor), basada en la enseñanza. Esto, además de permitir una simulación más cercana del profesor humano como asesor, puede reducir el sesgo en la comparación entre los dos grupos.

Este trabajo puede considerarse como una parte de un sistema mayor, el cual consistiría de un conjunto de herramientas para la enseñanza-apéndizaje de asignaturas. Específicamente dentro del modelo de Universidad Virtual de la Universidad Cooperativa de Colombia, se está considerando que se haga uso de los recursos de multimedia, hipertexto y el World Wide Web, para la transmisión de la información al alumno. Así, como trabajo futuro se realizará la integración de un ambiente inteligente, que conste de varios asesores o agentes interconectados y los cuales se enmarcan en investigaciones en el tema de Tutores Inteligentes Basados en Sistemas Multiagentes.

La alternativa que se va a investigar resulta significativa por la poca difusión que existe de herramientas similares; además de que es un concepto novedoso que puede resolver algunos de los problemas que han, están y estarán afectando a los alumnos, si no se cambia la forma de impartir docencia.

 

Bibliografía y Referencias de Internet

 

Informática Educativa

 

·        http://www.columbus.ucc.edu.co/

·        http://www.ucc.edu.co/publicaciones/principal.htm

·        Cipriani F, Marzio & Batista J. Enrique E. COLOMBUS: La biblioteca Virtual de la Universidad Cooperativa de ColombiaTrabajo presentado en el V Congreso Colombiano de Informática Educativa. Bucaramanga - Colombia Mayo  2000 RIBIE. http://www.columbus.ucc.edu.co/articulos/a10/a1003.htm

·        Galvis Panqueva, Alvaro. "Ingeniería de Software Educativo". 1994. Ediciones Uniandes.

·        Galvis Panqueva, Alvaro. "Ingeniería de Software Educativo con Modelaje Orientado por Objetos: un medio para desarrollar micromundos interactivos" www.minerva.uevora.pt/simposio/comunicacoes/rigomezmarino.html

·        "El uso instruccional vs. el uso interactivo del computador respecto al desarrollo de la inteligencia", Hernan Escobedo David. Aparece en Memorias del Primer Congreso Colombiano de Informática, Educación y Capacitación. 1987.

·        Seymour Papert. "Desafío a la Mente. Computadoras y Educación". (1981). Ediciones Galápagos.

·        "La inteligencia artificial, sus principios básicos y sus aplicaciones educativas", Francisco Rueda. Aparece en Memorias del Congreso Colombiano de Informática Educativa. 1992.

·        Negroponte, N. (1995). “El Ser Digital”. Editorial Atlántida S.A., Buenos Aires, Argentina.

·        Hernan Escobedo, David. "El uso instruccional vs. el uso interactivo del computador respecto al desarrollo de la inteligencia", Aparece en Memorias del Primer Congreso Colombiano de Informática, Educación y Capacitación. 1987.

·        Brunner,José Joaquín. “Globalización y el futuro de la Educación: Tendencias, Desafíos y Estrategías”  Seminario sobre Prospectiva de la Educación en la Región de América Latina y el Caribe UNESCO, Santiago de Chile, 23 al 25 de agosto del 2000. http://www.reduc.cl/reduc/jbrunner.pdf

·        Hernández, F., Lorenzo, R., Pérez, M., Rodríguez, B., De Miguel, A. y Mompó, R. (1998). IV Congreso ibero-americano de informática educativa. Brasilia: RIBIE.

·        Osin, L. (1996). “La computadora como instrumento para la humanización de la enseñanza. III Congreso ibero-americano de informática educativa”. Barranquilla: RIBIE. 

·        http://www.uib.es/depart/gte/terron.html

·        http://biblioweb.unam.mx/bd/edu/educacion.html

·        http://redie.ens.uabc.mx

·        http://dis.eafit.edu.co/labs/labgic/index.htm

·        http://lidie.uniandes.edu.co

·        Collaborative Learning Bibliography: http://psu.edu/celt/clbib.html

·        Collaborative Learning Index: http://www.id.ucsb.edu/IC/Resources/Collab-L/CL_Index.html

·        IEEE Computer Society Learning Technology: http://lttf.ieee.org

·        TechKnowLogia (Revista electrónica de tecnología y educación): http://www.techknowlogia.org

·        Collaborating Reading Room: http://wellspring.isinj.com/collaborating.html

·        http://www.ati.es/novatica/1998/132/anvaq132.html

·        IEEE Computer Society Learning Technology Task Force:  http://lttf.ieee.org

·        http://www.geocities.com/Athens/Parthenon/7809/Esystsp.html

·        http://sardis.upeu.edu.pe/~miguelt/temas/experto.htm

·        La Computación en la InterCiencia

·        La hiperuniversidad: el desafío a las universidades latinoamericanas: http://cueyatl.uam.mx/~cuaree/24_10.html

·        Sistema de Matemáticas Visuales Interactivas con Voz Sintética: http://www.te.ipn.mx/files/f000901/txt_docto.htm

·        http://fis.unab.edu.co/docentes/japarra/publicaciones/

·        http://www.xtec.es/%7Epmarques/edusoft.htm

·        http://www.conexiones.eafit.edu.co

 
Computación Gráfica

 

·        Lenguaje C: ISO/IEC 9899:1990. http://www.iso.ch,

·        OPENGL: http://www.sgi.com/software/opengl/

·        PERL:  http://perl.oreilly.com/

·        HTML 3.2 Reference Specification. http://www.w3.org/TR/REC-html32.html

·        PNG (Portable Network Graphics), Specification Version 1.0, W3C Recommendation, 1 October 1996. http://www.w3.org/pub/WWW/TR/REC-png-multi.html

·        VRML:

o       http://www.web3d.org/vrml/vrml.htm

o       http://www.videa.com.ar/vrml.htm

o       http://www.arrakis.es/~almorrana/tablaembed.htm

o       http://www.med.ub.es/~aprats/curvrml/html/cvrml03.htm

·        UML:

o       http://www.rational.com/uml/resources/documentation/index.jsp

o       Lenguaje de Modelado Unificado

o       http://uxmcc1.iimas.unam.mx/~cursos/Objetos/indice.html

 

Courseware

 

·        Coordinación de administradores de WebCT-ES

·        Web-CT http://www.webct.com/webct/

·        Experiencias sobre Web-CT http://webclass.cqu.edu.au/Tools/Comparisons/Survey/

·        http://www.multingles.net/articulos.htm

·        http://fernand0.blogalia.com/historias/6583

·        http://www.dcc.uchile.cl/web/propertyvalue-6209.html

·        http://www.customguide.com/downloads.htm

·        http://www.sceu.frba.utn.edu.ar/e-learning/glosario.htm

·        http://www.microsoft.com/latam/entrenamiento/training/faq/default.asp

·        Harvard Open Source Courseware

·        http://www.baiby.com/menu.html

 

Glosario

 

·        http://jamillan.com/v_recursos.htm#español