Software Educativo (Videojuego), Simulador de Autómatas Finitos

REPÚBLICA BOLIVARIANA DE VENEZUELA
MINISTERIO DEL PODER POPULAR PARA LA EDUCACIÓN SUPERIOR
UNIVERSIDAD VALLE DEL MOMBOY
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA DE COMPUTACIÓN
Autor: Br. Elio A. Rivas M.
Tutor Académico: Msc. Hellys Mendoza.
CAPITULO I
INTRODUCCIÓN
Un videojuego se define como un software creado para el
entretenimiento en general que se basa en la interacción entre
una o varias personas y un aparato electrónico que ejecuta
dicho videojuego.
Actualmente se insta a utilizar tecnologías lúdicas con
objetivos pedagógicos y formativos, que se adapten a una
nueva generación de estudiantes conocidos como “Nativos
Digitales”, a la cual se le brinde la oportunidad de desarrollar
habilidades cognitivas, espaciales y motoras basadas en hechos,
conocimientos, memorización, repeticiones, principios (relación
causa-efecto), para aportar ejemplos prácticos y reglas que son
difíciles de ilustrar en el mundo real
PLANTEAMIENTO DEL PROBLEMA
La asignatura de lenguaje y compiladores dictada en el
9no semestre de la carrera de ingeniería de computación de
en la Universidad Valle del Momboy (donde se imparte el
tema de autómatas) es sin duda alguna una materia de
primer orden, indudablemente los contenidos que se
imparten en ella constituyen el eje fundamental de diversas
áreas de conocimiento encuadradas dentro de lo que
podríamos denominar teoría de la computación.
Sin embargo existe hoy en día una gran apatía por
parte del estudiantado de estas carreras hacia los contenidos
fundamentales del área de la computación, como lo son por
ejemplo los mencionados autómatas.
La computación, como cualquier otra ciencia o ingeniería,
tiene unos fundamentos teóricos sobre los que apoyarse y que
cualquier ingeniero en computación o profesional de carrera
afín debe estar al tanto.
Así lo entienden diversos organismos internacionales
como ACM (Asociación for Computing Machinery) e IEEE
(Institute of Electrical and Electronics Engineers), que
recomiendan al menos un curso de lenguaje formal y autómatas
en los currículos
de las carreras relacionadas con la
computación.
Por consiguiente, la finalidad de esta investigación es el
desarrollo de un software educativo ó videojuego que
denominaremos “ANDROIDS-FSM” (ANDROIDS, sinónimo
de autómata en inglés y FSM acrónimo en inglés de
“máquina de estado finita”) para ser diseñado con el fin
de dar respuesta a la siguiente interrogante.
¿Se puede desarrollar un videojuego o software
educativo, capaz de transportar al estudiante (jugador) a
una pseudorealidad donde pueda aprender más acerca
del diseño de autómatas finitos?
OBJETIVOS
Diseñar
un
programa
didáctico en el cual la interfaz
gráfica sea el entorno a través
del
cual
los
usuarios
establezcan comunicación con
los contenidos relacionados
con los autómatas finitos
Construir
un
entorno
tridimensional que permita a
los usuarios recorrer un
autómata finito proponiendo
el aprendizaje por logros y
desaciertos
Objetivos
Específicos
Implementar en el diseño del
software
mecanismos
que
permitan a los estudiantes
reforzar conocimientos sobre
autómatas finitos adquiridos con
anterioridad, llevando el control
de errores y retroalimentación
positiva
JUSTIFICACIÓN
Se busca con esta investigación lograr un
videojuego en el cual el usuario no solo se divierta sino
que aprenda a diseñar autómatas finitos, un juego de
este tipo puede ser aprovechado en mayor porcentaje a
través de las interfaces de los videojuegos, ofreciendo
esta investigación una plataforma tanto teórica como
practica para el desarrollo de futuras investigaciones
sobre el campo de los videojuegos o el modelado por
computadora.
Según PEGI (Información Paneuropea sobre
Juegos) “los videojuegos pueden integrarse en
prácticamente cualquiera área de un plan de estudios”.
LIMITACIONES
En esta investigación se procederá a la obtención
de información a partir de diferentes bibliografías,
personas y páginas Web; además se plantea trabajar el
software con el desarrollo de ejercicios del tema de
autómatas impartidos en la asignatura de lenguaje y
compiladores en La Universidad Valle del Momboy, para
de esta manera desarrollar un software más apegado a
la situación generando así una realidad virtual más
creíble.
CAPITULO II
(Marco Teórico)
ANTECEDENTES DE INVESTIGACION
Brain Training ¿Cuántos años tiene tu cerebro? (Dr.
Ryuta Kawashima, 2008) Universidad de TohokuJapón, conocido en el mundo entero como Brain Age.
(videojuego de lógica-educativa)
Creacion de un Entorno 3D para la simulación de
tráfico urbano. (Victor Romero Perez, 2009)
Universidad Central de Venezuela. Diseño de Software
de pruebas en un entorno simulado diseñado con
Microsoft Robotics Developer.
Software Educativo de la Presencia Geohistorica de
Simón Bolívar y las Rutas Trujillanas del Ejercito
Libertador. (Castellanos, y Macías, G, 2003) del
Instituto Universitario de Tecnología del Estado Trujillo.
Software Interactivo para la cátedra Historia de
Venezuela del octavo grado del Liceo Antonio Nicolás
Briceño del estado Trujillo. (Mogollón, D. 2005) de la
Universidad Valle del Momboy
MARCO TEORICO
COMUNIDADES VIRTUALES
Se denomina comunidad virtual a
aquella comunidad cuyos vínculos,
interacciones y relaciones tienen lugar no
en un espacio físico sino en un espacio
virtual.
Estas comunidades virtuales han
podido ser generadas a partir del
desarrollo de la ciencia de la computación.
LA CIENCIA DE LA COMPUTACIÓN
Es descrita con frecuencia como un
estudio sistemático de los procesos algorítmicos
que crean, describen y transforman información
La ciencia de la computación diferencia el
estudio de las computadoras a través de dos
ámbitos bastante diferenciados ellos son:
El Hardware, es el conjunto de elementos
físicos (máquinas y circuitos), que le dan
integridad física a una computadora. Y el
Software Son las instrucciones responsables de
que el hardware (la máquina) realice su tarea.
SOFTWARE
Probablemente la definición más formal de software sea;
conjunto de los programas de cómputo, procedimientos, reglas,
documentación y datos asociados que forman parte de las
operaciones de un sistema de computación.
CATEGORIAS DE SOFTWARE
SOFTWARE DE SISTEMA
SOFTWARE DE APLICACIÓN
SOFTWARE DE PROGRAMACIÓN
LENGUAJE DE PROGRAMACIÓN
Un lenguaje de programación es un idioma artificial diseñado
para expresar computaciones que pueden ser llevadas a cabo
por máquinas como las computadoras.
BASIC
BASIC es un lenguaje de programación que
originalmente fue desarrollado como una herramienta de
enseñanza; se diseminó entre las microcomputadores
hogareñas a partir de la década de 1980, y sigue siendo
muy popular hoy en día, en muchos dialectos bastante
distintos del original.
BASIC es el acrónimo de Beginners All-purpose Symbolic
Instruction Code; por correspondencia con ThomasKurtz.
(traducido al español: "código de instrucciones simbólicas
de propósito general para principiantes") y está ligado al
nombre de un trabajo sin publicar del coinventor del
lenguaje, Thomas Kurtz.
BLITZ
Uno de estos tantos compiladores utilizado para
el desarrollo de aplicaciones graficas (En su mayoría
videojuegos) es Blitz diseñado como una compilación de
algunas librerías escritas en diversos lenguajes y con un
entorno de desarrollo que aplica la sintaxis de BASIC, para
ser un entorno de programación diseñado para el
desarrollo de videojuegos.
Blitz es un compilador para el lenguaje de
programación Basic. Los productos Blitz han sido
diseñados con el objetivo de crear videojuegos
IMÁGENES GENERADAS POR
COMPUTADORA
El comienzo del mundo simulado se dio gracias a la creación de
un término conocido comúnmente como CGI, Imagen generada
por computadora (CGI), es la aplicación del campo de gráficos
realizados por computadora (CG, o más expresamente, gráficos
3d por computadora) para la creación, entre muchas otras
cosas, de efectos especiales.
El término para el que se emplean las siglas "CGI" corresponde
con el término español "Infografía".
PRINCIPIOS MULTIMEDIA
Es la forma de presentar información que emplea una
combinación de texto, sonido, imágenes, animación y vídeo. Entre las
aplicaciones informáticas multimedia más corrientes figuran juegos,
programas de aprendizaje y material de referencia. La mayoría de las
aplicaciones multimedia incluyen asociaciones predefinidas conocidas como
hipervínculos, que permiten a los usuarios moverse por la información de
modo más intuitivo e interactivo.
VIDEOJUEGOS
Un Videojuego es un programa informático
interactivo destinado al entretenimiento que puede
funcionar en diversos dispositivos: ordenadores,
consolas, teléfonos móviles, etcétera; integra audio y
vídeo, y permite disfrutar de experiencias que, en
muchos casos, sería muy difícil de vivir en la realidad.
Los videojuegos representan en la actualidad una
de las vías más directas a la cultura informática. Si casi
nadie discute ya el valor educativo de los juegos, ¿por
qué algunos rechazan el papel de los videojuegos
como herramienta de interés educativo? ¿Por qué no
son utilizados en los centros educativos?
La premisa de los videojuegos es aprender,
memorizar, colaborar, explorar o conseguir
información suplementaria para avanzar. Jugando se
aprende y una de las principales ventajas es la
capacidad que tienen los estudiantes para aprender en
un entorno estimulante, en el que pueden cometer
errores y aprender practicando.
CATEGORIAS DE VIDEOJUEGOS
Acción
Simulación
Aventura
Luchas
Deporte
Conversacional
Disparos
Educación
/Agilidad Mental
Grafica
Sigilos
Combate
Rol
Plataforma
Música
Vida
VIDEOJUEGOS Y PROCESOS COGNITIVOS
• Los videojuegos suelen incluir por ejemplo una alta intensidad interactiva,
objetivos específicos, desafíos continuos y sentido del compromiso
• Los jugadores tienen que aprender nuevas habilidades para superarse y, en
cierto modo, hacerse responsables del aprendizaje
• Con los videojuegos, los jugadores pueden elaborar teorías e hipótesis,
probarlas y ajustar su conocimiento y habilidades en función de ello
• Ofrecen una curva de aprendizaje sencilla, los primeros niveles suelen ser
indulgentes para que los jugadores puedan familiarizarse con los mecanismos
del juego y ser más eficientes.
• los jugadores experimentan algo discordante o un fracaso (fracasar o
ganar) y, posteriormente, necesitan reflexionar e identificar la causa del
fracaso
LENGUAJES FORMALES
En matemáticas, lógica, y ciencias de la
computación, un lenguaje formal es un lenguaje cuyos
símbolos primitivos y reglas para unir esos símbolos están
formalmente especificados. Al conjunto de los símbolos
primitivos se le llama el alfabeto (o vocabulario) del
lenguaje, y al conjunto de las reglas se lo llama la
gramática formal (o sintaxis).
A una cadena de símbolos formada de acuerdo a la
gramática se la llama una fórmula bien formada (o palabra)
del lenguaje. Estrictamente hablando, un lenguaje formal
es idéntico al conjunto de todas sus fórmulas bien
formadas
EJEMPLOS DE LENGUAJES FORMALES
1
• Un conjunto de todas las palabras sobre {a,b}.
• Ejemplo: abbab
2
El conjunto {an : n}donde n es un número par.
Ejemplo: aaaa
3
• El conjunto de todas las fórmulas bien formadas en la
lógica de primer orden
• Ejemplo: Planeta(Marte),f(x)=2x
4
• El conjunto de todos los programas sintácticamente
válidos en un determinado lenguaje de programación
• Ejemplo: For(int i=0;i<10;i++)
OPERACIONES CON LENGUAJES
Concatenación:
• Dados dos lenguajes A y B, A·B =
• {x ·y | x∈A e y∈B}
• Ejemplo: A= {casa}, B={pájaro, perro}
entonces A·B={casapájaro, casaperro}
• sea A un lenguaje sobre Σ,
Potencia:
• 𝐴𝑛 =
𝜀 𝑠𝑖 𝑛 = 0
𝐴 . 𝐴𝑛−1 𝑠𝑖 𝑛 ≥ 1
OPERACIONES CON LENGUAJES
Unión:
Intersección:
• Dados los lenguajes A, B y sobre
∑, Se cumple que:
• 𝐴 ∪𝐵 = 𝑥 𝑥 ∈𝐴ó𝑥 ∈𝐵}
• Dados los lenguajes A y B sobre
∑:
• 𝐴 ∩𝐵 = 𝑥 𝑥 ∈𝐴𝑦𝑥 ∈
𝐵 𝑠𝑖𝑚𝑢𝑙𝑡𝑎𝑛𝑒𝑎𝑚𝑒𝑛𝑡𝑒}
OPERACIONES CON LENGUAJES
Cerradura de
Kleene:
Cerradura
Positíva:
• Se define Cerradura de Kleene o Cerradura
estrella:
• 𝑨 ∗ = ∪ 𝒏 ≥ 𝟎 𝑨𝒏
• Las cadenas de la cerradura de kleene se forman al
realizar cero o mas concatenaciones de las cadenas del
lenguaje.(Acepta cadenas Vacías)
• Se define Cerradura Positiva:
• 𝑨+ = ∪ 𝒏 > 𝟎 𝑨𝒏
• Las cadenas de la cerradura positiva se forman al
realizar una o mas concatenaciones de las cadenas del
lenguaje. (No acepta cadenas vacías)
AUTÓMATAS FINITOS
Un autómata es un modelo matemático para una máquina de
estado finita, una máquina que, dada una entrada de símbolos,
"salta" a través de una serie de estados de acuerdo a una función
de transición (que puede ser expresada como una tabla).
Dependiendo del estado en el que el autómata finaliza se dice
que este ha aceptado o rechazado la entrada, el conjunto de
todas las palabras aceptadas por el autómata constituyen el
lenguaje aceptado por el mismo.
Los autómatas están conformados por un alfabeto, un conjunto
de estados y un conjunto de transiciones entre dichos estados
REPRESENTACION DE AUTÓMATAS COMO
DIAGRAMAS DE ESTADO
Los estados se representan como
vértices, etiquetados con su
nombre en el interior
Una transición desde un estado a otro,
dependiente de un símbolo del
alfabeto, se representa mediante una
arista dirigida que une a estos vértices,
y que está etiquetada con dicho
símbolo
El estado inicial se caracteriza por tener
una arista que llega a él, proveniente de
ningún otro vértice.
El o los estados finales se
representan mediante vértices que
están encerrados a su vez por otra
circunferencia.
AUTÓMATAS FINITOS
Formalmente un Autómata es:
1) Un alfabeto de entrada
∑
Σ={0,1},
2) Una colección finita de
estados Q
{ s 1 y s2 }
3) Un estado inicial S
{ s1 }
4) Una colección de
estados finales o de
aceptación.
5) Una función de
transición δ ∶ Q × Σ →
Q que determina el único
o varios estados del
Autómata
{ s1 }
δ(s1,0)=s2,
δ(s1,1)=s1,
δ(s2,0)=s1 y
δ(s2,1)
Expresión regular (00 | 11 | (01 | 10)(01 | 10)) *
salida
símbolo
llegada
q∈Q
σ∈Σ
δ(q,σ) ∈ Q
s1
0
s2
s1
1
s1
s2
0
s1
s2
1
s2
AUTÓMATAS FINITOS
Autómata Finito Determinista (AFN)
Autómata Finito No Determinista (AFND)
• Un autómata finito determinista • Un autómata finito no determinista
(abreviado AFD) es un autómata finito
(abreviado AFND) es aquel que, a
que
además
es
un
sistema
diferencia de los autómatas finitos
determinista; es decir, para cada
deterministas, posee al menos un estado
estado q ∈ Q en que se encuentre el
q ∈ Q, tal que para un símbolo a ∈ Σ del
alfabeto, existe más de una transición
autómata, y con cualquier símbolo a ∈
Σ del alfabeto leído, existe siempre a lo
δ(q,a) posible
más una transición posible δ(q,a).
En un AFD no pueden darse ninguno de
estos dos casos:
• Que existan dos transiciones del tipo
δ(q,a)=q1 y δ(q,a)=q2, siendo q1 ≠ q2;
• Que existan transiciones del tipo
δ(q,ε), salvo que q sea un estado final,
sin transiciones hacia otros estados.
Haciendo la analogía con los AFDs, en un
AFND puede darse cualquiera de estos dos
casos:
• Que existan transiciones del tipo
δ(q,a)=q1 y δ(q,a)=q2, siendo q1 ≠ q2;
• Que existan transiciones del tipo δ(q,ε),
siendo q un estado no-final, o bien un
estado final pero con transiciones hacia
otros estados.
AUTOMATAS FINITOS DETERMINISTAS
Consideremos el lenguaje (𝑎𝑏)∗ . En este caso se
acepta la cadena vacía. Por lo tanto, el estado
inicial es también de aceptación
Las cadenas legales se obtienen al llegar a un
estado de aceptación y se debe hacer esto
después de un número finito de pares de
transiciones ab
Es un autómata finito que además es un sistema
determinista; es decir, para cada estado q ∈ Q
en que se encuentre el autómata, y con
cualquier símbolo a ∈ Σ del alfabeto leído, existe
siempre a lo más una transición posible δ(q,a)
AUTOMATAS FINITOS NO DETERMINISTAS
Autómata finito no determinista que acepta
la expresion regular (a|b)*b+.
Autómata finito no determinista que acepta
la expresion regular 𝒂𝒂+ |𝒃𝒃+
=aaabbb
=aaa|bbb
CAPITULO III
(Marco Metodológico)
TIPO DE INVESTIGACIÓN
Investigación
de Tipo
Aplicada
• Su realización involucra técnicas y/o procedimientos
dirigidos a la creación de una aplicación que sea de
utilidad a los usuarios para que a través de ella pueden
instruirse interactivamente sobre la práctica de lenguajes
formales y autómatas dictada en la cátedra de Lenguaje y
compiladores de la carrera de Ingeniería de Computación.
• La investigación aplicada comprende el trabajo creativo
llevado a cabo de forma sistemática para incrementar el
volumen de conocimientos, incluido el conocimiento del
hombre, la cultura y la sociedad, y el uso de esos
conocimientos para crear nuevas aplicaciones.
AREA DE INVESTIGACIÓN
Informática
Educativa
• La creación de un videojuego que tiene como finalidad
ayudar a comprender los modelos de computo que
reconocen palabras a los cuales se les denomina
autómatas finitos deterministas, se circunscribe al área de
la informática educativa que estudia el uso integración de
las tecnologías de información en el proceso educativo y
como la tecnología puede contribuir a potenciar y
expandir la mente de los aprendices, de manera que sus
aprendizajes sean más significativos y creativos.
DISEÑO DE INVESTIGACIÓN
SCUMM + XP
(«eXtreme
Programming»)
• Se utilizó una combinación de dos metodologías aplicadas a
dos áreas del diseño del videojuegos, una de ellas
mencionadas anteriormente es el modelo Metodológico
SCUMM producido por la empresa norteamericana Lucas Arts
• Además, se utilizó el método de programación extrema o XP
por sus siglas en inglés (“”) esta metodología fundamental en
el desarrollo de aplicaciones modernas y actualmente es una
de las más difundidas en el campo del producción
computacional
METODOLOGÍA SCUMM
PRINCIPIOS DE LA
PROGRAMACIÓN EXTREMA
METODOLOGIA XP
(PROGRAMACION EXTREMA)
CAPITULO IV
(Proceso de Creación del Videojuego)
Androids FSM V 1.0
(Store line)
Es un videojuego lineal, esto significa que se sigue un camino
predeterminado y se realizan algunos objetivos específicos para completar el
juego. Se enmarca en un esquema de juego que se constituye en varias
partes o secuencias, hasta que llega al final. Cada porción del juego, tiene un
aspecto diferente, tema u objetivo, las cuales se combinan para formar el
mundo en el que se desenvuelve el juego.
Este camino predeterminado será recorrido por una bionave, que será
maniobrada a través de las teclas direccionales.
DISEÑO DE GUION
(Indicadores y Objetivos)
• La Bionave deberá interactuar con entidades tridimensionales a razón de generar las salidas
correspondientes con el autómata que se presenta en cada nivel de juego.
El videojuego está constituido por 4 niveles:
NIVEL 1
NIVEL 2
NIVEL 3
1.1 AFD :
• Expresión Regular : (𝑎𝑏)+
• Objetivo: Generar 4
Salidas
2.1 AFN:
• Simulación Maquina
expendedora de Refrescos
• Objetivo: Generar 3
Salidas
3.1 AFN
1.2 AFND:
• Expresión Regular
(𝑏𝑏|𝑎𝑎(𝑏𝑎|𝑎𝑏)(𝑏𝑎|𝑎𝑏))∗
• Objetivo: Generar 4
Salidas
2.2 AFN
• Expresión Regular
(00|11(01|10)(01|10))∗
• Objetivo: Generar 4
Salidas
3.2 AFN
Expresión Regular :
𝑎𝑏 ∗ | 𝑥𝑦 +
Objetivo: Generar 4 Salidas
4.2 AFN
Expresión Regular :
𝑑𝑖𝑔𝑖𝑡𝑜(𝑑𝑖𝑔𝑖𝑡𝑜)+ |
𝑑𝑖𝑔𝑖𝑡𝑜(𝑑𝑖𝑔𝑖𝑡𝑜)+ ,
𝑑𝑖𝑔𝑖𝑡𝑜(𝑑𝑖𝑔𝑖𝑡𝑜)+
Objetivo: Generar 4 Salidas
1.3 AFD:
• Expresión Regular : (𝑒𝑓)∗
• Objetivo: Generar 4
Salidas
2.3 AFN
• Expresión Regular : 𝑥𝑦(𝑧)∗
• Objetivo: Generar 5
Salidas
3.3 AFN
Expresión Regular : 𝑎∗ 𝑏
Objetivo: Generar 4 Salidas
4.3 AFN
• Expresión
Regular𝑎(𝑏 ∗ |𝑎∗ )| 𝑏 𝑐 𝑏 ∗
• Objetivo: Generar 4 Salidas
Expresión Regular :
𝑥 (𝑧𝑧)+ | 𝑦 (𝑦)∗
Objetivo: Generar 4 Salidas
NIVEL 4
4.1 AFN
Expresión Regular :
ac|bd|b ∪ (𝑒𝑒)∗
Objetivo: Generar 4 Salidas
Diagrama de Flujo- Androids-FSM
CREACIÓN DE PERSONAJES Y ENTIDADES 3D
ESTABLECIMIENTO DE INTERACCIONES (BANDERAS DE CÓDIGO)
El proceso de establecer
las interacciones, se hace
a través de banderas de
funcionamiento donde es
necesario que una este
activa para activar a otra
derivada.
Al momento de diseñar el
sistema se desea que este sea
lo más sencillo posible, se
busca
encontrar
las
soluciones más rápidas y
eficientes posibles
Se apuesta a que es más sencillo
hacer algo simple y tener un poco
de trabajo extra para cambiarlo si
se requiere, que realizar algo
complicado y quizás nunca
utilizarlo.
MONTAJE DE ESCENARIOS
Se Establece el aspecto físico
del Videojuego
Se detecta la interacción del
personaje,
colisiones
de
objetos y se controlan los
movimientos del personaje.
Se realiza la Interfaz
de
presentación, esto se conoce
comúnmente en el mundo de
los videojuegos como “HUD”.
("Head-Up Display")
PRUEBAS
Desarrollo iterativo e
Incremental
Pruebas Unitarias
Pruebas de Regresión
Corrección de todos los
errores.
Integración del equipo de
programación con el cliente
CAPITULO V
(CONCLUSIONES)
CONCLUSIONES
La investigación titulada, «SOFTWARE EDUCATIVO (VIDEOJUEGO
SIMULADOR DE AUTOMATAS FINITOS», luego de transitar por el proceso de
recolección de información, diseño y producción de la aplicación
denominada “Androids-FSM”, arrojó las siguientes conclusiones.
Al desarrollar el sistema, se logró una aplicación de tipo educativo,
capaz de contribuir al desarrollo y orientación de los estudiantes en el tema
de los autómatas finitos deterministas, pues este permite experimentar,
investigar, y corroborar el funcionamiento de estas denominadas máquinas,
desarrollando la percepción espacial, la lógica, la imaginación y la
creatividad; por tanto se cumplió el objetivo general de la investigación.
Desarrollar un software educativo (videojuego) fomentando
el análisis y diseño de autómatas impartidos en la asignatura de
lenguaje y compiladores de la carrera de Ingeniería de computación
de la Universidad Valle del Momboy, al obtener como resultado un
software capaz de ser utilizado por los estudiantes de esta carrera
universitaria para conocer de manera interactiva el funcionamiento
de estas máquinas de estado finito.
En cuanto al primer objetivo específico: Diseñar un programa
didáctico en el cual la interfaz gráfica sea el entorno a través del cual
los usuarios establezcan comunicación con los contenidos
relacionados con los autómatas finitos, se tomaron en consideración
elementos tales como con la interactividad que proporciona un
entorno audiovisual para realizar una interfaz gráfica con la cual los
usuarios puedan lidiar con autómatas finitos, títulos, textos de apoyo
e imágenes que sirven para reforzar palabras e ideas. Se elaboró un
guion o “history line” el cual es la base a partir de la cual se arman o
producen videojuegos, de esta manera se crea una forma para poder
comprender la experiencia.
En el segundo objetivo específico, Construir un entorno
tridimensional que permita a los usuarios recorrer un autómata
finito proponiendo el aprendizaje por logros y desaciertos, se tomó
en consideración el notable auge que tienen los videojuegos
desarrollados en entornos tridimensionales que pueden ser
recorridos en segunda persona pues la manipulación de un personaje
directamente por el usuario produce un sentimiento de inmersión
directa en un mundo de objetos. Para el aprendizaje por logros y
desaciertos se crearon rutinas de programación tomando en cuenta
los principios básicos de la inteligencia artificial pues se generan
procesos de software que producen resultados basándose en la
secuencia de entradas percibidas y en el conocimiento almacenado
en tal arquitectura.
Tomando en cuenta el tercer objetivo, Implementar en el
diseño del software mecanismos que permitan a los estudiantes
reforzar conocimientos sobre autómatas finitos adquiridos con
anterioridad, llevando el control de errores y retroalimentación
positiva, se modelaron 12 autómatas finitos, divididos en 4 niveles
que buscan incentivar en el usuario el diseño de autómatas finitos
para reforzar los conocimientos impartidos en el aula por el docente,
se implementaron rutinas de programación que permiten al usuario
diferenciar secuencias de eventos “buenas”, de secuencias de eventos
“malas”.
La programación del videojuego cumple con las
necesidades de presentar al usuario cierta “naturalidad” en el
ambiente donde se desarrolla la historia, creando un “ambiente
realista” afectado por las leyes de la física como la gravedad, la
inercia al chocar contra objetos y el rango de visión que se
aclara al acercarse a los objetos. La inclusión de efectos
sonoros, y banda sonora ayudan a colocar al usuario en un
ambiente integrado con el videojuego, proveyendo un ambiente
que aumente la efectividad del videojuego.
En la aplicación se fusionan las tecnologías del diseño, las
animaciones por computadoras y el sonido envolvente en
correspondencia con las tradiciones orales y escritas que
subsistieron con el transcurrir de los años. Las tecnologías
desarrolladas por la ingeniería contribuyen de manera dinámica
e innovadora al proceso educativo.
Gracias por su Atención…