descargar 1.5 Mb.
|
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() TUTOR EN AMBIENTE WEB PARA EL ACOMPAÑAMIENTO EN EL ÁREA BÁSICA DE COMPUTADORES. MICHAEL JONATHAN ROJAS BEJARANO MIGUEL ÁNGEL VARGAS CABEZAS PROYECTO PARA OPTAR POR EL TÍTULO DE INGENIERO DE SISTEMAS DIRECTOR INGENIERIL MARÍA ISABEL DAVID ASESORA METODOLÓGICA ROSALBA CRUZ C. Especialista en pedagogía UNIVERSIDAD ANTONIO NARIÑO FACULTAD DE INGENIERÍA DE SISTEMAS BOGOTÁ D.C. 2011 TABLA DE CONTENIDO RESUMEN INTRODUCCIÓN
ANEXOS LISTA DE TABLAS Tabla 1. Jueces Encargados de la validación de fondo Tabla 2. Jueces Encargados de la validación de fondo Tabla 3. Caso de uso Registrar Usuario Tabla 4. Caso de uso Validar Usuario Tabla 5. Caso de uso Recordar Contraseña Tabla 6. Caso de uso Seleccionar opción. Tabla 7. Caso de uso Explicar Temática. Tabla 8. Caso de uso Practicar Tabla 9. Caso de uso Presentar Evaluación Tabla 10. Caso de uso Compilar Tabla 11. Caso de uso Ver resultados Tabla 12. Caso de uso Ver sugerencias Tabla 13. Caso de uso Consultar Históricos Tabla 14. Caso de uso Salir Tabla 15. Caso de uso Editar Perfil Tabla 16. Caso de uso Cambiar contraseña Tabla 17. Caso de uso Administrar explicación por tema Tabla 18. Caso de uso Consultar Preguntas Tabla 19. Caso de uso Modificar Preguntas Tabla 20. Caso de uso Borrar Preguntas Tabla 21. Caso de uso Ingresar Preguntas Tabla 22. Caso de uso Ingresar Sugerencias Tabla 23. Caso de uso Editar sugerencias Tabla 24. Caso de uso Consultar o eliminar sugerencias Tabla 25. Resultado prueba en exploradores Tabla 26. Fases del compilador sintáctico Tabla 27. Elementos reconocibles por el lenguaje pero que no son tokens Tabla 28. Palabras reservadas Tabla 29. Otros tokens Tabla 30. Expresiones regulares palabras reservadas Tabla 31. Otras expresiones regulares LISTA DE FIGURAS Figura1. Funcionamiento de la directiva de preprocesamiento Figura 2. Esquema por etapas de un traductor Figura 3. Proceso de compilación. Figura 4. Organigrama de la Universidad Antonio Nariño Figura 5. Organigrama facultad de sistemas Figura 6. Modelado de Negocio Figura 7. Modelo del casos de uso del negocio del Estudiante. Figura 8. Modelo del casos de uso del negocio del Administrador. Figura 9. Modelo Dominio del Negocio Figura 10. Modelo de Objetos Registrar Usuario Figura 11. Modelo de Objetos Validar Usuario Figura 12. Modelo de Objetos Recordar contraseña Figura 13. Modelo de Objetos Seleccionar Opción Figura 14. Modelo de Objetos Explicar temática Figura 15. Modelo de Objetos Practicar Figura 16. Modelo de Objetos Presentar evaluación Figura 17. Modelo de Objetos Compilar Figura 18. Modelo de Objetos Ver Resultados Figura 19. Modelo de Objetos Ver Sugerencias Figura 20. Modelo de Objetos Consultar Históricos Figura 21. Modelo de Objetos Salir Figura 22. Modelo de Objetos Editar perfil Figura 23. Modelo de Objetos Cambiar contraseña Figura 24. Modelo de Objetos Administrar Explicaciones por temática Figura 25. Modelo de Objetos Consultar Preguntas Figura 26. Modelo de Objetos Ingresar Preguntas Figura 27. Modelo de Objetos Borrar Preguntas Figura 28. Modelo de Objetos Modificar Preguntas Figura 29. Modelo de Objetos Ingresar Sugerencias Figura 30. Modelo de Objetos Editar sugerencias Figura 31. Modelo de Objetos Consultar y/o Eliminar Sugerencias Figura 32. Caso de uso Registrar Usuario Figura 33. Caso de uso Validar Usuario Figura 34. Caso de uso Recordar Contraseña Figura 35. Caso de uso Seleccionar opción. Figura 36. Caso de uso Explicar Temática Figura 37. Caso de uso Practicar Figura 38. Caso de uso Presentar Evaluación Figura 39. Caso de uso Compilar Figura 40. Caso de uso Ver resultados Figura 41. Caso de uso Ver sugerencias Figura 42. Caso de uso Consultar Históricos Figura 43. Caso de uso Salir Figura 44. Caso de uso Editar Perfil Figura 45. Caso de uso Cambiar contraseña Figura 46. Caso de uso Administrar explicación por tema Figura 47. Caso de uso Consultar Preguntas. Figura 48. Caso de uso Modificar Preguntas Figura 49. Caso de uso Borrar Preguntas Figura 50. Caso de uso Ingresar Preguntas Figura 51. Caso de uso Ingresar Sugerencias Figura 52. Caso de uso Editar sugerencias Figura 53. Caso de uso Consultar o eliminar sugerencias Figura 54. Diag. de casos de uso Figura 55. Diag. de secuencia Caso de Uso Registrar usuario. Figura 56. Diag. de secuencia Caso de Uso Validar usuario Figura 57. Diag. de secuencia Caso de Uso Recordar Contraseña Figura 58. Diag. de secuencia Caso de Uso Seleccionar Opción Figura 59. Diag. de secuencia Caso de Uso Explicar Temática Figura 60. Diag. de secuencia Caso de Uso Practicar Figura 61. Diag. de secuencia Caso de Uso Presentar Evaluación Figura 62. Diag. de secuencia Caso de Uso Compilar Figura 63. Diag. de secuencia Caso de Uso Ver Resultados Figura 64. Diag. de secuencia Caso de Uso Ver Sugerencias Figura 65. Diag. de secuencia Caso de Uso Consultar Históricos Figura 66. Diag. de secuencia Caso de Uso Salir Figura 67. Diag. de secuencia Caso de Uso Editar Perfil Figura 68. Diag. de secuencia Caso de Uso Cambiar Contraseña Figura 69. Diag. de secuencia Caso de Uso Administrar explicación por tema Figura 70. Diag. de secuencia Caso de Uso Consultar Preguntas Figura 71. Diag. de secuencia Caso de Uso Modificar Preguntas Figura 72. Diag. de secuencia Caso de Uso Borrar Preguntas Figura 73. Diag. de secuencia Caso de Uso Ingresar Preguntas Figura 74. Diag. de secuencia Caso de Uso Ingresar Sugerencias Figura 75. Diag. de secuencia Caso de Uso Editar sugerencias Figura 76. Diag. de secuencia Caso de Uso Consultar o Eliminar Sugerencias Figura 77. Diag. de actividades del Casos de uso registrar usuario Figura 78. Diag. de actividades del Casos de uso validar usuario Figura 79. Diag. de actividades del Casos de uso Recordar contraseña Figura 80. Diag. de actividades del Casos de uso Seleccionar opción Figura 81. Diag. de actividades del Casos de uso Explicar temática Figura 82. Diag. de actividades del Casos de uso Practicar Figura 83. Diag. de actividades del Casos de uso Presentar evaluación Figura 84. Diag. de actividades del Casos de uso Compilar Figura 85. Diag. de actividades del Casos de uso Ver resultados Figura 86. Diag. de actividades del Casos de uso Ver sugerencias Figura 87. Diag. de actividades del Casos de uso Consultar históricos Figura 88. Diag. de actividades del Casos de uso Salir Figura 89. Diag. de actividades del Casos de uso Editar perfil Figura 90. Diag. de actividades del Casos de uso Cambiar contraseña Figura 91. Diag. de actividades del Casos de uso Administrar explicación por tema Figura 92. Diag. de actividades del Casos de uso Consultar preguntas Figura 93. Diag. de actividades del Casos de uso Modificar preguntas Figura 94. Diag. de actividades del Casos de uso Borrar preguntas Figura 95. Diag. de actividades del Casos de uso Ingresar preguntas Figura 96. Diag. de actividades del Casos de uso Ingresar sugerencias Figura 97. Diag. de actividades del Casos de uso Editar sugerencias Figura 98. Diag. de actividades del Casos de uso Consultar o eliminar sugerencias Figura 99. Diag. de clases Figura 100. Diag. de objetos Figura 101. Diag. de despliegue Figura 102. Diag. de componentes Figura 103. Diag. Entidad Relación Figura 104. Fases del compilador sintáctico Figura 105. Aut. finíto para los identificadores del compilador sintáctico Figura 106. Aut. finíto para los numeros enteros del compilador sintáctico Figura 107. Aut. finíto para los numeros reales del compilador sintáctico Figura 108. Aut. finíto para los op. de comparacion del compilador sintáctico Figura 109. Aut. finíto para los op.de asociacion del compilador sintáctico Figura 110. Aut. finíto para los op.aritmeticos y de asignacion del compilador sintáctico Figura 111. Aut. de las P. reservadas que empiezan con las letras a y b Figura 112. Aut. de las P. reservadas que empiezan con la letra c. Figura 113. Aut. de las P. reservadas que empiezan con la letra d. Figura 114. Aut. de las P. reservadas que empiezan con la letra e. Figura 115. Aut. de las P. reservadas que empiezan con las letras f y g. Figura 116. Aut. de las P. reservadas que empiezan con las letras i y l. Figura 117. Aut. de las P. reservadas que empiezan con la letra r. Figura 118. Aut. de las P. reservadas que empiezan con la letra s. Figura 119. Aut. de las P. reservadas que empiezan con las letras t y u. Figura 120. Aut. de las P. reservadas que empiezan con las letras v y w. Figura 121. Continuación del autómata con las letras restantes. Figura 122. Comparación gramática y notación generada por Yacc LISTA DE ANEXOS Anexo A Solicitud para la validación del software dirigida a los expertos Anexo B Instrumento de validación del software RESUMEN El desarrollo del presente proyecto consiste en el diseño e implementación de una herramienta web, que preste la labor de tutor a través de un ambiente virtual en el área de la programación de computadores en el lenguaje C. Esta idea se soporta en líneas de investigación de ingeniería de software, información educativa y software libre. El sistema tutor en ambiente web es un software adaptativo orientado hacia el estudiante de programación de computadores. Esta herramienta describe una arquitectura que sigue las características del modelo pedagógico de aprendizaje por competencias y algunos de los estilos de aprendizaje propuestos por autores como Ausubel, Piaget y Margarita A. de Sánchez. Para su creación, se tomo como punto de partida el paradigma de la programación orientada a objetos (POO) y la web 2.0, Así como herramientas de última generación como HTML5 y Ajax las cuales facilitan el proceso de desarrollo. El desarrollo de esta herramienta web se realiza con el fin de brindar asesoría las 24 horas del día, los siete días de la semana a los estudiantes que están aprendiendo programación de computadores en el lenguaje C. Dicha herramienta asesora y acompaña al estudiante durante el proceso de aprendizaje de la algoritmia, para esto cuenta con características como las de presentarle explicaciones sobre los temas de la asignatura programación de computadores, evaluaciones que permiten encontrar sus fortalezas y debilidades en la asignatura. El objetivo del sistema tutor es llevar al estudiante a través de un aprendizaje incremental por medio de niveles y temáticas que le permitan apropiarse de los conocimientos básicos en la signatura. INTRODUCCIÓN Con la creación de la computadora personal apoyada por la red mundial de información, se espera que las herramientas informáticas de hoy en día como plataformas e-learning, OVAs (Objetos virtuales de aprendizaje) y sistemas tutores ayuden efectiva y eficientemente en los procesos de aprendizaje y enseñanza, puesto que son actividades fundamentales para el desarrollo de una sociedad. En la actualidad las tecnologías de información y herramientas informáticas tienen una participación fundamental y ésta crece cada día más, un ejemplo de ello es la demanda de educación virtual, que tiene como base el aprendizaje autónomo del estudiante y un dispositivo físico que permita la interacción con el individuo. Las herramientas informáticas con el apoyo de las ciencias básicas como la matemática, la filosofía y el lenguaje han desarrollado métodos y modelos que permiten la incursión de nuevos trabajos en los que se tenían en cuenta la formulación de prototipos que cumplieran metas y objetivos, que tuvieran cierto nivel de aprendizaje y conocimiento, entre otras cualidades; dichos prototipos se han convertido en excelentes soluciones para problemas con altos grados de complejidad. En este proyecto se usarán herramientas Web (navegadores), compiladores, programación orientada a objetos junto con teorías de aprendizaje que permitan a la persona que desee aprender la sintaxis correcta del lenguaje de programación C, contar con un tutor que al ser online cuenta con total disponibilidad, le indique errores sintácticos que está cometiendo, qué debilidades tiene y además le ofrezca alternativas y medios que le permitan mejorar dichas debilidades. Con la finalidad que el estudiante por medio de un proceso de aprendizaje autónomo emplee las herramientas y medios para superar las fallas que tenga. De esta manera el estudiante podrá usar nuevamente el tutor para que sea éste quien le indique mediante evaluaciones si ha mejorado sus debilidades y le presente nuevos problemas o situaciones que permitan reforzar la competencia propositiva del estudiante. El tutor analiza los problemas que tiene el estudiante, identifica sus fortalezas y con base en ellas realizar un proceso de tutoría virtual muy similar a la que podría realizar un Tutor humano.
Durante el proceso de aprendizaje de las materias orientadas a la programación de computadores son visibles los inconvenientes presentes para adquirir las destrezas que en esta área se requiere. Para la gran mayoría de estudiantes resolver exitosamente un problema planteado radica en la forma de expresar dicha solución en un lenguaje que la máquina pueda entender, ó que esta alternativa contenga una estructura acorde a la lógica computacional. El estudiante puede tener clara la manera de resolver una situación conflicto, pero plasmar correctamente la solución de forma que se pueda aplicar al problema para dar como resultado el programa solicitado, es el agujero negro en el proceso. Sin importar qué lenguaje de programación se utilice, así éste sea: comprensible, de una gramática clara y flexible; tengan sus propios compiladores (con resultados más específicos), el problema continúa, estas ayudas no apoyan el proceso de aprendizaje, por el contrario lo obstaculizan; la gran mayoría están enfocadas a personas con alguna experticia en programación de computadores. El aprendizaje de la lógica de programación está acompañado de temáticas enfocadas a adquirir un pensamiento lógico, estructurado y ordenado, para con ello poder expresar la solución a los problemas planteados de forma adecuada. Pero cuando la interfaz para expresar dicha solución no es lo suficientemente amigable, por lo general el estudiante genera un sentimiento de apatía por la impotencia que siente al no identificar claramente las causas de los problemas presentes en la compilación o ejecución del programa que realiza; generalmente las causas de estos errores son: de sintaxis, sentencias de programación, correcta escritura y estructura o sentencias reservadas del lenguaje, problemas que estarán presentes siempre en el desarrollo del software. Las herramientas en las que el estudiante desarrolla los programas de programación no permiten, ni brindan ayudas académicas que enfoque al aprendiz a superar los inconvenientes presentados. Por lo general es necesario el acompañamiento de un profesor tutor que guie y le indique al estudiante que debe reforzar y practicar para que los problemas de programación que se le han presentado sean superados. Esta práctica aleja al estudiante de metodologías autónomas de aprendizaje, puesto que las herramientas de desarrollo usadas para realizar programas de computadores se limitan a expresar que errores sintácticos ha encontrado la maquina al realizar la compilación; pero no invita o sugiere al estudiante, reforzar algún tema de programación en específico que le permita realizar un proceso de aprendizaje en la programación de computadores al estudiante. Este tipo de inconvenientes son frecuentes, puesto que las herramientas de compilación empleadas por el estudiante, tienen un enfoque técnico, es decir no permiten un ambiente pedagógico de aprendizaje. Los estudiantes de la Universidad Antonio Nariño cuando superan la asignatura de lógica computacional continúan con la siguiente asignatura donde aprenderán programación bajo el lenguaje C. Al realizar la programación en C y compilar el código fuente, los estudiantes ven de forma explícita los problemas de sintaxis que poseen. Este cambio de metodología que representa programar a través de la máquina, en ocasiones llega a ser muy complicada para algunos de los aprendices, debido a las reglas semánticas y sintácticas que el lenguaje de programación tiene. La transición a este nuevo lenguaje de programación en C, requiere aprender las estructuras sintácticas del mismo; con esto, el proceso se convierte en una “traducción”, de las estructuras o sentencias aprendidas en el semestre anterior para el desarrollo de pseudocódigo a la estructura establecida por el lenguaje C, pero en este proceso también se identifican problemas en los estudiantes, si ellos no tienen una base sólida en la construcción de programas en pseudocódigo esta transición se convierte en un abismo muy grande de superar. Es por esta sucesión de inconvenientes que para los estudiantes de la asignatura Programación de computadores las herramientas de desarrollo les presentan inconvenientes que ahora deben superar, esto hace que algunos estudiantes generen apatía a la asignatura y la vean como una materia poco práctica y sin enfoque; ya sea porque ellos no cursan carreras orientadas a los Sistemas y/o Telecomunicaciones o porque desisten ante las complejas y poco pedagógicas herramientas de apoyo para la programación. La problemática anterior se sustenta a través de indagaciones informales y una encuesta realizada a los estudiantes de ingeniería de segundo semestre de la Universidad Antonio Nariño (ver anexo A), cuyos resultados evidencian que existen dificultades en la materia PROGRAMACIÓN DE COMPUTADORES debido a que los horarios de clases, de trabajo etc. Se cruzan con los tiempos de atención establecidos por la universidad para las tutorías con los profesores, y por muestra que a los estudiantes les gusta la idea de contar con una herramienta que les facilite el proceso de aprendizaje como el tutor en ambiente web. Adicionalmente se toma como referencia el proyecto de investigación titulado |