Universidad de Costa Rica
Escuela de Ciencias de la Computación e Informática
CI1201 - Programación II. I-2013
I semestre 2013. Grupo 03: K,V 15:00-17:00. 303-IF.
Profesor Jeisson Hidalgo-Céspedes
Correo: jeissonh@gmail.com
Casillero: 04. Aula 303IF
Esta es la cuarta vez que imparto el curso "Programación II". Descontando un retiro de matrícula, 21 estudiantes matricularon con un promedio ponderado de matrícula de 8.18. El promedio del grupo al finalizar el semestre fue de 6.9. Hubo una deserción de dos estudiantes tras el primer examen parcial. Uno de ellos por intereses deportivos. El otro por razones desconocidas.
Tres novedades fueron implementadas en el curso. La primera de ellas fue la separación de los lenguajes C y C++. En el primer mes, que típicamente se utiliza para migrar a los estudiantes de Java a C++, se empleó en introducir C y los paradigmas de programación que este lenguaje apoya, en especial programación estructurada y metaprogramación. En los dos meses siguientes se dedicaron a C++, sus mecanismos de abstracción y sus paradigmas, en especial, programación orientada a objetos y programación genérica.
La segunda novedad fueron los laboratorios. Se organizaron laboratorios opcionales en las horas de consulta sobre temas útiles que no están estipulados en el programa del curso, como solución de problemas en pseudocódigo, control de versiones, y makefiles. Los estudiantes que los realizaban obtenían puntos adicionales. Quienes asistieron los encontraron muy útiles y sus promedios finales se vieron positivamente afectados. Sin embargo, la asistencia fue muy poca con respecto a la cantidad de estudiantes matriculados, por lo que se puede considerar una novedad que no logró sus objetivos. Por esto sólo 6 laboratorios se realizaron durante el semestre.
La tercera novedad fue el implementar en el proyecto final del curso, un videojuego en lugar de una aplicación transaccional con interfaz gráfica. Esto en sintonía con el proyecto de investigación a cargo del profesor que fue aprobado por la ECCI y el CITIC en aquellos días. Ni el profesor ni los estudiantes sabían programar videojuegos. Se escogió la biblioteca Cocos2d-x, por varias razones: es 2D (más sencillo que 3D), libre, multi-plataforma, permite C++, se argumenta como la más popular del mundo y dispone de documentación en forma de libros.
Como resultados, al final del semestre se encontró que un tercio de los estudiantes preferían Java sobre C++, un poco más de un tercio preferían C++ y sorprendentemente un poco menos de un tercio preferían C. Este último resultado no era esperado por el profesor.
Los estudiantes se mostraron muy entusiasmados y agradecidos con el proyecto del curso. Pese a las dificultades de conocimiento y de tiempo, la oportunidad de implementar un videojuego fue del interés de todos, excepto de un estudiante (distanciado de la edad promedio del grupo) que expresó no tener inclinación por los videojuegos. Entre los comentarios de los estudiantes surgidos tras el proyecto, se recomendaba asignar el proyecto lo más temprano posible en el semestre y continuar utilizando videojuegos como temática del mismo.
Los estudiantes que numéricamente no aprobaban el curso, no realizaron el proyecto. Pese a que estaba estipulado en parejas, cuatro estudiantes lo realizaron individualmente, tres de ellos obtuvieron las calificaciones más bajas del proyecto y uno de ellos, fue el mejor calificado. Un grupo de tres estudiantes mostraron tanto interés que dedicaron con esmero al cuido del diseño gráfico y expresaron su interés en dedicar el resto de sus vidas al desarrollo de videojuegos (iniciativa que ya traían antes del curso).
Dieciséis estudiantes de veintiuno (75%) aprobaron el curso. Las calificaciones positivas fueron muy uniformes entre las distintas evaluaciones. Sólo un estudiante obtuvo la nota máxima (10.0), gracias a su asistencia a todos los laboratorios y al sistema de redondeo de la Universidad. Cinco estudiantes reprobaron el curso. Dos por abandono tras el primer examen parcial, dos por bajas calificaciones en general y uno por no realizar el proyecto. Estos últimos tres asistieron hasta el último examen parcial.
En cuanto al nivel de exigencia del curso, fue aproximadamente similar al del semestre anterior. Aunque el profesor tuvo la intención de levantar el nivel de exigencia, no fue posible dada la interferencia con las exigencias de los cursos del doctorado. Este comportamiento fue compartido con los otros profesores de la ECCI que también están en el programa de doctorado.
Los enunciados de las evaluaciones: tareas, quices y exámenes, se encuentran disponibles tras el enlace: http://inciart.com/teach/ucr/progra2/2013a/.