No he mirado el material de curso abierto del MIT lo suficiente como para saber qué clases son buenas o malas. Supongo porque es MIT que todos son geniales.
SIN EMBARGO: He tomado suficientes clases de software para poder responder esto de manera efectiva.
Independientemente de lo que decida aprender, todas las clases de programación competitivas se basan en algunas de las mismas cosas:
- Conocimiento de al menos un idioma central. Los lenguajes principales, IMO, cuentan como: C, C ++ o Java. Estos son idiomas de tipo estático, y CUALQUIER desarrollador de software debe conocer uno o más de estos idiomas.
- Estructuras de datos y algoritmos. Simplemente: sepa cómo puede estructurar los datos y qué estructura usar para una tarea determinada. Muchos problemas en la ingeniería de software (y, por lo tanto, desafíos competitivos) dependen de muchos de estos conceptos.
- Análisis matemático: saber matemáticas. Puro y simple. Muchos problemas en cualquier aspecto del software implican algún tipo de matemática. Cuantas más herramientas tenga a su disposición, mejor. Recomendaría Calc 1-3, y quizás Matemática discreta.
Espero que esto ayude 🙂
- ¿Cuáles son algunos cursos inusuales disponibles en la Universidad de Notre Dame?
- ¿Dónde puedo encontrar el mejor curso corto de fotografía básica?
- ¿Qué significa un curso integrado en India?
- ¿Qué curso de informática es adecuado para estudiantes de pregrado en economía?
- Si doy GATE en Electrónica y Comunicaciones, ¿qué cursos son aptos para el futuro en Sistemas Embebidos?