ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Sistema experto para programación M.A.J.O

Documentos de Investigación 21 de Octubre de 2021

4.150 Palabras (17 Páginas) 99 Visitas

Página 1 de 17

“Inteligencia artificial”

2018-x semestre

Sistema experto para programación M.A.J.O

[pic 1]

UNIVERSIDAD

MANUELA BELTRÁN

Mario Manrique Díaz

Ironmanriquemark47@gmail.com

Jessica Paola Álvarez jurado

Jessica_pao_15@hotmail.com 

Abstract. An expert system will be developed that will be applied in the programming area to help students understand programming logic and coding various programs, while interacting with the system as if it were a personal teacher. This will not only help software engineering students, but any of the engineering disciplines that require a certain level of programming, and not only in the universities is this MAJO expert system expected (Machine, Algorithmic, Java, Operational).can be used in schools and for anyone who likes or is interested in everything related to the world of programming, if this program passes the taught standards to be programmed in a simple way it is expected to be able to implement it in areas such as electronics, physics, industrial engineering, biomedicine, and many other disciplines  of engineering.

1 introducción

En el presente documento se dará una detallada información con respecto al sistema experto que la compañía planea realizar, para los estudiantes de ingeniería.

El sistema experto conocido como majo es un pequeño peldaño para mejorar las experiencias de aprendizaje de los estudiantes de ingeniería de software y facilitar el diseño de programas utilizando java, el conocimiento de conceptos clave y la lógica de programación. Por el momento se planea que la interfaz sea similar al pseint para poder mejorar la lógica y después se utilizara un analizador léxico para que el estudiante programe y el sistema le indique en que está fallando. Por lo que yo he observado como programador muchos de mis compañeros no solo en software sino también en otros carreras como lo son electrónica, industrial, biomédica, y otras ingenierías han tenido problemas en lo que es la programación, lo que pretende este sistema experto es ayudar a aquellos que tengan problemas con la lógica de programación que es lo esencial para su desarrollo en el entorno académico, y quien sabe si el programa sigue avanzando podamos aplicar este programa para personas que no tienen ningún conocimiento  de ingeniería pero que les interesa programar y aprender el proceso, por el momento nuestro primer prototipo funciona en java, y es una aplicación de escritorio para estudiantes universitarios, se espera que el programa se encuentre disponible para Android y Apple y se puede manejar desde cualquier dispositivo móvil.

[pic 2]

2 descripción del sistema de información

El problema que se propone resolver es apoyar a los estudiantes de distintas áreas como la ingeniería de software, ingeniería de sistemas y otras para mejorar en el área de la programación, lo que se propone es un sistema experto que puede interactuar con el usuario con reconocimiento de voz, voz propia y este a su vez interactúa con el sistema experto, que el sistema le diga al usuario en que se equivocó, en que puede mejorar, que desea aprender primero , que no solo  sea un tutorial, si no también casi como un maestro de escritorio. Pero no solo sería el sistema con su conocimiento fijo y ya el programa también se le puede implementar conocimiento a través de la ventana de entrenamiento donde el primer usuario puede digitar algún conocimiento nuevo que este haya adquirido para poder mejorar el sistema y pueda ser utilizado para nuevos usuarios en el futuro, se podría decir que el programa no solo enseña si no que aprende en el proceso, como dice el alumno aprende del maestro y el maestro aprende del alumno. Si el programa avanza más entre estudiantes y deseosos de aprender el programa dejara de ser una aplicación de escritorio y móvil, y su base de conocimiento será totalmente en la nube donde se podrá consultar información dudas y experiencias de los mismos programadores, para que se resuelvan las dudas que muchos tenemos en la programación.

 

[pic 3]

2.1 Figuras y Tablas

.

Nombre:

M.A.JO

Fase 1

Conversación con humano semi coherente

Fase 2

Enseñanza teórica (preguntas y respuestas)

Fase 3

Enseñanza practica (que el usuario pueda crear programas y el sistema le muestre los errores

(ANTLR) (analizador léxico)

Fase 4

Conversación y enseñanza activado por voz

[pic 4]

3. Trabajo Realizado

El trabajo realizado ha sido un chatbot de preguntas y respuestas que utiliza como base de información una enciclopedia sobre términos de programación en archivo json, q en el futuro se podrá implementar un sistema de reconocimiento de voz en java combinado con un corrector de texto, para las líneas de código que el usuario ingrese para correr su primer programa, se desea que a futuro el usuario interactúe con el sistema como si fuese un profesor enseñándole paso a paso.

Interfaz gráfica principal: La interfaz gráfica principal ha sido mejorada con un diseño que le permite al usuario registrar más conocimiento en una base de datos MySQL y de este modo pueda ser utilizada por otros usuarios para resolver sus dudas, también se podría decir que el programa aprende del usuario mientras el usuario aprende del programa.  Se ha realizado un diseño en color negro y azul marino para dar una interfaz atractiva para el usuario como también un compilador rudimentario donde podrá saber que significa cada sintaxis que el usuario realiza, la interfaz cuenta con un gif animada dándole una apariencia viva y casi como si fuese algo parecido a Jarvis de ironman.

  1. Versión final del sistema.  GUI de usuario final y core de implementación con todas las funcionalidades del sistema. Debe entregarse un ejecutable funcional con instrucciones de instalación si lo requiere.
  2. Experimentación de sistema. Debe contemplar los siguientes escenarios

Caso 1.  Escenario ideal- Este programa fue diseñado con el propósito de ingeniería de software de ambiental ingeniería tectónica e ingeniería electrónica ingeniero industrial puedan aprender lo que es la lógica de programación por ellos mismos por el momento hemos decidido que el programa corra a través de una plataforma de escritorio lo que son computadores y peces si esto logré evolucionar más adelante pondremos el programa en diseño para móviles programando lo que sería en Android y para que este pueda correr en tabletas y celulares uno de los escenarios ideales que teníamos planeado es que estos programas se pudiese probar  en computadoras de escritorio o computadores portátiles en su defecto ya que en estos es en los que se lee programar por el momento Este programa no es como tal un editor de texto como lo es netbeans visual estudio o c# este programa por el momento funciona como lo que sería el pseint funciona como un analizador de la lógica de programación pero a diferencia del PS y éste podrá guiar al estudiante en cada una de sus dudas o preguntas que tengan , una de las pruebas que se hizo fue presentar el programa en una feria de proyectos y tuvimos siguientes resultados al parecer el programa si funciona y si es bastante útil en un equipo de escritorio pero muchos sugirieron que quizás en un futuro se hiciera en dispositivo móvil como celulares o tabletas en otras de nuestras investigaciones también nos dimos cuenta de que en la letra El chatbot dicen que quiere que sea más grande y que la conversación se tenga una distinción de cada uno me refiero un color un color de mago que habla y un color del usuario que habla, por el momento eso es uno de nuestros escenarios ideales que este programa corra en lo que es una en un equipo de escritorio, si tenemos éxito y este programa logra su objetivo ayudará a bastantes estudiantes con lo que el chatbot es una guía por así decirlo un ciber asistente, empezaremos con los programas para que sea en una aplicación móvil, pero ese sería nuestro escenario ideal, que sea un estudiante en su clase en la computadora de escritorio portátil y que este al iniciar sus programas y preguntas acerca de cualquier tema de programación ¿Qué es una variable? ¿Qué es una palabra reservada?  u otras dudas que tenga mientras este programando.

Caso 2. Escenario con información parcial (60% - 50%)- Complejidad Media.

En el escenario con información parcial, nos dimos cuenta de una cosa,  puse este programa aprueba a un estudiante que no era de ingeniería, por ejemplo una estudiantes de fisioterapia y otra de enfermería, nos dimos cuenta, que quizás algunas preguntas estaban bastante  predispuestas a un ingeniero, por ejemplo, una persona que no está vinculada al mundo de la programación no programa directamente, sino que va hacer la pregunta de una vez por todas, le pregunta a Majo qué es lo que debería hacer primero, así que eso fue lo que hice, pero lamentablemente nos dimos cuenta de que muchos de esos estudiantes que no están relacionados a la ingeniería no hacen preguntas pertinentes a lo que es programación, por lo que muchos decían preguntas bastante tontas al chatbot como por ejemplo, ¿cómo te llamas? ¿eres humana? preguntas típicas que una persona haría, muchos se impresionaron por el chatbot pero no quisieron continuar en el curso algunos  quisieron que se hiciera en  una  tablet, querían programar funciones de que es una palabra reservada o qué es una variable  etcétera , por lo que decidí implementar una especie de respuesta por defecto por si alguien no hacía preguntas referentes a programación el chatbot le manda una respuesta diciéndole “Majo no está programada para esto” te pide que hagas preguntas pertinentes al tema,  si el estudiante escribe muchas preguntas sin sentido  Majo le manda un mensaje diciéndole todo lo que tenía que hacer, poner las preguntas pertinentes y así  el estudiante podría concentrarse en hacer los programas, por el momento no hemos logrado que el programa en sí sea algo que tome sus propias decisiones, esto es más que todo un chatbot, no es un tema de árboles con varios nodos que puede hacer un algoritmo como los que se hacen en Machín Learning, tensorflow o cualquier otra forma de inteligencia, por lo que tenía planeado para hacer en este proyecto es que sea una especie de programa capaz de desarrollar preguntas y respuestas asi como también una guía para aprender lógica, por el momento lo que deseo con Majo es que sea una guía para algunos estudiantes que tienen problemas en programación, yo he conocido algunos estudiantes que han tenido problemas con ello, hasta donde sabemos Majo tiene ciertos problemas con la comunicación con una persona ,una comunicación semi coherente con un humano, ya que este por lo general puede hacer preguntas bastante tontas o sin lógica por eso tiene que mandar mensajes, por defecto habíamos planeado que si el hacía   tres o cuatro preguntas que no tenían sentido el programa se cerrará automáticamente, esto lo consideramos bastante malo o grosero por parte del programa, Porque muchos pensarían que el programa tiene fallas, y podría desesperar a algunos estudiantes, así que decidimos que sólo le envíe la respuesta. Así el estudiante tarde o temprano se cansaría y trataría de trabajar de vez en cuando en lo que sería su programa y aprender un poco, pero en fin ese es nuestro escenario parcial, solo planeamos qué es lo que podría hacer una persona que apenas sea un Novato en la programación, pero esperamos que esto pueda ser un hincapié en los deseosos de aprender más, esto no es un desarrollador tal como para hacer una especie de ide de desarrollo, esto es más como un ciber ayudante que te puede decir exactamente  qué estás haciendo mal, que estás haciendo bien y puedes empezar.

...

Descargar como (para miembros actualizados) txt (26 Kb) pdf (1 Mb) docx (1 Mb)
Leer 16 páginas más »
Disponible sólo en Clubensayos.com