¿Qué es Horarios?
|
|
|
Horarios es un soft programado en Visual Basic 6,
por Emiliano F. Martín, para la Facultad Regional Buenos
Aires de la Universidad Tecnológica Nacional.
¿Para qué sirve?
|
|
|
Horarios
es básicamente un generador de combinatorias.
El usuario le indica
a Horarios que especialidad está cursando,
y éste le mostrará todas las materias a las que se
puede inscribir (según si es inscripción total -en
Marzo- o cuatrimestral -en Julio- ) Se le indica entonces las materias
que se desean cursar, y se "tacha" en una grilla los horarios
en los que no se puede asistir a clase (por el motivo que fuera).
También se le puede indicar que tal materia se la quiere
cursar en tal(es) día(s) (forzar una materia en uno o más
cursos).
Luego de establecer las
exigencias, Horarios busca todas las opciones que
satisfacen lo pedido, y que obviamente sean temporalmente viables:
Nadie puede cursar dos materias en el mismo horario, por lo que
Horarios desecha esas opciones.
Este proceso lo hace
"filtrando" las materias de acuerdo a los datos ingresados,
para su posterior análisis. Éste se realiza haciendo lo que
se podría llamar un "Todas contra Todas"
y analizar la superposición horaria.
Una vez halladas las
opciones, les son mostradas al usuario para que éste elija
la(s) que más le guste, pudiendo elegir (en un paso posterior)
la prioridad para las opciones elegidas.
Por último, se
muestra un formulario de pre-inscripción como el que se tiene
que llenar para realizar la inscripción. Se pueden completar
los datos, y eventualmente (si se dispone de las bases de datos
de correlativas y el alumno ingresó los datos de las materias cursadas
y aprobadas -con el número de página de la libreta
que da constancia del mismo- ) se puede pedir a Horarios
que complete los números de página de las materias
necesarias para cursar (correlativas)
Este formulario puede
ser impreso, por lo que lo único que le faltaría sería
firmarlo, completar los números de página de las
correlativas (salvo que lo haya hecho Horarios),
pasar por el departamento de su especialidad para chequear las
correlativas, y luego por el aula 509 para finalizar la inscripción.
Lo siento, no puedo hacer nada contra eso, todo el resto del proceso
sigue siendo igual... en lo único en lo que lo puedo ayudar es en
que no se rompa la cabeza para definir su "agenda".
Historia
|
|
|
Corría la inscripicón
de Marzo de 1999. Estabamos en las interminables colas de las "terroríficas"
inscripciones. Por ese entonces, yo venía saliendo de un
proyecto que había empezado en esas vacaciones: el juego
"Escoba de 15" (programado en VB5, que luego migró
a VB6).
Mientras esperabamos,
noté como unos de mis amigos, estaba en medio de un rompecabezas:
trataba de anotarse en materias de distintos años, pero con
la condición de poder agruparlas en los 3 turnos de Martes
y Jueves. La intención de él era poder conseguir trabajo
y tener que cambiarse en la menor cantidad de materias, cuando supiera
en que turno iba a trabajar. La idea era sencilla... conseguirlo,
era el verdadero desafío.
Ante la cantidad de opciones
que ofrecía cada materia, y las "exigencias" de
mi amigo, se podían encontrar varios cursos que "sirvieran"
para su propósito. Lo difícil era combinarlos para
que todos los cursos juntos no se solaparan y siguieran cumpliendo
dichas exigencias. ¡Pavada de trabajo! =0Þ
Fue en ese momento, cuando
tuve la idea inicial de lo que hoy es Horarios. "Tiene
que haber alguna forma en la que se le pueda indicar a la máquina
que materias quiero hacer, cuales son los horarios que tengo disponibles,
y que «ella» hiciera todo el trabajo." Ahí,
en medio de la inscripción, empecé a diseñar
(mentalmente) la esencia de Horarios.
Llegué a casa,
y puse manos a la obra. Inventé algunas bases de datos, suponiendo
como podrían ser las que usarían en la facultad, y
empecé a trabajar. Luego
de 1 ó 2 semanas tenía el "esqueleto" del
sistema funcionando. Lo seguí perfeccionando y agregando
"pequeñeces" al programa.
Imprimí algunas
pantallas (screenshots) del sistema y lo lleve a la facultad para
mostrarlo. Hablé con el Ing. Hugo Aparicio (quien
habría sido mi profesor de Info I en 1997), le mostré
los screenshots, le comenté de que se trataba el programa,
y le dejé una copia para que lo pudieran ver. La idea era
que periódicamente (cada vez que se aproximaban las inscripciones)
nos "prestaran" (a los alumnos) las bases de datos para
poder hacer las consultas con Horarios. Para esto
era necesario que subieran las bases a Internet para que los alumnos
las pudieran bajar. Obviamente, tendría que haber hecho un
programita que "tradujera" las bases de ellos a la estructura
que usaba Horarios para que funcionara.
Terminé hablando
con el Ing. Marcelo H. Giura (Subsecretario Académico,
quien habría sido ayudante del Ing. Aparicio en Info I) y
mostrándole el sistema. En la Secretaría Académica,
quedaron encantados... pero él no tenía la misma idea
en la cabeza. Quería ver el programa funcionando, le gustaba
la idea de que los alumnos pudieran hacer consultas desde sus casas,
pero ellos también querían poder usarlo.
Así fue como fui
contratado para trabajar en la Secretaría Académica
para "re-escribir" parte del código de forma que
trabajara con las bases originales (no las inventadas por mí)
y en tiempo real. De esa forma, el sistema se podría usar
en el caos de las inscripciones.
Y así fue como
nació Horarios. Hoy en día el sistema
está programado para funcionar con las bases originales
(odiosas DBFs que son modificadas por el tan molesto -por los dolores
de cabeza que me trajo- sistema que se ven en las inscripciones)
en tiempo real.
Horarios también
está preparado para ofrecer cursos de otras especialidades.
Les habrá pasado, alguna vez, que se querían anotar
en "Legislación", por ejemplo, y como todos los
cursos de su especialidad estaban llenos, se les ofrecía
cursarla en tal especialidad (con idéntico plan) Horarios
conoce todos esos "truquitos", y condiciones de forma que le puede
ofrecer cursos que ustedes no sabían que existía y
que eventualmente puede ser más conveniente para ustedes.
Espero que disfruten
del programa, y le puedan sacar provecho.
|