Prefacio: Esta es solo una recomendación basada en mi experiencia personal. No soy un educador profesional ni un gurú de algoritmos.
Mi primera exposición a una instrucción de estructuras de datos / algoritmos fue a través de mi programa de estudios, facilitada a través de una universidad en línea. No entraré en detalles, pero después de graduarme me di cuenta de que tal vez esta no era la educación de mayor calidad y que probablemente debería complementar mi título con algunas fuentes externas. Me habían recomendado algunas de las plataformas MOOC en el pasado y decidí seguir esa ruta.
Ingrese a este curso:
Algoritmos, Parte I – Universidad de Princeton | Coursera
- ¿Cuál es el mejor recurso para aprender cómo construir RTOS utilizando ARM Cortex M?
- ¿Cuáles son los mejores recursos para aprender esloveno?
- ¿Cuál es el mejor recurso para aprender JavaScript lo suficiente como para poder emplearlo?
- ¿Cuál es el mejor conjunto de libros y recursos para que alguien aprenda a dibujar?
- ¿Cuáles son los mejores recursos para aprender materias de GED?
Algoritmos, Parte II – Universidad de Princeton | Coursera
Esperaba una revisión de lo que ya había estado expuesto: algunas instrucciones sobre estructuras de datos básicas (bolsas, pilas, colas, listas enlazadas, matrices, etc.), gran énfasis en las abstracciones, implementación de algunas API y cierta teoría de gráficos. . Chico, me esperaba un rudo despertar … Rápidamente me di cuenta de que esto sería más difícil de completar que cualquier semestre completo que tomé en mi programa de pregrado. Aun así, era gratis y ya estaba inscrito (y compré el libro recomendado), por lo que no hay daño al menos intentar mantener el ritmo. La mejor decisión que he tomado con respecto a mi aprendizaje extendido, en mi opinión.
Algunas cosas claves si decides ir por esta ruta.
- Te sentirás intimidado por el material. Todos con los que trabajé lo hicieron, independientemente de su experiencia / experiencia. Es profundo y amplio, y será desafiante. Apégate a él y, en lugar de obtener la ayuda de otros de inmediato, tómate el tiempo para profundizar en el problema y resolverlo tú mismo.
- Red con tus compañeros de clase. Esto fue, con mucho, lo más beneficioso para mí. Aquí estoy, meses después de completar mi BS, discutiendo la complejidad computacional con personas en la industria por décadas. Conectado con el grupo correcto de personas, no solo puede salir de un aprieto cuando está realmente perdido, sino que tuvimos muchas conversaciones divergentes sobre el material (o teorías estrechamente relacionadas) que hicieron a la clase aún más beneficiosa. Nos comprometimos a reunirnos una vez por semana a través de Google Hangouts, y esto fue tan valioso como la clase en sí.
- Haz todo el material que puedas. Hay conferencias, lecturas recomendadas, ejercicios, ejercicios de programación y preguntas de entrevistas asociadas con cada semana. Cuanto más tiempo se dedique a aprender y completar estas tareas, mejor comprenderá el material.
- No te sientas frustrado si te quedas atrás. Quizás no sea la actitud más sana, pero mi pensamiento: ¡es gratis! Si se atrasa demasiado, simplemente salte esa semana y vuelva a ella más tarde. El curso está abierto por varias semanas después del último día, por lo que puede dar marcha atrás y recuperar el material omitido, pero a veces es mejor mantenerse al día con los otros estudiantes para que puedan trabajar juntos en proyectos.
Espero que esto ayude … Estoy seguro de que hay otras formas igualmente viables de hacerlo, pero esto fue realmente útil para mí, y fue una experiencia placentera. Tengo la intención de volver a tomar la clase en aproximadamente un año para evaluar mi progreso (y solo porque fue un ejercicio divertido).