Monografias.com > Tecnología
Descargar Imprimir Comentar Ver trabajos relacionados

Sistemas de ayuda al diseño para el análisis de calidad y complejidad de algoritmos




Enviado por ysolerp



    Estado del arte

    1. Resumen
    2. Complejidad en el desarrollo
      de algoritmos
    3. Lenguaje Unificado de
      Modelado. UML
    4. Métodos Avanzados de
      Solución de Problemas
    5. El RBC en la informática
      educativa
    6. El razonamiento basado en casos
      para tareas de diseño
    7. MALCON: Sistema automatizado de
      ayuda al aprendizaje y el diagnóstico de malformaciones
      congénitas
    8. Algunas
      experiencias
    9. Conclusiones
    10. Bibliografía

    Temática: Análisis de
    complejidad de algoritmos y
    selección eficiente de las Estructuras de
    datos para
    representar la información. Sistemas de
    Enseñanza Asistida por Computadora.

    Resumen

    Dada la importancia que para el desarrollo de
    la sociedad
    actual tiene la formación de profesionales capacitados en
    la rama de la Informática y la Computación y más
    específicamente en la ingeniería de software, se hace necesario
    que los estudiantes adquieran de forma sólida las
    habilidades para la creación de algoritmos, éste ha
    sido el objetivo y la
    base fundamental que sustenta a las carreras antes mencionadas y
    en un futuro, quizás no muy lejano, se espera incluso que
    en la enseñanza media superior se realicen estudios sobre
    programación de sistemas. Sin embargo, en
    las disciplinas encargadas de este contenido se han detectado
    problemas en
    el proceso de
    enseñanza-aprendizaje, dada
    la complejidad que presupone impartir y asimilar temas
    relacionados con las estructuras de datos y su adecuada
    selección para representar la información y las
    operaciones
    básicas que con ellas se realizan, lo que dificulta la
    obtención de algoritmos eficientes.

    Reconocida la necesidad expresada anteriormente,
    proponemos el desarrollo de un sistema de
    enseñanza asistida por computadoras
    que ayude a suplir las deficiencias que el estudio muestre. Una
    forma efectiva sería un medio que integre diferentes
    técnicas computacionales, de manera que en
    él se reflejen las mejores vías para ayudar al
    proceso de enseñanza aprendizaje, todo esto basado en un
    análisis profundo de la problemática detectada, de
    forma que se puedan definir los puntos críticos y las
    invariantes que resulten complejas, es por ello que se hace
    necesario realizar un análisis del Estado del
    Arte de las
    temáticas que intervienen en nuestra investigación.

    Introducción

    El impacto de la Enseñanza Asistida por
    computadora. Perspectivas para el presente trabajo

    Desde los albores de la historia humana, el aprender
    ha sido una característica propia de cada individuo, que
    ha contribuido a fundamentar las bases del desarrollo humano, ya
    que cuando se aprende, se adquiere el
    conocimiento por medio del estudio, el ejercicio o la
    experiencia. A medida que hemos evolucionado como
    civilización, han surgido personas que se han dedicado al
    estudio del comportamiento
    humano, esto ha conllevado a la definición de diversos
    criterios con respecto al aprendizaje; conceptos, métodos,
    herramientas y
    técnicas. Así, con al pasar del tiempo, las
    exigencias de la vida moderna, (dinámica, competitiva y llena de
    información), han dirigido a la sociedad a buscar nuevos
    modelos,
    técnicas y sistemas que permitan adquirir esos
    conocimientos de una manera eficaz y
    eficiente
    .

    En una sociedad impactada por la ciencia y
    la tecnología, todo ciudadano necesita de una
    cultura
    científico-tecnológica para entender, integrarse y
    actuar en el mundo que lo rodea. Dado el amplio espectro que
    abarcan las ciencias en la
    vida de un ser humano, los objetivos de
    su enseñanza dentro del tramo obligatorio del sistema
    educativo no deben apuntar a la formación de
    científicos rutinarios, sino a impartir un concepto de
    ciencia para
    todos que desarrolle actitudes y
    aptitudes científicas que tengan utilidad genuina
    en la vida real.

    La educación como
    concepto no puede ser expresado por una terminología
    global. Los sistemas de enseñanza parten de varios
    métodos originados en diversas corrientes
    ideológicas que pretenden formalizar una metodología adecuada a las necesidades de
    nuevos estudiantes. El objetivo de un modelo
    educativo, esta relacionado con una asimilación adecuada y
    precisa de los conocimientos a partir de un razonamiento que
    ayude al educando a comprender un fenómeno y de igual
    forma, le permita proponer alternativas o propuestas conducidas a
    resolver un problema en concreto. No
    obstante el anterior planteamiento, existen otras corrientes que
    definen a la educación como un
    proceso de construcción y transformación del
    ambiente en el
    que se desarrolla el educando.

    A pesar de lo que dictan todas estas filosofías,
    consideramos que la escuela es una
    institución que imparte una educación formal que
    independientemente de seguir una corriente en especial, se ha
    visto en la necesidad de incorporar a sus metodologías el
    uso de herramientas que faciliten el
    aprendizaje.

    Sin llegar a considerarla como una corriente, la
    tecnología
    educativa comprende el uso de los instrumentos
    tecnológicos como herramientas que auxilian a las instituciones
    educativas a la formación y preparación de los
    estudiantes, así como a la mejora de los procesos de
    evaluación educativa, aumentando
    también el rango de los estudios al ser posible la
    educación remota sin menoscabo de la calidad de la
    instrucción recibida.

    En cuanto al alumnado, en nuestro país se busca
    que sea más participativo e investigador. Para eso se
    cuenta con distintas herramientas como los libros,
    manuales,
    antologías, discos compactos, páginas de Internet, talleres de
    habilidades directivas entre otras. Para los grupos se
    pretende que estos interactúen y discutan sus clases,
    realicen tareas en equipos apoyados con las herramientas
    tecnológicas.

    Según "no existe informe, estudio,
    investigación o prospectiva sobre el futuro que no
    reconozca y señale el papel fundamental de la
    educación en el desarrollo de los individuos, así
    como los nuevos retos a los que ésta tendrá que dar
    respuesta; pero a la vez, se acrecienta el discurso del
    fracaso del sistema escolar, lo elevado de su costo, la falta
    de preparación del profesorado, etc."

    Los educadores cubanos son conscientes del papel
    fundamental que les toca desempeñar y al mismo tiempo no
    tienen que enfrentar precisamente una visión que puede
    considerarse como fatalista, de acuerdo a las anteriores
    afirmaciones. Queda claro que la situación referida
    responde a otros sistemas educacionales que distan bastante del
    nuestro; el reto de superar, mejorar y modernizar las
    técnicas utilizadas en el proceso docente educativo para
    ajustarlo más a la nueva explosión
    tecnológica está planteado para todos los
    educadores del mundo en general y para nuestro sistema de
    enseñanza en particular, que aspira siempre a ser un
    sistema de excelencia, lo que sólo se logrará en la
    medida en que seamos capaces de incorporar los últimos
    avances de la ciencia y la técnica al proceso de
    enseñanza y aprendizaje.

    La educación actual, requiere transformar los
    mecanismos de transmisión del conocimiento,
    por lo que el proceso de enseñanza-aprendizaje debe estar
    homologado con los avances
    tecnológicos. Una de las herramientas que está
    posibilitando modificar este proceso es la
    computadora, a través del desarrollo de
    múltiples aplicaciones educativas.

    La incorporación de metodologías de
    enseñanza auxiliadas por computadora incrementa la
    eficiencia en
    la transmisión y adquisición del conocimiento,
    permitiendo la manipulación de grandes volúmenes de
    información, la homogenización del conocimiento, la
    disponibilidad, masificación y la permanente
    actualización del mismo. Es muy importante interpretar
    adecuadamente tanto el rol de las computadoras como herramientas
    para representar el conocimiento como su carácter de instrumento
    pedagógico
    .

    El impacto de las computadoras en la educación ha
    sido ampliamente estudiado durante los últimos años
    y no todos los resultados han sido satisfactorios, lo que indica
    claramente la necesidad de continuar realizando investigaciones
    que arrojen más luz sobre este
    importante medio de enseñanza. Adams y colaboradores
    señalan algunas contradicciones en relación con un
    estudio sobre el uso de la EAC en la enseñanza de la
    Matemática: en un extremo se presentan
    algunos autores que reportan efectos negativos, otros muestran
    que no hay mejoras con el uso de las computadoras, mientras un
    tercer grupo sugiere
    que la EAC ha constituido una valiosa ayuda en el proceso de
    enseñanza y aprendizaje.

    Hodson reconoce que la EAC no siempre ha disfrutado de
    una buena reputación, pero en los últimos
    años con el incremento de la potencia de las
    computadoras y del software multimedios, además de las
    técnicas de Inteligencia
    Artificial (IA), los estudiantes tienen la posibilidad de
    observar la simulación
    del comportamiento
    de los sistemas que están estudiando, a la vez que se le
    presenta un gran cúmulo de información bien
    dosificada de acuerdo a estrategias
    pedagógicas cuidadosamente diseñadas.

    Estudios más recientes muestran resultados
    positivos, pero en todos los casos queda claro que hay que ser
    cuidadoso al elegir el tema que se tratará y la forma en
    que será abordado.

    A juicio Duffy, un enfoque pedagógico a emplear
    para la EAC aplicada a las Ciencias de la Computación es
    el enfoque constructivista En un aula el conocimiento se da
    muchas veces, como algo final en contraposición a lo
    más importante, el conocimiento como un medio para
    resolver problemas o comprender eventos. El
    constructivismo
    pone especial énfasis en la persona que
    aprende y lo convierte en un agente activo de su aprendizaje; en
    este caso el profesor juega
    el papel de facilitador , en contraposición con la
    enseñanza más tradicional u "objetivista" en la que
    la información se transfiere más directamente, por
    ejemplo, a través del profesor. Las técnicas de
    enseñanza siguientes se enmarcan en el enfoque
    constructivista asistido por computadoras:

    • Ambientes hipermedios. Presentan la
      información en una forma no lineal

    permitiendo que los estudiantes pueden navegar por
    ella a través de un dominio con
    enlaces predefinidos entre pequeñas piezas de
    información. El aspecto constructivista está en
    el hecho de que el aprendiz determina la secuencia de
    aprendizaje, pero los conocimientos del dominio en si se
    presentan en forma expositiva.

    • Ambientes de mapas
      conceptuales
      . Permiten formar conceptos relacionados
      entre si.

    Simulación por computadoras. Son
    programas que
    contienen modelos del mundo real. La acción
    básica del aprendiz es realizar cambios en las variables de
    entrada y observar las consecuencias sobre las variables de
    salida

    • Ambientes de modelación.
      Permiten que el aprendiz construya modelos por ejemplo LOGO y
      los ambientes basados en él

    Según Glasser el conocimiento engendra
    conocimiento; en otras palabras la habilidad de construir nuevos
    conocimientos es una función
    del aumento de la calidad del conocimiento existente, del
    razonamiento y otras habilidades intelectuales

    En ese sentido, la educación a todos los niveles
    se ha enfrentado a la disyuntiva de si la instrucción debe
    concentrarse en enseñar contenidos o en desarrollar
    habilidades intelectuales

    La teoría
    cognoscitiva de Newell y Simon plantea como principio fundamental
    que la forma en que el conocimiento, las habilidades y las
    actitudes se aprenden inicialmente, juega un papel determinante
    sobre el grado en que dichas cualidades pueden ser usadas en otro
    contexto.

    Un elemento crítico para el fomento del
    aprendizaje es dejar que los estudiantes resuelvan problemas en
    un medio que refleje los múltiples usos de su
    conocimiento, lo que sirve a diferentes propósitos.
    Según Reeves, con esta perspectiva se logra que los
    estudiantes puedan comprender el propósito o uso del
    conocimiento, el aprendizaje deja de ser pasivo y se convierte en
    activo, los estudiantes conocen diferentes condiciones bajo las
    que su conocimiento puede usarse.

    Desde la década del 70 se han desarrollado
    Teorías, Estrategias y Conceptualizaciones
    para fundamentar que las herramientas computacionales constituyen
    un método
    para descubrir, describir y cuantificar la
    información.

    La Psicología cognitiva
    considera el aprendizaje como la sucesión de las
    modificaciones de las estructuras cognitivas que son causa de la
    conducta del
    hombre. Se han
    elaborado diversas teorías acerca de la forma en que se
    crean y desarrollan las estructuras del conocimiento en las
    personas. En el aprendizaje por descubrimiento, los
    aprendices son inducidos a descubrir las reglas del objeto de
    estudio por sí mismos.

    La Informática Educativa no es una disciplina
    puramente técnica; sicólogos, educadores y
    sociólogos discuten con relación a su valor
    pedagógico real. Hoy en día los avances en la
    sicología, combinados con la explosión
    tecnológica, han dado lugar a una serie de sistemas
    educativos que permiten resolver algunas limitaciones de la
    educación tradicional.

    En el proceso de enseñanza-aprendizaje de la
    asignatura de Estructura de
    Datos, impartida en todas las carreras de perfil
    informático, se han enfrentado históricamente
    problemas en la asimilación, análisis y
    creación de habilidades en el alumno que le permitan una
    selección adecuada de las estructuras para representar la
    información y las operaciones básicas que con ellas
    se realizan, lo que dificulta la obtención de algoritmos
    eficientes.

    En el mundo esta problemática aun está
    vigente, a pesar de los esfuerzos que se realizan por utilizar
    diferentes vías y herramientas para facilitar el
    aprendizaje y desarrollo de algoritmos, no sólo en
    países desarrollados.

    Podemos citar ejemplos de algunas herramientas
    informáticas para la creación de animaciones de
    algoritmos, Balsa, Zeus, StarLite y
    Xtango, esta última ofrece una plataforma que
    soporta una serie de conceptos primitivos útiles para la
    creación de animaciones, es fácilmente
    transportable, no exige mucho del sistema donde debe ser
    instalado, puede utilizarse en la World Wide Web
    (WWW) y, finalmente, el modelo conceptual que utiliza es bastante
    sencillo.

    Todas estas aplicaciones muestran de forma
    gráfica las operaciones básicas con algunas
    estructuras de datos, simulando el proceso que se ejecuta. En la
    animación que se muestra en la
    Figura 1 se diseñaron varias vistas, una de ellas
    comprende el código
    del algoritmo a
    animar, que a su vez se divide en otras pequeñas vistas
    que contienen pedazos de código correspondientes a los
    diferentes casos que pueden ocurrir durante la ejecución
    del algoritmo. Así mismo, por cada caso se originan otras
    subvistas que despliegan el esquema general del caso y una
    descripción textual del mismo.

    Para ver el gráfico seleccione la
    opción "Descargar" del menú superior

    Figura 1. Inserción en árboles
    Rojo/Negro

    Estas aplicaciones resultan de mucha utilidad en la
    enseñanza de los temas de estructuras de datos,
    permitiendo que los estudiantes comprueben de forma
    gráfica el efecto (representación gráfica)
    que provoca la causa (algoritmo).

    Sin embargo la lucha por lograr algoritmos eficientes va
    mucho más allá, se requiere en primer lugar
    seleccionar la estructura de
    datos
    adecuada para representar la información,
    diseñar el algoritmo y realizar el
    análisis de complejidad del mismo

    Hasta el momento se han hechos grandes esfuerzos en el
    mundo por utilizar las técnicas de Enseñanza
    Asistida por Computadoras para una mejor comprensión de
    este tema, pero, a nuestro modo de ver, el problema que se
    plantea no sólo debe analizarse en el momento en que se
    aprende sino también cuando se desarrolla una
    aplicación que utiliza algoritmos que por su complejidad
    pueden dar por resultado que el producto
    obtenido no sea lo suficientemente eficiente.

    El aprendizaje en múltiples contextos facilita la
    abstracción del conocimiento. Tomando estos criterios en
    cuenta consideramos que debemos considerar la experiencia
    acumulada sobre la EAC para el desarrollo de nuestro sistema. La
    idea fundamental consiste en facilitar la ejecución real,
    de manera que los estudiantes:

    • Lleguen a sus propias conclusiones y construyan
      nuevos conocimientos a partir del sistema didáctico
      desarrollado.
    • Modifiquen los programas que se ofrecen, a partir del
      hecho de haber detectado limitaciones para resolver nuevas
      tareas.
    • Sugieran y usen estructuras de datos que consideren
      más apropiadas.
    • Sugieran y hagan modificaciones a los diferentes
      algoritmos o, en casos extremos, recomienden nuevos algoritmos
      para resolver los problemas presentados.
    • Puedan valorar los cambios, en el caso de ser
      necesarios, o puedan justificar la permanencia del
      código y las estructuras de datos presentados, cuando
      consideren que no es necesario hacer
      modificaciones.
    • Sean capaces de evaluar la calidad del proceso, no
      solo al final del proceso, sino en cada una de las etapas
      previas, logrando así una mayor calidad en el producto
      final.

    Todo lo anterior implica que subscribimos el enfoque
    constructivista, por considerarlo una forma apropiada para
    enseñar a diseñar algoritmos y evaluar su
    complejidad.

    Complejidad en
    el desarrollo de algoritmos.

    A lo largo de los años el software se ha vuelto
    cada vez más complicado. El incremento en la potencia de
    los ordenadores y la aparición de modernos dispositivos y
    tecnologías ha generado la necesidad de nuevos sistemas
    operativos y aplicaciones de mayor complejidad.
    Simultáneamente, esta complejidad ha traído consigo
    la demanda de
    nuevos métodos y herramientas que nos ayuden en la
    construcción de este software.   

    A nadie que trabaje o haya trabajado en el desarrollo de
    software le extraña que un proyecto sufra
    retrasos, o incluso deba cancelarse. La situación es
    caótica y actualmente, lo que nos sorprende es
    encontrarnos con un  proyecto que marcha tal y como estaba
    previsto. Los culpables de esta situación, podemos
    buscarlos a todos los niveles de la cadena, desde el comercial
    que vende el proyecto en el tiempo que quiere el cliente sin
    conocer siquiera las características del sistema a
    realizar hasta el propio cliente que no sabe lo que quiere hasta
    que finaliza el proyecto.

    Particularizando, uno de los problemas más
    comunes en el desarrollo de software es que la mayoría de
    programadores y analistas es reacia a documentar las decisiones
    tomadas, bien por falta de tiempo o bien por dejadez y cuando se
    hace, suele ser algo incompleto, no actualizado y poco
    consistente, ya que cada miembro del equipo utiliza una serie de
    símbolos familiares para él pero no
    para los demás. 

         Otro problema muy
    habitual, relacionado con el anterior, es la absoluta escasez de
    procedimientos
    establecidos dentro de una empresa para
    desarrollar software. Como mucho, las empresas suelen
    seguir el método de desarrollo en cascada (requisitos,
    análisis, diseño, implementación y pruebas).

    Lenguaje
    Unificado de Modelado. UML

    En este contexto, UML surge como
    respuesta al primer problema reseñado para contar con un
    lenguaje
    estándar para escribir planos de software. Muchos han
    creído ver UML como solución para todos sus
    problemas sin saber en muchos casos de lo que se trataba en
    realidad.  

    El Lenguaje Unificado de Modelado, UML es una
    notación estándar para el modelado de sistemas,
    software o no, resultado de una propuesta de
    estandarización promovida por el consorcio OMG (Object
    Management Group), del cual forman parte las empresas más
    importantes que se dedican al desarrollo de software, en
    1996.

    UML representa la unificación de las notaciones
    de los métodos Booch, Objectory (Ivar Jacobson) y OMT
    (James Rumbaugh) siendo su sucesor directo y compatible.
    Igualmente, UML incorpora ideas de otros metodólogos entre
    los que podemos incluir a Peter Coad, Derek Coleman, Ward
    Cunningham, David Harel, Richard Helm, Ralph Johnson, Stephen
    Mellor, Bertrand Meyer, Jim Odell, Kenny Rubin, Sally Shlaer,
    John Vlissides, Paul Ward, Rebecca Wirfs-Brock y Ed Yourdon.
     

    En Septiembre de 2001 se ha publicada la
    especificación de la versión 1.4. UML no es un
    proceso de desarrollo, es decir, no describe los pasos
    sistemáticos (que tienen que ver con el segundo problema
    descrito con anterioridad) a seguir para desarrollar software.
    UML sólo permite documentar y especificar los elementos
    creados mediante un lenguaje común describiendo modelos,
    paso de avance fundamental en la temática que
    investigamos.

    Modelado

         En todos los
    ámbitos de la ingeniería se construyen modelos, en
    realidad, simplificaciones de la realidad, para comprender mejor
    el sistema que vamos a desarrollar: los arquitectos utilizan y
    construyen planos (modelos) de los edificios, los grandes
    diseñadores de coches preparan modelos en sistemas CAD/CAM
    con todos los detalles y los ingenieros de software
    deberían igualmente construir modelos de los
    sistemas software.   

         Un enfoque
    sistemático permite construir estos modelos de una forma
    consistente demostrando su utilidad en sistemas de cierto
    tamaño. Cuando se trata de un programa de
    cincuenta, cien líneas, la utilidad del modelado parece
    discutible pero cuando involucramos a cientos de desarrolladores
    trabajando y compartiendo información, el uso de modelos y
    el proporcionar información sobre las decisiones tomadas,
    es vital no sólo durante el desarrollo del proyecto, sino
    una vez finalizado éste, cuando se requiere algún
    cambio en el
    sistema. En realidad, incluso en el proyecto más simple
    los desarrolladores hacen algo de modelado, si bien
    informalmente. 

          Para la
    construcción de modelos, hay que centrarse en los detalles
    relevantes mientras se ignoran los demás, por lo cual con
    un único modelo no tenemos bastante. Varios modelos
    aportan diferentes vistas de un sistema los cuales nos ayudan a
    comprenderlo desde varios frentes. Así, UML recomienda la
    utilización de nueve diagramas que,
    para representar las distintas vistas de un sistema. Estos
    diagramas de UML son los siguientes:

    • Diagrama de Casos de Uso: modela la
      funcionalidad del sistema agrupándola en descripciones
      de acciones
      ejecutadas por un sistema para obtener un
      resultado.
    • Diagrama de Clases: muestra las clases
      (descripciones de objetos que comparten características
      comunes) que componen el sistema y cómo se relacionan
      entre sí.
    • Diagrama de Objetos: muestra una serie de
      objetos (instancias de las clases) y sus
      relaciones.
    • Diagrama de Secuencia: enfatiza la interacción entre los objetos y los
      mensajes que intercambian entre sí junto con el orden
      temporal de los mismos.
    • Diagrama de Colaboración: igualmente,
      muestra la interacción entre los objetos resaltando
      la
      organización estructural de los objetos en lugar del
      orden de los mensajes intercambiados.
    • Diagrama de Estados: modela el comportamiento
      de acuerdo con eventos.
    • Diagrama de Actividades: simplifica el
      Diagrama de
      Estados modelando el comportamiento mediante flujos de
      actividades.
    • Diagrama de Componentes: muestra la organización y las dependencias entre un
      conjunto de componentes.

    Diagrama de Despliegue: muestra los dispositivos
    que se encuentran en un sistema y su distribución en el mismo.

    Analizando la mayor parte de las aplicaciones software
    nos podemos encontrar con elementos tan dispares como páginas
    Web, acceso a bases de datos,
    código C++, código Java, interfaz
    CORBA de acceso a un servidor C++,
    etc. Esta disparidad es el reto básico que tienen que
    afrontar los vendedores de herramientas
    CASE que quieran proporcionar un entorno de diseño
    integrado.

    Con los años va siendo mayor la capacidad de
    trabajar más con menos herramientas, lo que supone una
    mayor integración y una menor complejidad en las
    herramientas CASE, que  lleva a una mayor productividad.

    A la hora de alcanzar una mayor integración, UML
    se presenta como una buena alternativa, ya que se basa en un
    metamodelo extensible. El metamodelo UML es un modelo que
    describe modelos. Una visión de este modelo nos muestra
    elementos orientados a objetos como clases, atributos y
    métodos, todos ellos y sus interrelaciones representados
    como metaclases. Al modelo UML se le pueden añadir
    más metaclases, por ejemplo para describir modelos
    entidad-relación, así como realizar extensiones
    para tratar con interfaces como las definidas usando CORBA. El
    estándar UML define notaciones para representar la
    información y su interrelación desde una
    perspectiva gráfica, además soporta el uso de un
    formato de intercambio. El CASE Data Interchange Format (CDIF) es
    un anexo importante al UML, ya que, aunque UML especifica el tipo
    y la relación que existe entre la información que
    ha de ser almacenada en una biblioteca
    (repository), no especifica cómo se debe guardar esta
    información, dejando la elección a los distintos
    vendedores. El CDIF permite una representación ASCII para una
    biblioteca de diseños, dicha representación puede
    ser utilizada para transferir los datos del diseño de una
    herramienta CASE a otra, pudiendo ser utilizada por generadores
    de informes y
    otras herramientas de este estilo. Cuando decimos que una
    herramienta OOCASE "genera código", nos estamos refiriendo
    a cabeceras y prototipos en el caso de C++ o Java y a
    información de esquema en el caso de bases de datos
    relacionales. O sea, se proporciona la base para clases,
    métodos, y atributos en aplicaciones orientadas a objetos,
    así como tablas, columnas y relaciones en DBMS relacional.
    El tener una herramienta CASE que proporcione código de
    aplicación y de base de datos
    ayuda a garantizar que el modelo y su implementación
    estén sincronizados. Esta sincronización hace que
    la herramienta de modelado sea más útil para los
    desarrolladores. Sin un mecanismo integrado para guardar la
    implementación y el modelo sincronizados, se produce con
    frecuencia una desconexión entre ambos. Dicho de otra
    forma, es frecuente que las mejores soluciones se
    hagan evidentes en el proceso de implementación, si estas
    soluciones, que llevan con frecuencia a modificaciones en el
    diseño, no son realimentadas hacia atrás en el
    modelo de una forma conveniente, el modelo puede pasar a estar
    "out of date". El valor intrínseco del modelo se pierde
    desde el momento en que no podemos confiar en él y por lo
    tanto deja de usarse. Para soportar la generación de
    ficheros de cabecera y prototipos de métodos, debe haber
    una forma de asegurar que la herramienta no sobreescribe el
    cuerpo de los métodos y otro código y comentarios
    introducidos por el desarrollador. La forma más
    fácil y frecuente de hacer esto es introducir
    información del modelo dentro del código generado.
    Esto suele llevar a las protestas de los desarrolladores cuando
    utilizan por primera vez una herramienta de este tipo. Estas
    protestas son entendibles, ya que la legibilidad del
    código fuente se reduce de una forma significativa debido
    a la información introducida por la herramienta CASE en
    bloques de comentarios. Dos razones reducen la importancia del
    problema de "polución" del código:

    • Los desarrolladores están acostumbrados a ver
      los comentarios extra y filtrarlos mentalmente.
    • La utilización cada vez más frecuente
      de entornos de desarrollo integrado cada vez mas sofisticados
      (ej.: Visual Basic de
      Microsoft).
      Estos entonos ofrecen browsers para clases y métodos que
      hacen la navegación hacia declaraciones y definiciones
      específicas más sencillas, con lo cual los
      desarrolladores pueden evitar el "ruido"
      introducido en los ficheros de código
      nativos.

    Las herramientas OOCASE necesitan colaborar con otras
    aplicaciones a lo largo del ciclo de vida
    del proyecto. Esto es particularmente cierto en el caso del
    software de control de
    versiones. Debido a que los modelos están expuestos a
    frecuentes cambios durante el análisis y el diseño,
    muchos vendedores integran ya este tipo de software.
    Además, las herramientas CASE deben trabajar en un entorno
    multiusuario ya que los proyectos grandes
    los modelan y construyen equipos de desarrolladores. Las
    herramientas CASE que almacenan los modelos en ficheros del
    sistema operativo
    en vez de utilizar una biblioteca almacén,
    deben definir unidades de modelo que puedan ser utilizadas de
    forma concurrente por diferentes diseñadores y analistas.
    Estas unidades además deben estar bajo el control de
    algún software de versiones. La granularidad de las
    unidades de este tipo es un factor importante ya que con
    frecuencia diferentes partes del modelo están
    entrelazadas. Cuando un desarrollador coge una parte del modelo,
    esa parte debería ser lo suficientemente pequeña
    como para que otros desarrolladores puedan coger otros elementos
    del modelo y trabajar de una forma independiente. Hay que tener
    en cuenta que cualquier parte del modelo que es común a
    más de una unidad y a la que se acceda con frecuencia,
    puede convertirse en un cuello de botella para los procesos de
    modelado. Las herramientas OOCASE seguirán en el futuro
    soportando diferentes metodologías. Incluso cuando UML
    alcance su esperada penetración en el mercado,
    aparecerán otras metodologías con gran
    número de seguidores, existiendo siempre varias notaciones
    y metodologías activas. Es por eso, que será
    importante que las herramientas CASE que ahora almacenan la
    información del modelo en ficheros evolucionen hacia
    almacenes a
    los que puedan acceder diferentes herramientas. Esto hará
    más fácil el intercambio de información
    entre herramientas que realizan clases específicas de
    modelado. De todas formas es también deseable que se
    reduzca el número de herramientas CASE necesarias para
    modelar una aplicación.

    El número de herramientas CASE que soporta UML ha
    crecido muy considerablemente estos últimos
    años.

    UML sirve para hacer modelos que permitan:

    • Visualizar como es un sistema o como queremos que
      sea.
    • Especificar la estructura y/o comportamiento de un
      sistema.
    • Hacer una plantilla que guíe la
      construcción de los sistemas
    • Documentar las decisiones que hemos
      tomado

    El modelado sirve no solamente para los grandes
    sistemas; aún en aplicaciones de pequeño
    tamaño se obtienen beneficios de modelar, sin embargo, es
    un hecho que entre mas grande y más complejo es el
    sistema, el modelado juega un papel más importante. Esto
    se debe a una razón simple: "Hacemos modelos de
    sistemas complejos porque no podemos entenderlos en su
    totalidad
    "

    Hay límites
    para el entendimiento de la complejidad. A través del
    modelado reducimos el ámbito del problema de estudio al
    enfocar solo un aspecto a la vez.

    UML puede ser usado extensivamente en:
    Recopilación de requerimientos, Análisis de
    aplicaciones, Diseño de
    sistemas, en pruebas, en implementación, en reingeniería y prácticamente en
    cualquier actividad de desarrollo que sea susceptible de ser
    modelada.

    Cabe aclarar que aunque UML es orientado a objetos
    preferentemente, es útil en cualquier modelo
    tecnológico ya que es independiente de lenguajes de
    programación o tecnología
    determinada.

    Beneficios de esta
    tecnología.

    Los beneficios son claros al ocupar este lenguaje de
    modelamiento:

    Mejores tiempos totales de desarrollo (de 50% o
    más).
    En la mayoría de organizaciones
    hoy en día el tiempo que pasa desde que un proyecto
    arranca hasta que se estabiliza es más del doble de lo
    planeado originalmente. Con el uso de UML las fases de
    análisis y diseño consumirán mayor tiempo,
    pero el tiempo de construcción, implantación y
    estabilización se reducen drásticamente debido a
    que no hay correcciones mayores en las fases de mayor impacto de
    un proyecto.

    Mejor calidad. El uso de UML hace indispensable
    la participación del usuario en la definición de
    requerimientos y por lo tanto mejora considerablemente el apego
    del sistema a las necesidades de sus usuarios. El mantenimiento
    correctivo se reduce drásticamente (hasta un 80% con
    respecto a un sistema hecho sin metodología). Algo similar
    ocurre en los proyectos de reingeniería.

    Mejor soporte a la planeación
    y al control de proyectos.
    Al existir entregables definidos y
    estandarizados en las distintas fases de un proyecto y al ser
    éstos revisables y certificables por gente distinta del
    autor, tenemos que los planes de trabajo pueden ser
    fácilmente creados y corroborados en avance. Lo que
    permite tomar decisiones a tiempo.

    Mayor independencia
    del personal de
    desarrollo.
    Al tener documentadas las aplicaciones en un
    lenguaje estándar, podemos mover al personal de una
    aplicación a otra sin correr altos riesgos y sin
    depender del conocimiento personal de las
    aplicaciones.

    Mayor soporte al cambio
    organizacional, comercial y tecnológico.
    Un modelo
    permite cuantificar el impacto de un cambio antes de hacerlo y
    permite ensayar distintos enfoques de solución. Con UML un
    cambio se puede hacer primero en papel.

    Alto reuso. Los productos de
    un desarrollo pueden ser usados en otro. Se pueden crear
    componentes reusables que con la difusión y administración adecuadas minimizarán
    costos y
    errores.

    Minimización de costos. Los puntos antes
    mencionados tienen un impacto económico que generalmente
    tiende a ser proporcional al tamaño de la
    organización. {, 2000 #14}

    Al evaluar las ventajas que nos reporta el UML, y los
    numerosos sistemas que se han implementado basándose en
    resultados emitidos por el, nos proponemos usar como entrada a
    nuestro sistema, una salida del UML para suministrar el modelo
    inicial del algoritmo a desarrollar.

    Para ver el gráfico seleccione la
    opción "Descargar" del menú
    superior 

     Métodos Avanzados de Solución de
    Problemas.

    En nuestro estudio sobre las técnicas de EAC nos
    encontramos con la aplicación de los Métodos
    Avanzados de Solución de Problemas (MSP) en la
    construcción de Sistemas de Enseñanza.

    Desde principios de la
    década del 60, las computadoras sirvieron como base de los
    sistemas de enseñanza automatizados. A fines de los
    años 60 las investigaciones en esta esfera habían
    languidecido bastante, aunque existía la convicción
    de que la Enseñanza Asistida por Computadora debía
    proporcionar nuevos e importantes cambios a la
    enseñanza.

    En 1971 la NSF (National Science
    Foundation) de los Estados Unidos de América
    decide invertir 10 millones de dólares durante cinco
    años en los proyectos TICCIT (Time Sharing
    Interactive Computer Controlled
    Information) y PLATO (Programmed Logic
    for Automatic Teaching Operation). La
    finalidad de estos proyectos era demostrar que la
    Enseñanza Asistida por Computadora (EAC) podía
    proporcionar mejor enseñanza a menor costo. En esa
    época las computadoras eran bastante costosas y nada
    "amistosas", por ese motivo las premisas que rigieron aquellos
    proyectos no son exactamente las reglas que se emplean hoy en
    día para la producción de ambientes educativos
    asistidos por computadora.

    Durante parte de los años 70 y hasta comienzos de
    los 80 se produce un estancamiento, principalmente debido a la
    falta de madurez del desarrollo tecnológico: los reducidos
    rendimientos y prestaciones
    de las computadoras en comparación con sus costos y
    también debido al escaso desarrollo conceptual y
    metodológico.

    Un importante momento para los sistemas de EAC en
    particular y para el mundo en general fue, sin lugar a dudas, el
    surgimiento del micro procesador, que
    rompió con las grandes limitaciones inherentes a grandes
    centros de cálculo
    asociados a costos muy elevados e inalcanzables para los sistemas
    de educación de cualquier país. En los
    últimos años se han diseñado e implementado
    ambientes de aprendizaje poderosos, que se compenetran con las
    características de los procesos de aprendizaje en forma
    efectiva y que involucran una nueva concepción del
    aprendizaje.

    Las técnicas de la Inteligencia
    Artificial se han incorporado a los sistemas de EAC,
    acuñándose el nuevo término
    Intelligent CAI (ICAI) lo que ha permitido
    dotar a los sistemas de EAC de un comportamiento que no se limita
    a mostrar textos o imágenes.
    Con estas técnicas, los nuevos sistemas disponen de un
    verdadero conocimiento sobre la materia que se
    enseña y permiten mostrar a los alumnos los pasos del
    razonamiento.

    Los términos «Inteligencia
    Artificial» y «Educación» definen el
    carácter distintivo de una actividad de
    investigación preocupada por el desarrollo de sistemas
    educativos basados en tecnologías avanzadas ver en la
    web para poner
    algo en la base de datos que toman en consideración
    diversos aspectos del conocimiento. Hoy en día el uso
    conjunto de las nuevas
    Tecnologías de la Información y las Telecomunicaciones, y las tendencias
    pedagógicas, impulsan una constante evolución; desde los primeros programas de
    enseñanza asistidos por ordenador en los años 50,
    sistemas Computer Assisted Instruction (CAI), pasando por
    los Sistemas Tutores Inteligentes (STI) hasta el momento presente
    en el que las posibilidades de los actuales sistemas hipermedia y
    multimedia, la
    World Wide Web y las tendencias de trabajo en grupo
    (sistemas colaborativos) acrecientan el imparable desarrollo de
    la instrucción a distancia y no presencial.

    El aprendizaje es una actividad consustancial al ser
    humano. Se aprende a lo largo de toda la vida, aunque no siempre
    en forma sistemática: a veces es fruto de las
    circunstancias del momento; otras de actividades planeadas por
    alguien (la persona misma o un agente externo) y que el aprendiz
    lleva a cabo en aras de dominar aquello que le interesa
    aprender.

    El ambiente de aprendizaje está determinado por
    el entorno físico, psicológico y las estrategias
    utilizadas para la enseñanza y aunque resulta importante,
    no es lo que determina, en última instancia, qué se
    aprende; es la actividad del aprendiz el punto focal del
    problema, ya que ni aún en un entorno "ideal" se
    logrará un aprendizaje efectivo sin que el estudiante
    desarrolle las actividades asociadas con éste.

    Existen diversas teorías sobre el aprendizaje y
    en nuestra opinión ninguna de ellas debe ser
    menospreciada, ya que todas aportan en mayor o menor medida
    elementos sobre la adquisición del conocimiento. Estas
    teorías con diferentes matices oscilan entre dos
    polos:

    • Conductismo.
    • Cognoscitivismo.

    En el primer caso no se toma en cuenta el sujeto que
    aprende, se consideran sólo las condiciones externas que
    ayudan al aprendizaje. Se describe como el modelo de la "caja
    negra" que presenta la enseñanza como pequeños
    eventos programados, que conducen a lograr un objetivo dado y
    utiliza reforzamientos de acuerdo a las respuestas obtenidas,
    teniendo siempre en mente la consecución del objetivo en
    cuestión.

    Por otra parte, el punto de vista cognoscitivo considera
    a la persona como lo fundamental y en contraposición al
    caso previo se dice que es un modelo de "caja transparente", ya
    que lo que cuenta es el aprendiz dentro de su entorno
    psicológico y social. Esta corriente centra sus esfuerzos
    en explicar los procesos mentales y las estructuras de la memoria
    humana con el fin de comprender la conducta.

    El RBC en la
    informática educativa.

    En los diferentes tipos de sistemas que se pueden
    desarrollar en el campo de la informática educativa las
    herramientas basadas en casos se pueden usar para construir,
    acceder y usar casos como parte de un marco computacional
    más amplio. Por ejemplo, en el sistema SHERLOCK, el
    RBC se emplea para identificar las situaciones y explicaciones
    previas que podrían potencialmente afectar la
    explicación que se construye.

    Una componente importante de cualquier proceso de
    aprendizaje es satisfacer las necesidades de información,
    acceder a la información que permite responder una
    pregunta, tomar una decisión, resolver un problema o
    ayudar a comprenderlo. El acceso a información es una
    actividad fundamental en el aprendizaje. La ventaja distintiva
    del empleo de una
    biblioteca basada en casos para acceder a la información
    es la posibilidad de integrar gran cantidad de información
    en representaciones alternativas y de buscarla
    asociativamente.

    Seguidamente se describen dos aplicaciones del RBC en el
    área de la instrucción asistida por
    computadoras.

    El sistema SHERLOCK antes mencionado es un
    sistema inteligente para entrenar técnicos de
    aviación en el análisis de problemas en equipos
    electrónicos complejos, su uso minimiza la
    interacción con el tutor (humano) y además permite
    revisar el desempeño del técnico en una
    sesión posterior, esto último es muy importante
    pues numerosos experimentos han
    indicado que como el aprendizaje en el contexto de la
    solución de tareas es un esfuerzo cognitivo significativo
    en las sesiones posteriores de trabajo es donde los estudiantes
    pueden revisar sus propias acciones y compararlas con el trabajo de
    los expertos y es allí donde se materializa gran parte de
    la instrucción.

    Cada paso ejecutado por los estudiantes el sistema lo
    evalúa como "bueno" o "podría ser mejorado". Esta
    evaluación se realiza determinando cuales rasgos
    caracterizan la acción y calificándolos en buenos
    (b), malos (m) o regulares (r), luego SHERLOCK
    evalúa cada acción con respecto a un conjunto de
    rasgos a los que se han asociado un juicio sobre si los rasgos
    indican un resultado bueno o que podría ser mejorado. Para
    esto se utiliza el razonamiento basado en casos.

    Para ello el algoritmo del sistema construye una
    estructura de datos denominada Grafo Aciclico Dirigido (GAD) el
    cual indica las acciones previas que son similares a una dada. La
    raíz del GAD representa la acción actual y los
    rasgos de interés
    (los evaluados de mal). Cada nodo en el GAD representa un
    conjunto de las acciones que comparten el mismo conjunto de
    rasgos de interés, mientras más rasgos un nodo
    tenga en común con la acción actual más
    semejante será al nodo raíz.

    Una vez encontrada una situación adecuada el
    sistema decide como usar esta al generar la explicación
    necesaria en ese momento.

    • RBC y el Diseño Asistido por Computadoras
      (CAD) en las asignaturas de las carreras de Ingeniería
      Mecánica.

    1.2 El
    razonamiento basado en casos para tareas de
    diseño.

    Anteriormente presentamos un ejemplo de sistema basado
    en casos para resolver problemas de diseño y la
    técnica en la que se basa. En este se analizará
    cómo el razonamiento por analogía y particularmente
    el RBC se ha utilizado en el desarrollo de sistemas para el
    diseño asistido por computadoras (CAD systems).

    Kolodner describe la problemática del
    diseño de la forma siguiente. En el diseño los
    problemas se definen como un conjunto de restricciones, y el que
    resuelve problemas se invoca para construir un artefacto concreto
    que satisfaga las restricciones del problema. Las restricciones
    ofrecen una guía pero no señalan al que resuelve
    problemas una dirección de búsqueda particular. El
    espacio de búsqueda es enorme, pudiendo existir muchas
    respuestas posibles pero lo suficientemente dispersas dentro del
    espacio, de modo que los métodos de búsqueda
    estándares requieren demasiado tiempo para hallarlas.
    Además, el problema puede ser demasiado grande para
    resolverlo como un todo pero como sus partes interactúan
    fuertemente, resolver cada parte aisladamente y luego integrarlas
    casi siempre lleva a que se violen las interacciones entre las
    partes (lo que se denomina duramente descomponible).

    A la vez, el dominio del diseño se caracteriza
    por la relevancia que tienen las experiencias (casos) previas
    para sugerir ideas que frecuentemente ayudan a enfrentar nuevos
    problemas de diseño, proponer y refinar las soluciones,
    criticar y modificar los diseños propuestos y justificar
    su selección. Sin embargo, a pesar de la aparente
    abundancia y uso extensivo de los diseños anteriores los
    diseñadores no tienen siempre acceso a los casos
    apropiados. Ellos no están organizados en bibliotecas sino
    que frecuentemente están esparcidos en archivos,
    publicaciones, libros y en las memorias de
    otros diseñadores. Algunas firmas tienen pequeñas
    colecciones con los diseños de su propiedad pero
    organizadas de forma que resulta difícil determinar su
    relevancia para con el nuevo problema.

    Es por todo lo anterior que el razonamiento basado en
    casos puede ofrecer el camino hacia la elaboración del
    nuevo diseño. En lugar de resolver los problemas
    descomponiéndolo en sus partes, resolviendo cada parte y
    recomponiéndolas, un caso sugiere una solución
    completa, y las partes que no se adecuen a la nueva
    situación se adaptan. Resolver un problema adaptando una
    solución vieja evita que el que resuelve problemas tenga
    que tratar con muchas restricciones que se cumplen en la nueva
    situación. Aunque sea necesario hacer un trabajo de
    adaptación considerable esta tecnología es casi
    siempre preferible a generar una solución desde estadios
    muy tempranos del diseño cuando hay muchas restricciones y
    las partes del problema no son fácilmente recompuestas. En
    la ingeniería y en la arquitectura el
    proceso de diseño es casi enteramente un proceso de
    adaptar o mezclar varias soluciones viejas para resolver el nuevo
    problema.

    La otra contribución importante del RBC es que
    permite señalar los problemas de las soluciones
    propuestas.

    Resumiendo, el RBC es útil para tareas de
    diseño pues este dominio se caracteriza por:

    • Ejecutar un diseño requiere de experiencia
      previa.
    • Frecuentemente es difícil representar la
      heurística del experto en diseño a través
      de reglas.
    • El diseño de un producto se puede realizar a
      partir de diseños realizados antes.
    • Usualmente están disponibles muchos casos de
      diseño.
    • Este dominio se caracteriza por la existencia de
      casos excepcionales con cierta regularidad, lo que dificulta el
      empleo de reglas u otros medios para
      realizar generalizaciones.

    Además, el RBC es una tecnología adecuada
    pues mediante la memoria
    permanente y los métodos de búsqueda se puede poner
    a disposición del diseñador un gran volumen de
    experiencia previa a través de casos resueltos y a partir
    de esta información el mismo puede construir la
    solución deseada; lo que esta totalmente de acuerdo con el
    termino Diseño Asistido por Computadora. Este
    método es muy usado en las carreras de Mecánica.

    1. MALCON: Sistema
      automatizado de ayuda al aprendizaje y el diagnóstico de malformaciones
      congénitas

    En Cuba existen
    experiencias de la aplicación de sistemas sustentados en
    RBC en la docencia
    médica, ejemplo de ello, es la propuesta por el sistema
    automatizado de ayuda al aprendizaje y diagnóstico de
    malformaciones congénitas.

    Calidad de software

    Un aspecto importante a considerar en el contexto del
    análisis y diseño de algoritmos es la calidad final
    y por etapas del software elaborado.

    Debido a la cantidad creciente de aplicaciones de
    software educativo que están disponibles para crear y
    administrar contenidos de cursos basados en tecnología, se
    plantea la necesidad de contar con técnicas que permitan
    medir y evaluar los productos desarrollados.

    La evaluación es una de las actividades
    más comunes entre los seres humanos y de las de mayor
    impacto en el ámbito educativo: consume una gran cantidad
    de tiempo y energía de los profesores, afecta a millones
    de alumnos, repercute en la vida de las familias y, de sus
    resultados, se siguen consecuencias -impacto- para la
    sociedad.

    Los criterios ofrecen orientaciones para una
    descripción del uso posible y pedagógicamente
    viable. Algunos de los aspectos involucrados en el proceso de
    enseñanza / aprendizaje que interesan analizar
    cuidadosamente son los siguientes:

    • la modalidad elegida, el rol que desempeña el
      evaluador en el proceso, el comportamiento del producto, el uso
      del producto para lograr los objetivos, el enfoque
      pedagógico empleado, las actividades cognitivas que
      persigue, los recursos
      empleados y el avance de los conocimientos por parte del
      alumno.

    ALGUNAS
    EXPERIENCIAS

    Existen numerosos trabajos que hacen referencia a la
    utilidad y calidad en una herramienta para educación. Uno
    de los trabajos que se ha tenido en cuenta como referencia
    importante es "Calidad en Educación a Distancia", de Dr.
    Richard Bothel y Suzanne Store publicado en 1998 y cuyas ideas se
    consideran a continuación.

    Los educadores que actualmente desarrollan software
    educativo que cumplan con las necesidades de los alumnos de
    hoy en día, continúan enfrentando las disputas de
    la comunidad de
    educadores tradicionales y de los organismos de
    acreditación. Las tecnologías
    educativas y metodologías de aprendizaje que se
    emplean para generar programas de educación flexible a los
    alumnos son considerados como que no cumplen estándares de
    calidad apropiados. Este supuesto es realizado en función
    de que "el aula es el mejor lugar para que ocurra el
    aprendizaje". Las metodologías de Educación basada
    en Tecnología son principalmente juzgadas en base a su
    habilidad para duplicar las experiencias del aula. Son necesarios
    nuevos métodos para asegurar y validar la calidad de los
    programas de Educación basada en
    Tecnología.

    Se debe destacar que las experiencias que se mencionan a
    continuación provienen por un lado de resultados de
    trabajos efectuados en diferentes ámbitos de
    investigación empresariales y por otro lado del
    ámbito estrictamente académico.

    Algunas de las investigaciones realizadas en los
    últimos años concluyen en que se han obtenido
    resultados positivos al emplear métodos de
    educación basados en tecnología. Se ha demostrado
    que la educación proporcionada utilizando
    tecnología es equivalente o mejor que la proporcionada en
    un aula tradicional.

    Otro estudio realizado en 1992, en la Universidad del
    Estado de Pennsylvania, sugirió que el empleo de entrenamiento
    basado en tecnología retuvo a los participantes en una
    proporción igual o superior al de una clase
    tradicional.

    Por otro lado, otro estudio reveló que la
    instrucción basada en tecnología que emplea
    video
    alcanzó un nivel de retención superior entre un 25%
    a 50% al de una clase tradicional (Multimedia and Videodisc
    Monitor,
    1992).

    Existen numerosas evidencias que
    muestran que la calidad del aprendizaje es superior al utilizar
    entrenamiento basado en tecnología, que la
    instrucción tradicional (Wall Street Journal,
    1996).

    Asimismo, se demuestra que el entrenamiento basado en
    tecnología puede reducir el tiempo planeado para el curso
    entre un 20% a 80% comparado con un curso tradicional , debido en
    alguna medida a que el participante puede "saltar" aquellos
    conocimientos que tiene incorporado previamente (Training and
    Development, 1996).

    Asimismo, numerosas empresas han concluido que el
    entrenamiento basado en tecnología puede reducir hasta un
    50% el tiempo empleado comparado con el entrenamiento en una
    clase tradicional.

    En cuanto al ámbito académico se pueden
    destacar numerosos estudios y experiencias que demuestran la
    conveniencia del uso de software educativo basado en
    tecnología para favorecer la interacción y la
    motivación en el proceso de enseñanza –
    aprendizaje/entrenamiento.

    En particular abundaremos en la experiencia realizada
    con los alumnos de la carrera de Licenciatura en
    Informática de la Universidad Nacional de La Plata. La
    misma consistió en que los alumnos asistían al
    curso de ingreso tradicional y disponían además de
    una herramienta multimedial que les permitía ejecutar y
    verificar sus soluciones a los problemas planteados en las
    prácticas del curso. Se pudo comprobar que esta
    experiencia ha sido positiva para los integrantes debido a que
    creció el grado de interés, atención y participación.
    Además, la utilización de la herramienta
    sirvió para un mejor análisis y comprensión
    de los contenidos del curso observados a partir de los resultados
    del seguimiento efectuado a los alumnos durante el 1er
    cuatrimestre en la asignatura Programación de Computadoras
    de la carrera.

    Todas las experiencias referidas anteriormente han
    tenido en cuenta de alguna manera la evaluación de la
    calidad tanto del software educativo usado como del proceso de
    enseñanza aprendizaje.

    En el ámbito de la reflexión
    científica y de su desarrollo práctico las
    propuestas para evaluar software educativo han sido casi tan
    variadas y numerosas como la diversidad y número de
    quienes se han ocupado de estudiar el tema. Una de estas formas
    es la de evaluación de software educativo mediante
    planillas, con experiencias concretas con diferentes productos,
    con docentes de
    distinto nivel y también con un número importante
    de alumnos/usuarios.

    Naturalmente no se trata de un resultado "definitivo",
    sino la exposición
    de los aspectos positivos y negativos de los trabajos
    experimentales realizados en el ámbito académico de
    la UNLP, trabajo en el que se destaca una metodología que
    rescata los aspectos multidisciplinarios del producto "software
    educativo" y trata de obtener una valoración orientativa
    de la calidad de un determinado producto educativo,
    valoración que depende del contexto educativo, el perfil
    de los alumnos, el grado de adaptación del docente y las
    características mismas del evaluador.

    Conclusiones.

    Con la investigación realizada hemos podido
    comprobar:

    1. La importancia de las técnicas de
      Enseñanza Asistida por Computadoras para el desarrollo
      eficiente del proceso de enseñanza-aprendizaje en el
      contexto educacional actual.
    2. La aplicabilidad de los Métodos Avanzados de
      Solución de Problemas y las técnicas de
      Inteligencia Artificial en la construcción de sistemas
      de enseñanza.
    3. Los esfuerzos realizados en el mundo por ayudar a
      estudiantes y programadores a mejorar la calidad del software
      que se diseña.
    4. Aún existen deficiencias en el proceso de
      enseñanza-aprendizaje, dada la complejidad que presupone
      impartir y asimilar temas relacionados con las estructuras de
      datos y su adecuada selección para representar la
      información y las operaciones que con ellas se realizan,
      lo que dificulta la obtención de algoritmos
      eficientes.
    5. El problema que se plantea no sólo debe
      analizarse en el momento en que se aprende sino también
      cuando se desarrolla una aplicación que utiliza
      algoritmos que por su complejidad pueden dar por resultado que
      el producto obtenido no sea lo suficientemente
      eficiente.
    6. Es posible elaborar, como uno de los resultados de
      nuestra investigación, diseñar una herramienta
      que ayude al análisis de la complejidad de algoritmos y
      sus Estructuras de Datos, contribuyendo al desarrollo de
      productos de software de la más alta calidad, en el
      tiempo oportuno y con un mínimo costo.

    Bibliografía.

    Adams, J. (1991). "A comparison of computer assisted
    instructional methods." International Journal of
    Mathematical Education in Science and Technology
    22-6: 889 – 893.

    1. Almeida Campos, S. (1997). MALCON: Sistema
      automatizado de ayuda al aprendizaje y el diagnóstico
      de malformaciones congénitas. Relatoría del
      Taller de Informática en la Educación, La
      Habana, Cuba.
    2. Anderson, J. R. (1983). The architecture of
      cognition. Cambridge, MA: Harvard University
      Press.
    3. Barrios, A. M. (1997). REFLEXIONES EPISTEMOLOGICAS
      Y METODOLOGICAS EN LA ENSEÑANZA DE LAS CIENCIAS PARA
      TODOS BOLETIN 44, diciembre 1997 / Proyecto Principal de
      Educación
    4. Bello, R. (2001). Razonamiento Basado en
      Casos. Las Villas. Cuba.
    5. BERTONE, D. G., GORGA, MADOZ (1995). Una
      propuesta de curso interactivo multimedial para el ingreso a
      Informática en la UNLP. 1er. CACIC., Bahía
      Blanca.
    6. Blackwell, A. F. (1998). Metaphor or Analogy: How
      Should We See Programming Abstractions? Proceedings of the
      8th Annual Workshop of the Psychology of Programming Interest
      Group.: 105-113.
    7. Booch, G. (1999). El lenguaje unificado de
      modelado, Addison-Wesley.
    8. Brandes, A. (1991). Treasureworld: A computer
      enviroment for the study and exploration of feedback.
      Constructionism: 391-417.
    9. Bravo, J., Ed. (1999). Aprendizaje por
      descubrimiento en la enseñanza a distancia: Conceptos
      y un caso de estudio. Universidad de Castilla-La Mancha.,
      Grupo de Informática Educativa.Departamento de
      Informática.
    10. Brown, J. S. (1985). "Process versus product: A
      perspective on tools for communal and informal electronic
      learning." Journal of Educational Computing Research
      2.
    11. Brusilovsky, P. (2000). "Course sequencing for
      Static Courses? Applying ITS Techniques in Large-Scale
      Web_Based Education." Proceedings of Intelligent Tutoring
      Systems Gilles G., Frasson C and VanLehn K. Springer
      Verlag: 625-634.
    12. Cabrera, A. (1995). "Informática educativa:
      La revolución construccionista."
      Informática y Automática 28-1:
      24-31.
    13. CHAMPREDONDE, D. G. (1997). Design and
      Implementation of The Visual Da Vinci Language. . Facultad
      de Informática, UNLP. Perú.
    14. CHAMPREDONDE, R., DE GIUSTI (1998). Visual Da
      Vinci Extension for Real Robot Control. LIDI. I Conferencia
      de robotica,
      UNLP, Perú.
    15. COHEN, D. K. (1988). Educational technology and
      School Organitation.
    16. CUBAN, L. (2000). Computers meet classroom:
      Classroom wins.
    17. Duffy, T. (1991). "Constructivism: New implications
      for instructional technology." Educational Technology
      Research & Development.
    18. Gall, J. E. (1994). "A framework for the study of
      hypertext." Instructional Science
      22.
    19. Glaser, R. (1991). Scientific reasoning across
      different domains. Computer-Based learning environments and
      problem solving. Berlin, Germany,
      Spring-Verlag,.
    20. Gómez, D. d. M. M. (2000). TENDENCIA DE
      FUTURO DE LAS HERRAMIENTAS UML.Consuegra. Estudio de diversas
      herramientas UML para el desarrollo de software.
    21. GORGA, G. y. M., C (2000). Experiencia en el
      desarrollo y utilización de un Curso Interactivo
      Multimedial para el Ingreso a Informática en la
      UNLP.
    22. Group, O. M. (2000). UML.
    23. Group, O. M. (2001). UML version 1.4.
    24. Hennessy, S. (1993). "Learner perceptions of
      realism and magic in computer simulations." British
      Journal of Educational Technology 24.
    25. HODAS, S. (1993). Technology refusal and the
      organitation nature of schools.
    26. Hodson, D. (1996). "Laboratory works as scientific
      method: three decades of confusion and distortion." JCS
      Journal of curriculum
      studies 28-2.
    27. Jonassen D., M. T. a. M. R. (2001). Sistemas
      Inteligentes en el ámbito de la educación.
      2003.
    28. Jonnan, T. (1996). Discovery learning with
      computer simulations of conceptual domains.
      Simpósio Investigação e Desenvolvimento
      de Software Educativo. Conferências, Universidad Nova
      de Lisboa, Portugal.
    29. Khasawneh, A. A. (1994). "An intelligent CAI
      project for teaching mathematical concepts. I."
      International Journal of Mathematical Education in Science
      and Technology. 25-4: 325 – 332.
    30. Kolodner, J. L. (1992). "An introduction to CBR."
      Artificial Intelligence Review 6,
      3-34
      .
    31. Lezcano, M. (1998). "Ambientes de aprendizaje por
      descubrimiento para la disciplina Inteligencia
      Artificial".
    32. LOVELESS, T. (1996). Why aren't computers used more
      in school?
    33. MADOZ, B. (1994). Multimedia y aplicaciones en
      educación.
    34. MOLINARI, D. G., MADOZ, PESADO. LUBO-1 (1992).
      Un modelo de máquina abstracta para un primer curso
      universitario de programación. XIV Conferencia
      Latinoamericana de Informática. Multimedia and
      Videodisc Monitor., Perú.
    35. Newell, A. (1972). Human problem solving.
      Englewood Cliffs, NJ: Prentice Hall.
    36. Ohlsson, S. (1986). "Some principles of intelligent
      tutoring." Instructional Science 14:
      293-326.
    37. PALACIOS, A. C., R. y AINCHIL, V (2000).
      Teaching Experiences in Programming Using the Visual Da
      Vinci Language. First International Congreso on Tools for
      Teaching Logic, , Universidad de Salamanca.
    38. Reeves, T. (1991). Designing CAL to support
      learning: The case of multimedia in Higher Education.
      Nordic Conference on Computer-Aided Higher Education,
      Helsinki University of Technology, Finland, August
      1991.
    39. Ruíz, A. J. S. and A. F. P. Ribeiro (1998).
      Algunos Criterios para la Construcción de Animaciones
      de Algoritmos con Propósitos Pedagógicos.
      Venezuela,
      Laboratorio de Construcción de
      Herramientas Automáticas (AuTooLab) Centro de Ingeniería
      de Software Y Sistemas (ISYS) Escuela de
      Computación, Facultad de Ciencias Universidad Central
      de Venezuela.
    40. Ruiz, F. (1996). "Nuevas herramientas
      tecnológicas para la realización de cursos por
      computador." Revista de Enseñanza y
      Tecnología, 5: 21 – 31.
    41. RUSSELL, T. (1995). The "No significant
      difference". Phenomenon.
    42. Sanz, A. (2000). Introducción a UML.
    43. Self, J. A. (1999). "The defining characteristics
      of intelligent tutoring systems research: ITS care,
      precisely." Journal of Artificial Intelligence in
      Education 10-3-4: 350 – 364.
    44. Vazirani, M. J. K. a. U. V., Ed. (2001). An
      Introduction to Computational Learning Theory, The Bactra
      Review. Occasional and eclectic book reviews by Cosma Shalizi
      How to Build a Better Guesser.

     

     

    Autor:

    Lic. Yolanda Soler Pellicer

    Dr. Mateo Lezcano Brito

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter