No soy el mejor en matemáticas, tampoco soy muy horrible, pero inferior al promedio, siempre he estado pensando en mejorar mis matemáticas, pero las escuelas y los libros no hicieron el trabajo porque me aburro demasiado rápido. Lo único con lo que no me aburro es con la codificación y los juegos, así que pensé que si codificar un programa que resuelve problemas matemáticos me ayudará a comprender mejor las matemáticas, la mayoría de estos problemas son límites (cálculo), funciones, cálculo diferencial y algunos otros temas (ya dije que no soy tan bueno) similares a los mencionados anteriormente.
Mi pregunta es: ¿puedo lograr un mejor conocimiento en matemáticas si hago una codificación de programa específica y, si es posible, también es posible la física de esa manera? ¿O me equivoco y debo aprender matemáticas antes de programar para ayudar a mejorar mi codificación?
PD: C ++ es el lenguaje preferido.
fuente
Respuestas:
Solo aprenderá matemáticas o física de la programación si realmente usa la programación para resolver problemas de matemáticas y física, aunque los lenguajes funcionales como Haskell tienen conceptos que son muy "matemáticos". Sugeriría ir a un sitio web como Kahn Academy o Project Euler . Resuelva los problemas usando código, y mejorará sus habilidades de codificación y matemáticas al mismo tiempo.
fuente
Obviamente deberías aprender matemáticas a través de la programación. Si intenta simular objetos físicos, necesitará aprender todo tipo de física y matemáticas, y lo disfrutará.
fuente
Esta es mi opinión ...
La programación ayudará a probar su CONOCIMIENTO
Cuando estaba en la secundaria y en la secundaria, programaba mis calculadoras para que hicieran los monótonos cálculos matemáticos por mí. Algunas personas afirmaron que era una trampa, pero siempre discutí que no podría escribir los programas si realmente no entendía las matemáticas.
Por ejemplo, supongamos que desea crear un pequeño programa para calcular el valor de C, dados A y B, dentro del teorema de Pitágoras. ¿Cómo lo hacemos? Bueno, sabemos que:
Entonces, para resolver C, tenemos:
Por lo tanto, el programa podría ser algo así (suponiendo encabezados adecuados, este es un ejemplo básico):
SIN EMBARGO...
¿Dónde y cómo adquieres dicho conocimiento?
En el ejemplo anterior, necesitábamos saber cómo resolver C dentro de la ecuación.
A^2 + B^2 = C^2.
Si no supiéramos enraizar ambos lados para encontrar C, ¿cómo podríamos resolver el problema?En mi opinión, todo se reduce a: la programación no te ENSEÑARÁ las matemáticas absolutamente, pero MEJORARÁ las habilidades que adquieres.
fuente
El libro SICP tiene una muy buena sección de matemáticas. Pero te sugiero que intentes tomar álgebra lineal, matemáticas discretas y el cálculo como mínimo, si aprendes solo de los programas de escritura, es probable que tu educación sea muy profunda, pero no muy amplia.
fuente
Creo que van de la mano. Una sólida base en técnicas matemáticas abrirá opciones de programación que de otro modo no tendría, mientras que la programación puede abrir vías interesantes de estudio matemático.
Recientemente comencé a usar wxMaxima , una agradable interfaz gráfica para el excelente sistema de álgebra computacional Maxima de código abierto (también conocido como CAS , como los sistemas comerciales Maple o Mathematica ).
No le enseñará nada sobre matemáticas por sí mismo, pero ciertamente hará que jugar con las matemáticas sea más interesante y divertido, lo que en sí mismo podría alentarlo a aprender más.
fuente
No necesitas muchas matemáticas para "programar".
Necesitas matemáticas para la "informática".
Si planea usar soluciones de biblioteca preexistentes para todo, entonces probablemente no le importe cómo funcionan. Pero si planea crear sus propios algoritmos y estructuras de datos, necesitará saber matemáticas, ya que CS está fuertemente basado en matemáticas.
fuente
Si está interesado en trabajar en IA, procesamiento de datos, simulación física o gráficos, entonces necesita matemática. Por el contrario, si no lo eres, supongo que no. Es un caso de usarlo o perderlo, ¿por qué aprender francés si no quieres vivir en Francia? Hay muchos dominios problemáticos que solo requieren lógica condicional.
Habiendo dicho eso, hay una inclinación natural en la programación hacia las matemáticas, y no le hará más que bien obtener un poco de comprensión.
fuente
Echa un vistazo a matlab . Es un lenguaje diseñado para realizar funciones matemáticas en código.
fuente
La matemática es una ciencia con un dominio muy amplio. Hay diferentes tipos de matemática que explícitamente no tienen nada en común (aparte de ser matemática).
Ahora, la programación a menudo se asocia con las matemáticas porque las computadoras calculan y calculan, fundamentalmente lo hacen con tipos de datos enteros o de coma flotante en pasos discretos.
Hay campos de las matemáticas que puedes estudiar programando "aproximando" las matemáticas en un programa. Digamos que usted estudia cálculo diferencial y calcula valores numéricos para intervalos pequeños "emulando" el límite de las matemáticas "puras".
Otros aspectos de la programación se asignan fácilmente a las matemáticas (tal vez no sea parte de la clase de matemáticas de la escuela secundaria, pero aún así son matemáticas valiosas que no forman parte de un plan de estudios tradicional). Teoría de tipos, por ejemplo, o inducción matemática.
A menudo, la única forma de razonar sobre la "corrección" de un código es, por ejemplo, la inducción matemática. Este tipo de razonamiento se puede ver especialmente en lenguajes funcionales (recursividad, etc.).
Es decir, hay muchas formas de aprender matemáticas mientras se programa, pero no todas las matemáticas son fácilmente accesibles en el modelo computacional de nuestras computadoras y lenguajes de programación.
fuente
No pude encontrar la entrada del blog, pero recuerdo un "tipo" de diseñador de la última era de la primera explosión de burbujas (antes del '01 -ish) que escribió en su blog sobre descubrir el amor por las matemáticas al convertirse en desarrollador web y darse cuenta de que era en realidad era bastante bueno en eso a pesar de que siempre había fallado miserablemente en la escuela secundaria y había asumido que simplemente no era alguien que alguna vez sería bueno en matemáticas y luego se identificó como un tipo artístico.
No, yo no. Solo era vago. Tengo que volver a aprender trigonometría ocasionalmente, pero eso es todo.
En mi opinión, puedes escribir una gran cantidad de código decente sin grandes conocimientos matemáticos hasta que no puedas, básicamente.
Sin embargo, lo que la programación PUEDE hacer por cualquier persona con un interés razonable en ella es ayudarlo a superar la idea de si es este tipo de persona o ese tipo de persona, y brindarle las herramientas que necesita para simplemente probar cosas descubra y descubra por su cuenta hasta dónde lo llevarán sus intereses en un campo de estudio determinado.
Y, por supuesto, todo lo que estamos haciendo está vinculado en la cadera con las matemáticas, por lo que puede descubrir que ya aprendió más de lo que se dio cuenta cuando hace cosas como aprender sobre de qué se trata esa suma de cosas al revés.
fuente
Otra opción es usar su amor por la programación para impulsar su deseo de aprender matemáticas. Casi todo tiende a ser más fácil de aprender si lo está aprendiendo con un problema específico al que desea aplicarlo y las matemáticas no son la excepción. Solo necesita descubrir problemas de programación matemática que le interesen y usarlos como una razón para aprender las matemáticas asociadas. Aprender álgebra lineal para que puedas jugar con gráficos, por ejemplo, o probabilidad y estadísticas para el procesamiento de imágenes / material de visión por computadora.
Creo que su millaje va a variar en esto ya que diferentes personas tienen diferentes formas de aprender cosas, pero sentarse y aprender matemáticas en resumen por el simple hecho de aprender matemáticas nunca me ha funcionado.
fuente
Bueno, puedes pedirles a los estudiantes que resuelvan algunos problemas de geometría, como dibujar cuadrados, pentágonos, hexágonos y círculos con Scratch. Desafíelos a desarrollar soluciones y NO les responda sobre CÓMO codificarlo. Déjelos explorar y probar soluciones. Al menos puedes preguntar cosas como la suma de ángulos en polígonos. Luego pueden construir los algoritmos y sus propias categorías.
fuente