Tras haber cursado una asignatura de 3 créditos académicos y haber superado una serie de exámenes fui admitido por rendimiento a University of Colorado Boulder (CU Boulder) para proseguir el postgrado Master of Science in Data Science (MS-DS) que consta de 30 créditos académicos.
Por Homer Díaz
Gracias a la infinidad de cursos y libros gratuitos que abundan en internet, fácilmente una persona autodidacta puede estudiar cualquier rama de las ciencias de la computación; sin embargo, añadir a tu currículum vitae un postgrado en ciencia de datos, este luciría mucho más “sexy” ante los ojos de cualquier empleador. No en vano la revista Harvard Business Review publicó, algún tiempo atrás, un artículo titulado “Data Scientist: The Sexiest Job of the 21st Century”.
Qué es la ciencia de datos? En términos simples, Andrew Ng la describe como un área interdisciplinaria donde confluyen el conocimiento de determinada área de negocio, la programación, las matemáticas, la estadística y la visualización de datos.
Por su naturaleza multidisciplinaria, el científico de datos es alguien muy difícil de encontrar en el mercado laboral. Acorde a un artículo publicado en el sitio Good Rebels, muy a menudo se refieren a ellos con apelativos como “El Dorado”, “El unicornio”, “El superhéroe de los datos”, “Bestia parda” o “El nuevo hombre del Renacimiento”… una combinación extremadamente potente.
Steve Geringer (IBM) escribe -en uno de sus blogs– que la región central del diagrama que se muestra a continuación y que está resaltada con la palabra “Unicorn”, se refiere a que hallar un científico de datos realmente capacitado no es una tarea fácil; es como si tratáramos de buscar un unicornio por todo el planeta.
De los dos diagramas arriba mostrados se desprende que no puedes aspirar a ser un científico de datos de la noche a la mañana, esta área requiere de muchos conocimientos, aptitudes y de aprendizaje continuo. Espero que al dar a conocer este postgrado de ciencia de datos, les resulte de gran utilidad especialmente para aquellos que están evaluando proseguir algún programa 100% online, de alguna universidad de prestigio, “asequible”, de admisión por rendimiento, flexible y de nivel exigente.
El aprendizaje a distancia puede no ser lo más adecuado para algunos, ya que esta requiere, entre otras cosas, mucha disciplina. Antes de iniciar algún postgrado en línea, sería recomendable que previamente estudies algunos cursos de manera remota y evalúes si podrías adaptarte a este tipo de educación. A título personal, costo y tiempo fueron dos factores importantes que me han conllevado a estudiar remotamente y obtener certificados en: Artificial Intelligence (Python), Machine Learning (Python), Machine Learning (MATLAB) y Redes Neuronales Artificiales o Deep Learning (Python, TensorFlow, y Keras). Así que ya estoy más que adaptado.
¿Cuán prestigiosa es CU Boulder?
Además de contar con buena reputación en las áreas de matemáticas, ciencias de la computación e ingeniería, CU Boulder:
- Ocupa el puesto 46 en el 2021 Academic Ranking of World Universities.
- Ocupa el puesto 62 en el 2022 Best Global Universities.
- Y es miembro de la Association of American Universities, grupo élite de 66 universidades abocadas a la investigación y a la alta calidad educativa.
Acerca del Programa
El postgrado Master of Science in Data Science (MS-DS) es posible gracias a un convenio de colaboración interdisciplinaria entre los departamentos de Matemáticas Aplicadas, Ciencias de la Computación, Ciencias de la Información y otorgado por la Escuela de Graduados de CU Boulder.
La admisión es por rendimiento y CU Boulder ofrece esta maestría vía Coursera, el cual es un portal educativo asociado con universidades de renombre.
El programa está debidamente acreditado y la universidad otorga el mismo diploma que otorga en una maestría de modalidad presencial; es decir, en el diploma no hay distinción alguna de modalidad “online” o vía “Coursera”. Ambos aspectos de la maestría se pueden encontrar en la sección “Preguntas Más Frecuentes” (FAQ) del sitio web MS-DS.
¿Cómo es la admisión por rendimiento?
Para ser admitido no se necesita seguir el típico proceso de admisión el cual requiere cartas de recomendación, carta de intención, curriculum vitae, consolidado de notas de pregrado, TOEFL y GRE, entre otros tantos requisitos. Para ser admitido a la maestría es suficiente cursar y aprobar con una calificación mínima de 3.0 (en una escala de 4.0 puntos) una de dos asignaturas, o bien Estructuras de Datos y Algoritmos, o bien Estadística Inferencial; cabe mencionar que estas materias son fundamentales en las disciplinas de ciencias de la computación y estadística respectivamente.
Ambas asignaturas tienen 3 créditos cada una y son obligatorias en el programa; lo que significa que si aprobaste Estructuras de Datos y Algoritmos y fuiste admitido, posteriormente también tienes que cursar Estadística Inferencial. Los 3 créditos de la asignatura que aprobaste y con la cual fuiste admitido cuentan como parte de los 30 créditos que necesitas completar para poder graduarte… y para poder graduarte es requisito indispensable tener como mínimo un promedio acumulado de 3.0.
La asignatura que elijas cursar va a depender mucho de la trayectoria y/o experiencia con la que cuentes. En lo personal opté por Estructuras de Datos y Algoritmos, puesto que fue asignatura obligatoria en mi carrera universitaria de Ingeniería de Sistemas en la Universidad de Lima de la cual egresé en 1998. Puedes ver mi perfil en Linkedin y agregarme a tus contactos.
¿Cuán costosa es la maestría MS-DS?
La maestría tiene un costo total de $20,010 USD ($667 USD por crédito) y el pago se realiza conforme al número de créditos matriculados por sesión (existen 6 sesiones por año). El precio es significativamente menor comparado con una maestría presencial o con alguna otra maestría online … digamos que es “asequible” si la comparamos con la maestría online de la Universidad de Berkeley (MIDS) la cual bordea los 70 mil dólares. Los siguientes son algunos otros programas que puedes encontrar en Coursera.org y Edx.org:
- Master of Science in Data Science – University of Colorado Boulder (TOP 50)
- Online vía Coursera.
- 30 créditos académicos.
- Costo: $20,010 USD ($667 USD por crédito). Precio único para estudiantes norteamericanos u de otra nacionalidad.
- Admisión: por rendimiento.
- Master of Machine Learning and Data Science – Imperial College London (TOP 25)
- Online vía Coursera.
- Costo: 30,000 libras esterlinas (~US $ 40,000).
- Admisión: proceso de admisión.
- Master of Applied Data Science – University of Michigan (TOP 25)
- Online vía Coursera.
- Costo: $31,688 – $42,262 USD.
- Admisión: proceso de admisión.
- Master’s Degree in Data Science – The University of Texas at Austin (TOP 50)
- Online vía Edx.
- Costo: $10,000 USD.
- Admisión: proceso de admisión.
- Magíster en Ciencia de Datos – Pontificia Universidad Católica de Chile (TOP 400) (TOP 10 en Latinoamérica)
- Online vía Coursera.
- Costo: $14,000 USD.
- Admisión: proceso de admisión.
¿Cuán flexible es el postgrado?
Todas las asignaturas del programa están divididas en cursos de un (1) crédito cada uno. Por ejemplo, Estructura de Datos y Algoritmos está dividida en los siguientes 3 cursos:
- DTSA 5501 Algorithms for Searching, Sorting, and Indexing (1 crédito)
- DTSA 5502 Trees and Graphs: Basics (1 crédito)
- DTSA 5503 Dynamic Programming, Greedy Algorithms (1 crédito)
Esta división de las asignaturas brinda la flexibilidad necesaria para que aquellos estudiantes que tengan una agenda sobrecargada, familia, presupuesto limitado u otro motivo, puedan matricularse, por ejemplo, en un (1) solo curso por sesión. Yo en lo particular, decidí matricularme en un curso por sesión a lo largo del año 2021 hasta completar los 3 cursos que conforman Estructura de Datos y Algoritmos:
- Cursé DTSA 5501 en la sesión Jun – Ago
- Cursé DTSA 5502 en la sesión Ago – Oct
- Cursé DTSA 5503 en la sesión Oct – Dic
Otros aspectos que hacen flexible al postgrado se refieren, en primer lugar, a la división del año académico en 6 sesiones de 2 meses cada uno lo que da la facilidad de matricularse hasta en 6 oportunidades por año; en segundo lugar, no hay un máximo de cursos a matricularse por sesión; y tercero, uno puede decidir no estudiar en algunas sesiones. Sin embargo, es requisito indispensable completar toda la maestría en un plazo máximo de 8 años y con un promedio acumulado de 3.0.
Plan de Estudios
La maestría MS-DS consta de 30 créditos académicos, de los cuales 21 son obligatorios y 9 son electivos; y todas las asignaturas están divididas en cursos de un (1) crédito cada uno.
Las asignaturas obligatorias son las siguientes:
- Data Mining Foundations and Practice (3 créditos)
- Data Science Foundations: Data Structures and Algorithms (3 créditos)
- Data Science Foundations: Statistical Inference (3 créditos)
- Statistical Modeling for Data Science (3 créditos)
- Databases (2 créditos)
- Machine Learning (3 créditos)
- Vital Skills for Data Scientists (4 créditos)
Esta maestría es relativamente nueva puesto que inició en mayo del 2021. Según CU Boulder, se estarán dando a conocer más asignaturas electivas en los próximos meses. Las disponibles hasta la fecha son los siguientes:
- Big Data Architecture
- Data Science Methods for Quality Improvement
- Deep Learning Applications for Computer Vision
- Effective Communication
- High Performance and Parallel Computing
- Statistical Learning for Data Science
- Text Marketing Analytics
En la sección “Curriculum” del website del postgrado puedes ver más detalles de cada asignatura; tanto los cursos en que se dividen cada una de ellas, así como también los conocimientos previos que necesitas tener al matricularte en algún curso.
Acerca de Estructura de Datos y Algoritmos
Por tratarse de una asignatura a nivel de postgrado, Estructura de Datos y Algoritmos es considerada de nivel avanzado. Además se han incluido temas adicionales que por lo general no se cubren a nivel de bachillerato; como por ejemplo, el algoritmo “The Fast Fourier Transform” que es de suma importancia en análisis de datos, especialmente si se va a tener que lidiar con datos como audio y series de tiempo, entre otros.
Como parte del syllabus se incluye el análisis matemático de ciertos algoritmos, así como también demostraciones matemáticas por inducción con la finalidad de comprobar que un algoritmo sea correcto.
Esta asignatura requiere tener conocimientos previos en matemáticas (por lo menos a nivel del primer año de estudios de alguna carrera universitaria en ciencias), probabilidades, programación en Python y programación orientada a objetos. Puedes ver más detalles en este enlace o ver el siguiente video donde el profesor de la asignatura brinda una visión general de esta materia.
¿Cómo fue mi experiencia de cursar Data Structures and Algorithms?
Mi experiencia fue muy intensa y grata en todo sentido, desde el momento de la matrícula hasta el momento de ser admitido. Dar el primer paso es de lo más rápido y simple; solo tienes que visitar el website MS-DS, dar click en “Enroll Now”, seleccionar los cursos a matricularte, realizar el pago y seguir las instrucciones. Luego de matricularme, en menos de 24 horas ya tenía acceso a todo el material educativo del curso en el cual me había matriculado, acceso al portal universitario y tenía asignado un email oficial de alumno @colorado.edu. Yo radico en los EE.UU, quizás todo el proceso sea más de 24 horas para aquellos que radican en el exterior.
Para facilidad mía y la de muchos estudiantes, los períodos de matrícula son bastante prolongados. Dentro de las 8 semanas que dura cada sesión, aproximadamente tienes de plazo 6 semanas para matricularte en cualquier curso, lo que significa que te puedes matricular hasta faltando 2 semanas para finalizar la sesión y, significa también que tienes 2 semanas para asimilar todo el curso, entregar todas las pruebas, asignaciones, examen final y todo material pendiente. También puedes retirarte del curso y exigir reembolso, pero bajo las fechas límites y bajo ciertas condiciones. Puedes ver más detalles entrando al calendario académico del postgrado.
El contenido de cada curso de Data Structures and Algorithms es bastante extenso y cada uno se distribuye en 4 módulos. Por lo general cada módulo consiste de:
- 2.5 horas de material videográfico pregrabado aproximadamente.
- 4 ó 5 pruebas de elección múltiple.
- Como parte del material educativo se provee algunos algoritmos implementados dentro de un cuadernillo o documento conocido como “Jupyter notebook” con código en lenguaje de programación Python los cuales te ayudarán a una mejor comprensión de los mismos.
- Una (1) asignación de programación en Python (Jupyter notebook).
- Lecturas recomendadas del libro “Introduction to Algorithms” (Cormen, Leiserson, Rivest and Stein).
Como podrás deducir, aproximadamente cada curso consiste de 10 horas de material videográfico, 20 pruebas, 4 asignaciones y además de un (1) examen final. Y en resumen, la asignatura completa consiste de 30 horas de video, 60 pruebas, 12 asignaciones y 3 exámenes finales.
En cuanto a las asignaciones de programación y a los exámenes finales, tienes que codificar dentro de unos documentos o cuadernillos (Jupyter notebooks) los cuales están alojados en una nube o “cloud” donde puedes trabajar y guardar tus avances sin necesidad de descargarlos del ambiente de programación en el “cloud”. Si no deseas trabajar en la nube, puedes descargar los cuadernillos para lo cual necesitarás instalar en tu computador el software necesario.
Dentro de estos “Jupyter notebooks” encontrarás:
- Los enunciados de los problemas a dar solución.
- Cierto número de bloques con código en Python; es decir, se empieza a partir de un modelo o plantilla y no se tiene que programar desde cero.
- Y también encontrarás un determinado número de tests por cada problema. Estos tests tienen la finalidad de verificar que las soluciones que hayas codificado estén arrojando como resultado los valores deseados.
Dependiendo de la naturaleza de cada asignatura, los exámenes finales pueden ser, o bien con supervisión vía webcam (ProctorU), o bien sin supervisión. En el caso de Estructura de Datos y Algoritmos, el examen final fue supervisado en la primera sesión de inaugurada la maestría con una duración de 1h 32m; en las siguientes sesiones los exámenes finales han venido siendo sin supervisión con una duración de 24 horas como plazo de entrega (take home final exam).
Cuando hayas terminado de programar una asignación o un examen final y hayas superado todos los tests existentes dentro del “Jupyter notebook”, lo siguientes es enviar el “notebook” internamente para ser calificado por un sistema que lo realiza de forma automática e instantáneamente. Principalmente lo que hace este sistema de calificación es evaluar cuán eficiente son las soluciones o algoritmos que has codificado. A pesar de que tus soluciones hayan superado con éxito todos los tests que existen dentro del “notebook”, tus soluciones podrían ser ineficientes y por lo tanto el sistema de calificación no te otorgará puntaje alguno.
Existe la facilidad de que puedes enviar tus asignaciones de programación múltiples veces para ser evaluadas por el sistema hasta que logres encontrar una solución eficiente y obtengas el máximo puntaje. En el caso de los exámenes finales, solo tienes una sola oportunidad para enviar el “notebook”; así que tienes que estar 100% seguro de haber codificado de manera eficiente.
Estructura de Datos y Algoritmos no es una asignatura para nada fácil. El contenido y el grado de dificultad es cada vez mayor curso tras curso. Para la gran mayoría -yo incluido- el curso DTSA 5503 Dynamic Programming, Greedy Algorithms fue el de mayor carga de trabajo y el de mayor grado de dificultad como puedes observar en el siguiente hilo o “thread” en Slack; en el cual se comenta lo difícil de una de las asignaciones de programación donde hay que implementar una técnica conocida como “memoization” que es usada en programación dinámica.
Slack, los foros y las horas de oficina vía Zoom son los medios a través de los cuales puedes interactuar con los demás estudiantes y con los asistentes de cátedra (Teaching Assistant – TA).
CU Boulder tiene un espacio de trabajo en Slack con varios canales (uno por cada curso) donde siempre encontrarás estudiantes que te aclaren el enunciado de algún problema o tema específico; así como también puedes encontrar consejos de cómo abordar determinado problema. Aquí en Slack, también tienes la gran oportunidad de expandir tu red de contactos con estudiantes de diversas partes del mundo y, de variada trayectoria educativa y/o profesional como destaca CU Boulder en este artículo.
En los foros puedes exponer tus dudas y/o preguntas a los asistentes de cátedra. Pero un medio más directo es a través de las horas de oficina donde parte del staff responderán tus preguntas, revisarán tu código y despejarán tus dudas a través de una videollamada vía Zoom.
Esta asignatura es impartida por Sriram Sankaranarayanan, PhD de la Universidad de Stanford, quien posee una excelente didáctica de enseñanza, da una introducción muy clara a los conceptos de estructuras de datos y explica a detalle cómo funcionan toda la amplia gama de algoritmos que son parte del syllabus.
Haber cursado Estructura de Datos y Algoritmos ha sido una experiencia bastante intensa y grata a la vez; no solo por el logro alcanzado sino también por reaprender y aprender algunos nuevos algoritmos y sus aplicaciones en la vida real.
Finalmente, resulta muy prematuro dar una opinión de la calidad de todo el programa puesto que este máster es relativamente nuevo -se inició en mayo de 2021; pero un postgrado ofrecido por una universidad de la talla de CU Boulder, con catedráticos provenientes de las mejores universidades del mundo, con un costo inferior que otras maestrías, flexible, 100% online, con una modalidad de admisión muy simple y, por el hecho que Estructura de Datos y Algoritmos haya superado mis expectativas, creo que esta maestría es más que prometedora.
Aportes y comentarios son siempre bienvenidos. Espero que toda esta información les sea de gran utilidad y suerte en esta fascinante carrera sea cual sea la opción que elijas!