¿Cuál es un buen enfoque para aprender programación con conocimientos de matemáticas?

Uno de mis amigos, que ganó el bronce en la Olimpiada Internacional de Matemáticas el año pasado, comenzó a aprender programación leyendo los documentos en C ++ para resolver problemas del concurso. Sin algoritmos, sin estructuras de datos, solo manipulación pura de punteros y matrices y demás (todavía no tengo idea de cómo pudo llegar al top 20 a nivel nacional con solo eso ).

Sin embargo, pude ver por qué eligió hacer eso. Después de aprender un montón de algoritmos, siento que perdí la mayor parte de la intuición matemática que aprendí en mis primeros años: los proyectos de la vida real parecen increíblemente desordenados y frustrantes, y los concursos realmente difíciles, que no se pueden resolver con un libro de texto. métodos por sí solos, parecen requerir un poco más de sentido matemático (ahora erosionado). Me imagino que estos dos desafíos serían especialmente arduos para alguien estrictamente matemático.

Entonces, en resumen, elija un lenguaje (C ++ muy recomendable por su soporte en línea ilimitado, velocidad de ejecución, etc.), aprenda los conceptos básicos de entrada / salida, almacenamiento de variables, etc., y vea hasta dónde puede llegar con eso (vea mi respuesta a ¿Cómo puedo ser bueno en algoritmos si soy débil en matemáticas? para algunos recursos problemáticos). Si le gusta, estudie las técnicas estándar más formalmente.

Lo más importante es practicar. La programación no es un deporte para espectadores, y la única forma de mejorar es hacerlo. Python es una opción muy popular entre los matemáticos que necesitan programar, ya que la curva de aprendizaje es muy suave y el rendimiento es razonable. C ++ es excesivo a menos que realmente necesite el rendimiento, e incluso entonces debe tener en cuenta el mayor tiempo de desarrollo.

More Interesting

¿Puedo disfrutar la programación incluso si no me gustan las matemáticas?

Es un doctorado en una informática con crowdsourcing como foco que vale la pena perseguir?

Soy un programador de Java. ¿Cuáles son las cosas que debo saber como programador de Python?

¿Cuál es mejor, impresoras láser o de inyección de tinta?

Voy a la universidad para estudiar informática. He hecho algunas codificaciones antes y soy muy bueno en matemáticas. ¿Cómo puedo prepararme para hacerlo bien?

¿Hay algún punto en el que debería comenzar a aprender otro lenguaje de computadora?

Soy un estudiante de ingeniería y quiero aprender codificación para trabajar independientemente. No sé nada más que el básico C. ¿Qué idioma y cómo debo comenzar?

¡Quiero establecerme en Estambul! ¿Quién me puede guiar? Recientemente terminé mi licenciatura en informática. ¿Cuál es el valor de CS en Estambul? ¿Cuáles son las oportunidades laborales para programadores?

¿Existe un trabajo que sea un subconjunto de mecánica de daños, sistemas de control y aprendizaje automático?

Cómo asegurar el éxito en un título de CS y en el campo de trabajo

¿Debo aprender a codificar la GUI o simplemente diseñar con un IDE?

¿Qué trabajos están disponibles para los estudiantes de informática que no incluyen programación?

¿Puedo convertirme en un buen programador sin conocimientos de matemáticas y algoritmos?

¿Cómo convertirse en un experto en administración de Hadoop? ¿Cuál es la forma de trabajar en el administrador de Hadoop?

Como desarrollador de software con más de 7 años de experiencia laboral, estoy deprimido porque mis habilidades son aún más débiles que las de un recién graduado, ¿qué debo hacer?