About this project
it-programming / mobile-development
Open
Proyecto en Android Studio Utilizando Java como lenguaje de programación.
La base de datos que se está utilizando para el proyecto es MySQL versión 5.7 (la base de datos está almacenada localmente), la base de datos ya está normalizada, en los scripts se encuentran las 7 tablas que se requieren para el proyecto, en ellas estarán guardadas las preguntas y respuestas de cada nivel y materia, en la misma BD se guardará el progreso del usuario y su información, es decir que un usuario pueda entrar con sus credenciales (iniciar sesión), y que se mantenga "Conectado" cuando esté en el menú principal y/o respondiendo un nivel, a su vez mantenga el status que ya tenía, por decir si se quedó en el nivel 3 de la materia de Fundamentos de Programación y por alguna razón lo tuvo que dejar pendiente, cuando regrese este mantenga su progreso de preguntas, experiencia y monedas.
Puntos que considerar:
● En el proyecto adjunto, ya tenemos una pantalla de carga, login y un sign-up funcionales.
● En el proyecto de Android Studio se tienen Pantallas, una de ellas es para la parte del cuestionario (el cual aún no está diseñado en Android Studio) y también forma parte de este trabajo (que sea funcional), de igual forma tenemos la pantalla de Prueba inicial (el cual aún no está diseñado en Android Studio) y también necesitamos que quede terminada y sea funcional.
● Se cuenta con el diagrama relacional de la Base de Datos normalizada, para entender como están hechas las conexiones entre ellas.
● Tenemos un diseño de prototipos para las pantallas de Cuestionario y Prueba Final como referencia para hacer las pantallas.
A esas pantallas se les tiene que implementar un Algoritmo que se explica a continuación.
Funcionamiento del Algoritmo de Dificultad Adaptativa en la Aplicación:
1)Inicialmente se mostrará un examen diagnóstico, que solamente aparecerá para los nuevos usuarios que se registren, dicho examen diagnostico tendrá 25 preguntas fijas de las 3 materias que se tiene en la BD (Fundamentos de Programación, Programación Orientada a Objetos y Estructura de Datos), cada pregunta tiene 10 puntos de experiencia, haciendo una escala, nos queda de la siguiente manera:
● 2 preguntas se le asigna al nivel 1 de la materia (Fundamentos de Programación)
● 5 preguntas acertadas al nivel 2 de la materia (Fundamentos de Programación)
● 8 preguntas acertadas al nivel 3 de la materia (Fundamentos de Programación)
● 11 preguntas acertadas al nivel 1 de la materia (Programación Orientada a Objetos)
● 14 preguntas acertadas al nivel 2 de la materia (Programación Orientada a Objetos)
● 17 preguntas acertadas al nivel 3 de la materia (Programación Orientada a Objetos)
● 20 preguntas acertadas al nivel 1 de la materia (Estructura de Datos)
● 23 preguntas acertadas al nivel 2 de la materia (Estructura de Datos)
● 25 preguntas acertadas al nivel 2 de la materia (Estructura de Datos)
Recordando lo que se mencionó previamente, cada pregunta cuenta con 10 puntos de experiencia, la cual es la que se va a ir acumulando en el usuario.
Ejemplo: Un usuario responde 11 preguntas de manera correcta este usuario habrá desbloqueado, hasta el nivel 1 de la materia (Programación Orientada a Objetos), y los demás niveles restantes estarán bloqueados para el usuario, se guardará la experiencia al ser once preguntas acertadas y cada una vale 10, serian 110 puntos de experiencia, así por cada nivel como se muestra en la lista de arriba.
2) Una vez que se ubique el nivel, el cual hará el algoritmo antes mencionado, tenemos que los niveles 1 de las 3 materias constan de 6 preguntas con clasificación baja, media, y alta, a continuación, se presenta la escala de cada nivel:
● Nivel 1 cuenta con 6 preguntas pasa si contesta bien 4 (Si contesta 4 bien son 40 de experiencia ya que cada una vale 10).
● Nivel 2 cuenta con 7 preguntas pasa si contesta bien 4.
● Nivel 3 cuenta con 7 preguntas pasa si contesta bien 4.
● Prueba Final (es un tipo examen) cuenta con 10 preguntas Avanza si contesta bien 6 (Si contesta 6 bien son 60 de experiencia).
Esto es para las 3 materias
El algoritmo de dificultada adaptativa: Se va a moldear de acuerdo con los conocimientos del usuario, por ejemplo: el usuario está en el nivel 1 y está contestando ese nivel, y si en la primera pregunta contesta mal, el algoritmo le debe de mostrar la próxima pregunta de clasificación baja, si el usuario contesta esta pregunta de clasificación baja de forma correcta, este subirá a clasificación media para la próxima pregunta y así sucesivamente hasta culminar con el nivel.
Nota: Al termino de los 3 niveles en caso de acreditarlos, este tendrá que resolver una prueba final, y al terminarla obtendrá una recompensa que es desbloquear la siguiente materia al nivel 1.
Importante: En los scripts se cuenta con las preguntas y respuestas de cada nivel y materias fijas, por el funcionamiento del algoritmo, se tiene un banco extra especialmente para los casos, donde al usuario se le compliqué, y esas preguntas de clasificación baja sean utilizadas.
Ejemplo: Utilizando el ejemplo anterior de que acierta 11 preguntas y tiene 110 de experiencia, este se va a ubicar en el nivel 1 de la materia de programación orientada a objetos, una vez en ese nivel el usuario tiene que responder las 6 preguntas, para saltar al siguiente nivel, necesita tener 4 de forma correcta, de lo contrario no avanza y le muestra una retroalimentación (La cual será las respuestas de las preguntas incorrectas) , para que vuelva a intentarlo y pueda acreditarlo de forma correcta.
Por último, el usuario va a recibir 20 monedas por cada nivel completado, y esto se verá reflejado en la parte superior de la pantalla, para que pueda utilizarlas cuando el deseé.
Ejemplo: Si el usuario se encuentra en el nivel 1 de la materia de fundamentos de programación, y lo aprueba obtiene 20 monedas, después si pasa el nivel 2 de fundamentos de programación recibe otras 20 monedas y así sucesivamente, si aprueba todos los niveles y la prueba final de Una materia en total serían 240 monedas.
Nota: cada pregunta vale 10 de experiencia, esa experiencia obtenida, se va a acumular en el usuario (base de datos).
Project overview
Ayudarnos a terminar la aplicación, la cuál se está desarrollando en Android Studio.
Category IT & Programming
Subcategory Apps programming. Android, iOS and others
What is the scope of the project? Medium-sized change
Is this a project or a position? Project
I currently have I have the design
Required availability As needed
Required platforms Android
I need to Modify an existing app
App type Game
Back-end is required Yes
Payment gateway No
Delivery term: Not specified
Skills needed