Soy realmente bueno en matemáticas, pero soy débil en la codificación. ¿Cómo puedo ser bueno en ambos?

¿Cómo te volviste bueno en matemáticas? No sé nada de ti, pero es más que probable que no seas un experto en el que puedas leer un concepto matemático solo una vez y luego puedas dominarlo de inmediato y hacer cualquier prueba en torno a ese concepto y resolver muchos problemas. ¡Es más que probable que hayas hecho muchas matemáticas! Leíste libros de matemáticas, tomaste clases de matemáticas y lo más importante, resolviste muchos problemas. La programación realmente requiere una cantidad similar de persistencia, leer libros de codificación, hacer preguntas y escribir montones y montones de código (mientras lo revisa constantemente y posiblemente reciba aportes de otros más experiencia suya). En términos de cosas específicas, depende de tus objetivos. Si quieres aprender C ++ / MATLAB, te sugiero que busques en los libros y veas el intercambio de pila.

Aquí hay un enlace de stackexchange para libros en C ++ … La guía y lista definitiva de libros de C ++

Desafortunadamente, no conozco ningún buen libro de matlab, ¡pero hay muchos tutoriales en línea!

Escribir un buen código es como escribir una buena prueba, debe ser preciso, es importante diseñar lo que ya tiene y luego, basándose en la sintaxis que use, comience a crear el código para construir su solución. ¡Sobre todo, ten mucha paciencia y trata de divertirte! Hay muchos sitios web de desafío de código, como Acerca de – Proyecto Euler, que sería realmente bueno para usted teniendo en cuenta sus antecedentes en matemáticas, ya que los problemas a menudo requieren algoritmos inteligentes (que es en sí mismo un tema matemático interesante) ya que los problemas se configuran de manera tal que la fuerza bruta Las soluciones pueden ser demasiado caras. ¡Diviértete y buena suerte!

No está del todo claro si el problema es que no eres bueno escribiendo código o si no puedes escribir un buen código. Tomaré una grieta en algo entre esos.

Afirmas que eres bueno en matemáticas. Puede que se refiera al tipo de matemática en la que los matemáticos se destacan, que es encontrar patrones interesantes y discernir sus propiedades, a menudo por medio de pruebas. Esto es mentalmente similar al problema de determinar la mejor manera de pasar de un problema a un sistema que lo resuelva, y también es algo que es particularmente difícil de enseñar. Si lo tienes, es un buen comienzo.

Otro aspecto de las matemáticas, que es lo que los escolares a veces confunden con las matemáticas, es el cálculo directo dado un conjunto de reglas. Esto es decididamente enseñable, si es aburrido. Es algo análogo al lado mecánico de la programación: condicionales, bucles, tipos, funciones, etc. Para mejorar en esta área, el método es practicar mucho . Eso significa escribir muchos programas para resolver problemas bien definidos y hacer que funcionen. Un buen título de CS generalmente incluirá escribir una gran cantidad de programas como parte del plan de estudios.

¿Hay algo más que puedas hacer? Después de haber trabajado con programas escritos por matemáticos varias veces, tengo un consejo en particular: no trate el código de la misma manera que lo hace con una ecuación. No es la ecuación. Trate el código como si fuera un ensayo para describir la ecuación , que resulta ser legible tanto por humanos como por computadora.

La programación se encuentra en algún lugar entre los lenguajes naturales y las matemáticas. Es cierto que los programas son esencialmente manipulaciones simbólicas, pero el número de símbolos es mucho mayor que en una ecuación típica, y esto es un impedimento para la comprensión. Por lo tanto, el arte de nombrar esos símbolos es importante para escribir y comprender los programas.

Esa es una forma larga de decir: si todas sus variables y funciones son de un solo carácter o llevan el nombre de una letra griega, deje de hacerlo . ¡Use palabras que describan el propósito en su lugar! La legibilidad humana es importante, no solo para sus colegas sino también para usted mismo. Por lo general, no puede acomodar un programa completo en su mente a la vez, por lo que debe poder moverse suavemente entre las capas de abstracción. Símbolos bien nombrados y buenos comentarios son cómo se hace esto.

Así que hay dos consejos: haz mucha práctica para aprender la mecánica y aprende a expresarte más claramente. ¡Espero que eso ayude!

La programación es simplemente difícil. Es muy posible que no apestas en la programación, simplemente no estás especialmente dotado para ello. Dos consejos concretos

1) Evítalo, pero sigue haciéndolo. Desarrolle buenos trucos para posponer la escritura en un editor de texto durante el mayor tiempo posible. Esto es solo un buen consejo de programación en general, pero en su caso especialmente. Afronte pequeños problemas en los que sabe que puede tener éxito. Aumente en lugar de reemplazar su flujo de trabajo

2) Grafica el bee-geebus de todo. Cuando estaba aprendiendo a programar, simplemente no podía manejar los mensajes de error crípticos que recibí cada 2 segundos. Me resultó imposible obtener comentarios sobre lo que estaba haciendo mal, así que no aprendí. Entonces comencé a trabajar con un programa de gráficos; mis errores aún se dibujaban y literalmente podía ver lo que le había dicho a la computadora. Obtuve la respuesta que necesito aprender, y aprendí rápidamente. Si tienes fuertes habilidades matemáticas, deberías poder saber qué sucedió detrás de las escenas de un gráfico, y eso debería darte una mejor comprensión de lo que está sucediendo.

Ejem.

Hace poco hice una pregunta que es casi lo opuesto a la tuya:

¿Hay algún sitio que permita a las personas intercambiar habilidades?

“Soy un programador gráfico profesional y deseo mejorar mis matemáticas. Por lo tanto, me gustaría conocer a un matemático interesado en mejorar sus habilidades de codificación. Me gustaría colaborar en un pequeño proyecto, tal vez incluso escribir un artículo juntos. Es ¿Hay algún tipo de sitio de red social que haga este tipo de emparejamiento?

¿Podemos ser amigos?