Skip to content

ivo-max/exam-engine.java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

exam-engine.java

Sistema de gestión, corrección y detección de copias de exámenes desarrollado en Java, basado en la especificación formal previa de un Tipo Abstracto de Datos, con foco en el diseño correcto de estructuras de datos, la corrección lógica de las operaciones y el cumplimiento de restricciones de complejidad temporal. El proyecto fue realizado con fines académicos, priorizando el análisis del problema, el modelado del dominio y la implementación eficiente.

Objetivos del proyecto: Diseñar y especificar formalmente un sistema de exámenes, implementar dicha especificación en Java, modelar estudiantes, exámenes y aula, garantizar la corrección lógica del sistema y cumplir con las complejidades temporales requeridas para cada operación.

Tecnologías utilizadas: Java como lenguaje principal, diseño orientado a objetos, modelado de estructuras de datos eficientes, control de versiones con Git y desarrollo en entorno VS Code.

Funcionalidades principales: Inicialización del sistema a partir de las dimensiones del aula, la cantidad de estudiantes y un examen canónico, resolución individual de ejercicios por parte de los estudiantes, copia controlada de respuestas entre estudiantes según criterios definidos, reemplazo completo de exámenes mediante consulta a una resolución externa con accesos limitados, entrega de exámenes y retiro del aula, cálculo de notas parciales y finales, detección de copias según equivalencia de respuestas entre estudiantes y corrección final respetando criterios de ordenamiento.

El proyecto implementa las operaciones principales del sistema, incluyendo la creación del entorno, la resolución de ejercicios, la gestión de entregas, la detección de copias y la corrección de exámenes, respetando las precondiciones y postcondiciones definidas en la especificación y utilizando estructuras adecuadas para garantizar eficiencia.

Conceptos aplicados: Tipos abstractos de datos, especificación formal, diseño previo del sistema, modelado de sistemas complejos, razonamiento sobre estados e invariantes, análisis de complejidad temporal, traducción de especificaciones a implementaciones eficientes, diseño de código modular y mantenible.

Estado del proyecto: Proyecto finalizado en el marco académico, preparado para posibles extensiones o adaptaciones futuras.

Autor: Ivan Kessler, Estudiante de Licenciatura en Ciencia de Datos, Universidad de Buenos Aires, ivankessler2005@gmail.com

About

Sistema de gestión, corrección y detección de copias de exámenes desarrollado en Java, basado en la especificación formal previa de un Tipo Abstracto de Datos, con foco en el diseño correcto de estructuras de datos, la corrección lógica de las operaciones y el cumplimiento de restricciones de complejidad temporal.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages