Estudiar Ciencias de la Computación en Michigan fue una experiencia inspiradora que me ayudó a conseguir un buen trabajo, conocer gente increíble y, en general, me ayudó a aprender cómo tener éxito.
Hubo algunas clases que me destacaron especialmente durante mi estadía de 4 años.
1. Estudio avanzado dirigido en desarrollo de aplicaciones móviles con el profesor Jeff Ringenberg (EECS 499)
En este curso, los estudiantes trabajan en grupos para llevar a buen término las aplicaciones móviles (resultó que trabajaba principalmente en aplicaciones iOS). Tomé este curso 3 veces (una vez para cumplir un requisito, pero dos veces más porque lo disfruté y pensé que en general fue útil para avanzar mi educación).
- Educación en el Reino Unido: ¿Es más difícil obtener las mejores calificaciones en las mejores universidades que en las universidades menores? ¿Por qué?
- ¿Por qué la Universidad Carnegie Mellon tiene una dotación tan baja?
- ¿Qué tan buena es la Facultad de Ciencias de la Computación de la Universidad Simon Fraser?
- Cómo asegurarse de mantener un contacto significativo con sus antiguos profesores en la universidad después de graduarse
- ¿Cómo es la interacción UG-PG en el MIT?
La primera vez, me emparejaron con un grupo que estaba creando una aplicación de iPad para los equipos de baloncesto de hombres y mujeres de Michigan. La aplicación tenía características para estadísticas, una fuente de noticias y un calendario de juegos. También tuvimos un diseñador que hizo gráficos increíbles para cada componente, por lo que el producto final resultó bastante elegante.
La segunda vez, tomé el curso junto con Desarrollo de aplicaciones móviles para emprendedores con el Prof. Elliot Soloway (EECS 441, y también un excelente curso que abarcó materiales útiles como The Innovator’s Dilemma y Crossing the Chasm). Esta vez entré al curso con una idea y un equipo en mente. Creamos una aplicación que reúne fuentes de información sobre barras (como la longitud de la línea) para ayudarlo a elegir a qué barra ir.
La tercera vez, no tenía una idea fija en mente, pero acepté trabajar en un proyecto con la Prof. Emily Mower Provost . Esta vez estaba trabajando de forma independiente, pero directamente con un profesor (nos reuníamos aproximadamente una vez por semana). El enfoque de investigación del profesor Provost tiene que ver con evaluar cuantitativamente las emociones, y la aplicación en la que estábamos trabajando era un juego en el que se podía calcular su “coeficiente intelectual emocional” al dar calificaciones emocionales a una serie de videos.
2. Diseño y análisis de algoritmos con el Prof. Quentin Stout (EECS 586)
Este curso fue, con mucho, el curso más difícil que he tomado. Las tareas fueron muy curvas porque aparentemente algunas de las preguntas son tan difíciles que se están investigando activamente y aún no tienen respuestas claras. No obstante, creo que este curso me inspiró más que cualquier otro que haya tomado porque me enseñó lo bueno del mundo de que es capaz la informática. Mi problema favorito que discutimos fue el problema de los bandidos. El profesor Stout había aplicado soluciones a este problema en el campo de las pruebas clínicas de medicina en bebés. Básicamente, esto permitió a los médicos descubrir qué medicamentos eran más efectivos con menos rondas de pruebas, literalmente salvando vidas. (Puede leer más sobre su investigación aquí: Ensayos clínicos adaptativos y otros experimentos de muestreo adaptativo)
3. Seguridad informática y de red con el Prof. J. Alex Halderman (EECS 588)
No creo que pueda enfatizar lo suficiente lo importante que es que todos (especialmente los estudiantes de informática y los programadores) se den cuenta de lo importante que es el campo de la seguridad y cuán erróneos son los supuestos de muchas personas sobre cómo funcionan los sistemas. No creo que podría haber tomado este curso en un momento más conveniente considerando que los incidentes relacionados con Snowden ocurrieron durante el verano después de que lo completé.
El profesor Halderman no solo fue un maestro increíblemente atractivo, sino que ha realizado una investigación realmente genial que creo que es interesante para los estudiantes de CS y los que no son CS. Por ejemplo, ha realizado un trabajo extenso para desacreditar la viabilidad actual de las máquinas de votación electrónica [Página en jhalderm.com]; le han mostrado que puede robar información de una computadora usando una lata de compresión de aire para limpiar los teclados (conocido como “Coldboot Attack”) [Para que no lo recordemos: ataques de arranque en frío en claves de cifrado]; y, en el último día de clase, en realidad nos enseñó cómo bloquear cerraduras físicas. Tiene una excelente página web que enumera las lecturas que tuvimos para la clase: EECS 588 – Lista de lectura
–
Todos estos son cursos de nivel superior que no tienes la oportunidad de tomar hasta tus años junior o senior, pero definitivamente vale la pena esperar. Los estudiantes de primer año y segundo año se componen principalmente de requisitos previos y clases de fin de semana que son extremadamente difíciles. En su mayoría consisten en matemáticas, programación y algoritmos.
–
Una cosa que encontré muy extraña sobre CS en Michigan (y creo que esto está en línea con los estudios de CS en general en otras universidades), es que mucha programación no se enseña realmente como parte de las conferencias. Lo que significa que se espera que lo recojas por tu cuenta. Las conferencias se centran más en teorías y conceptos, pero muchas o la mayoría de las tareas requieren mucha programación. No estoy seguro si estoy de acuerdo con esto o no, pero desearía que se enfatizara mucho más porque realmente no entendí este hecho por un tiempo, lo que hizo que mucho trabajo fuera mucho más difícil de lo que tenía que ser.
–
Michigan tiene muchos extracurriculares relacionados con CS.
– MHacks – El estudiante más grande ejecuta hackathon.
– Feria de carreras de Michigan : una de las ferias de carreras más grandes del país, y CS es casi siempre la especialidad más deseada por los empleadores.
– MSuite – Software colaborativo para estudiantes donde los estudiantes trabajan en equipos para trabajar en aplicaciones móviles, como describí anteriormente.
– Los invitados vienen a dar presentaciones todo el tiempo. Los más notables que vi fueron Peter Norvig (padre de AI, Google), Jack Dorsey (Twitter, Square) y Bjarne Stroustrup (creado C ++).
– Mucho más. La comunidad en torno a CS es muy apasionada y activa.