¿Qué cursos en el MIT OCW debo tomar para mejorar la codificación competitiva?

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 🙂

Si se está centrando en la codificación competitiva, entonces no necesita nada más que lo que ha mencionado en los detalles de la pregunta. Una vez que haya aprendido los conceptos básicos, es una mejor idea comenzar a practicar en sitios en línea en lugar de seguir aprendiendo solo la teoría. Tome un tema y concéntrese en él durante al menos unas semanas y repita este proceso para otros temas. Data Science Tutorials es un buen lugar para comenzar.

Creo que debería dejar de buscar competencia y comenzar a tratar de ser un mejor programador de lo que se basa en sus propias necesidades e intereses reales. Esta es una programación real en mi opinión.