Después de meses sin parar de programar, he fijado por fin unos límites en el proyecto, y he comenzado a realizar la memoria de la aplicación, lo cual llevará al menos un par de meses más. Mientras tanto, se realizarán … Continue reading →
Como habréis podido observar, la web que creé para el proyecto antes de empezar con él, se encontraba anteriormente alojada en http://rephus.es/piano. Ha sido transladada a http://piano.coconauts.net El motivo de dicho cambio ha sido porque hemos abandonado el servicio de … Continue reading →
Hoy ha sido un dia repleto de novedades, en especial para el blog. Se ha añadido una nueva página, contiene la información de las puntuaciones, se muestran como máximo las 5 mejores puntuaciones de cada canción. Ahora mismo, las puntuaciones … Continue reading →
Ha costado toda la mañana, pero finalmente, se ha conseguido reproducir y visualizar en el selector de canciones, archivos midis de forma offline (leidos de un archivo.txt) con archivos alojados localmente u online (directamente de la base de datos) y … Continue reading →
El principal problema que tiene la Escuela Superior de Informática, es el elevado número de abandonos que tienen las titulaciones que se imparten en ella (Ingeniería Técnica en Informática de Gestión y Sistemas e Ingeniería Informática). Una de las posibles causas de este elevado número de abandonos puede ser la excesiva carga de trabajo que cae sobre los alumnos, lo cual provoca que no puedan seguir el ritmo de trabajo, no obtengan buenos resultados en las pruebas, se desanimen y abandonen. Otro de los motivos puede ser que los alumnos intentan remontar los resultados adversos que arrastran, sobrevalorando sus posibilidades, lo cual les lleva a matricularse de más asignaturas de las que pueden afrontar. Además, existen alumnos que compaginan trabajo con formación, y no son conscientes de que son un tipo especial de alumno que no puede seguir el ritmo de trabajo de los alumnos que dedican su tiempo únicamente a formarse. Al no obtener los mismos resultados que estos últimos hacen que abandonen.
El próximo curso se implantarán los nuevos títulos y planes de estudios adaptados al Espacio Europeo de Educación Superior (EEES), en concreto el Grado en Ingeniería Informática, que entre otras cosas obligará a asistir a clase para poder realizar una serie de actividades presenciales que tienen peso en los resultados. Esto puede ayudar a que los alumnos de nuevo ingreso dedicados únicamente a formarse no pierdan el ritmo y obtengan resultados que les permitan ir a curso por año. Pero la situación puede empeorar aún más si las cargas de trabajo de las distintas asignaturas no se controlan bien. En esta situación puede ocurrir que los alumnos tengan que abandonar asignaturas ya que no puedan compaginar los trabajos.
Además en este nuevo contexto, con los alumnos que compaginan trabajo y formación, el problema del abandono se acentúa aún más, ya que no podrá asistir a clase y puede que se pierda multitud de actividades presenciales obligatorias o recomendables para superar las asignaturas. Teniendo en cuenta todo esto, se puede prever que el número de abandonos será muy similar al que existe actualmente o al de cursos anteriores.
Por esta razón, un asistente (humano/automático) que ayude al alumno a confeccionar matrículas que respeten la normativa vigente pero que sean acordes con su ritmo de trabajo, con sus circunstancias personales y por su puesto con sus capacidades y destrezas, podría ser muy útil como mecanismo para reducir el número de abandonos. Con él, cada alumno obtendría una recomendación de matrícula cuyo objetivo sería que el alumno obtuviera el mayor número de asignaturas superadas.
En este sentido el asistente, en base a la información personal/académica proporcionada por el alumno, a la institucional determinada esta por los planes de estudio y por la normativa, y al conocimiento derivado del análisis de experiencias previas, determinaría cual es la carga adecuada de trabajo para el siguiente curso para el alumno, con el objetivo de:
- Evitar la sobrestimación de sus capacidades, impidiendo que se matricule de más de lo que puede.
- Aprender más, ya que tendrán una carga más balanceada, y le permitirá dedicar más tiempo a cada asignatura.
- Obtener calificaciones más altas.
- Evitar los agobios producidos por la falta de tiempo.
Otro de los problemas que se encuentran los alumnos es el de escoger las asignaturas optativas y de libre elección, aquí muchos alumnos escogen las que creen que le gustarán más o creen más sencillas. El asistente también podría ayudar a los alumnos a escoger estas, indicando cuales son las asignaturas que mejor pueden venirle en base a su marcha académica, sus capacidades y sus habilidades.
Por otra parte, en la actualidad la Escuela está inmersa en un proceso de implantación de nuevas titulaciones adaptadas al EEES que implica la extinción de las titulaciones existentes en la actualidad. En todo proceso de implantación de nuevos planes de estudio debe haber un plan o procedimiento de adaptación por el cual aquellos estudiantes que están matriculados en un determinado plan de estudios de cualquier titulación a extinguir y desean matricularse en el plan de estudios que se está implantando, solicitan que las asignaturas y/o créditos que tienen superados le sean reconocidos en el nuevo plan de estudios. El asistente podría también aconsejar a los alumnos en este procedimiento de adaptación.
El principal problema que tiene la Escuela Superior de Inform´atica, es el elevado n´umero
de abandonos que tienen las titulaciones que se imparten en ella (Ingenier´ıa T´ecnica en
Inform´atica de Gesti´on y Sistemas e Ingenier´ıa Inform´atica). Una de las posibles causas
de este elevado n´umero de abandonos puede ser la excesiva carga de trabajo que cae sobre
los alumnos, lo cual provoca que no puedan seguir el ritmo de trabajo, no obtengan buenos
resultados en las pruebas, se desanimen y abandonen. Otro de los motivos puede ser que
los alumnos intentan remontar los resultados adversos que arrastran, sobrevalorando sus
posibilidades, lo cual les lleva a matricularse de m´as asignaturas de las que pueden afrontar.
Adem´as, existen alumnos que compaginan trabajo con formaci´on, y no son conscientes de
que son un tipo especial de alumno que no puede seguir el ritmo de trabajo de los alumnos
que dedican su tiempo ´unicamente a formarse. Al no obtener los mismos resultados que
estos ´ultimos hacen que abandonen.
Bueno, ya he terminado la documentación, en lo que respecta al análisis y elicitación de requisitos, así que ya me he puesto manos a la obra con la implementación.
Al no saber nada de las tecnologías que iba a usar (Python y Django), ya me he puesto a “trastear” y empecé por lo mínimo que se despacha en un lenguaje de programación, el Hello World.
De momento tiene muy buena pinta Django, aunque la documentación está en ingles, y en español no hay casi nada de información, pero bueno….así aparte de programación, aprendo ingles…que no viene mal.
Se ha publicado en la forja el enlace para bajarse la primera versión beta de JavaDiKt Mirai. Bajo el nombre de Mirai (futuro) se agruparan las primeras versiones de JavaDiKt, de forma que el cambio de nombre conllevará en todas las versiones futuras adición de nuevas funcionalidades.
Dentro de poco pondré un manual de uso y acutalizaré la página web, mientras tanto podéis trastear un rato bajando el ejecutable desde aquí.
Se ha publicado en la forja el enlace para bajarse la primera versión beta de JavaDiKt Mirai. Bajo el nombre de Mirai (futuro) se agruparan las primeras versiones de JavaDiKt, de forma que el cambio de nombre conllevará en todas las versiones futuras adición de nuevas funcionalidades.
Dentro de poco pondré un manual de uso y acutalizaré la página web, mientras tanto podéis trastear un rato bajando el ejecutable desde aquí.
Hasta ahora, hemos instalado el entorno de desarrollo, y conocemos las particularidades de un Makefile para generar un ejecutable .dol que podemos correr en nuestra Nintendo Wii. Es decir, podemos empezar a desarrollar un proyecto desde cero, contando con algunas bibliotecas en local, pero … exacto, faltan detalles por conocer.
Hoy voy a hablaros de los detalles que, forzosamente, debemos tener en cuenta a la hora de desarrollar un proyecto en Wii, y que de no ser contemplados, generarán un montón de bugs inexplicables (creedme, lo he sufrido).
Voy a enumerar estos detalles en una lista:
u8* var = (u8*)memalign(32, tam * sizeof(u8));
u32 padding = (tam * sizeof(u8)) % 32;
u8* var = (u8*)memalign(32, tam * sizeof(u8) + padding);
// Una vez reservada la memoria, alineada y 'paddeada'
// Leemos desde un flujo de archivo de entrada, ifstream
archivo.read((char*)var, tam);
// ... y fijamos lo leído desde la caché
DCFlushRange(var, tam * sizeof(u8) + padding);
// Leer dos bytes
u16 inline swap16(u16 a) {
return ((a<>8));
}
// Leer cuatro bytes
u32 inline swap32(u32 a) {
return ((a<>24) | ((a<>8) & 0xff00));
}
u16 var;
// Leer el tamaño de un u16 y guardarlo en var. archivo es un ifstream.
archivo.rdbuf()->sgetn((char*)&var, sizeof(u16));
// Para operar correctamente con el dato u16, hay que cambiarle el endian
var = endian::swap16(var);
Se recomienda utilizar siempre estos tipos de datos, aunque también se pueden utilizar char, wchar_t y bool sin problemas (cuando sea necesario).
Y eso es todo lo que hay que tener en cuenta a la hora de programar para Nintendo Wii. Por supuesto, faltan por tratar el formato de sonido, la codificación de las imágenes y algunas cosillas más, pero sobre esos temas hablaré en sus correspodientes capítulos.
Con estos puntos que he descrito, ya nos es suficiente para ir empezando a trastear un poco. En el próximo post, aprenderemos a gestionar el Wii Remote (vamos, el mando).