¿Es posible aprender matemáticas a través de la programación, o deberías aprender matemáticas para programar? [cerrado]


10

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.


55
Funcionó al revés para mí. Aprendí programación de computadoras para ayudarme a trabajar mejor en las clases de estadísticas de posgrado. Descubrí que me gustaba más la programación que las estadísticas y cambié la dirección de mi carrera.
jfrankcarr



No hay camino real a las matemáticas, señor.
Karl

Respuestas:


16

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.


55
+1 para ambos recursos. Sin embargo, tengo que decir que odié el cálculo la primera vez. Nunca lo hice bien en eso tampoco. Desde que aprendió Lisp, tiene sentido . Un poco divertido también.
Jason Lewis el

1
Si quieres probar Haskell, puedes leer "El camino de Haskell a la lógica, las matemáticas y la programación": el libro enseña a Haskell a hacer matemáticas e introduce todos los conceptos matemáticos en el camino. Sin embargo, se centra en la lógica matemática, la teoría de números y algo de álgebra elemental. El cálculo solo se menciona al final, si lograste pasar por todo lo demás.
Vincent Zoonekynd

También sugeriría lenguajes CAS especializados, como Mathematica (caro), Maxima o Axiom (gratis). Una vez que tenga la idea de la reescritura de términos, reglas y estrategias, toda la matemática comenzará a tener sentido.
SK-logic

Personalmente, he encontrado que Khan Academy es muy útil para llenar los vacíos en mi conocimiento matemático.
jonners99

@Jason Lewis: si su problema es más estilo de enseñanza que el material, y desea cursos completos, los cursos de MIT OpenCourseware son excelentes para muchos temas de matemáticas, incluidos cálculo y álgebra lineal. Sin embargo, no es práctico solo para revisar un tema específico. Me gustó especialmente el curso de álgebra lineal. MIT OpenCourseware también es muy bueno para algunos temas de informática, por supuesto, especialmente los dos algoritmos y cursos de estructuras de datos. Nunca ha habido un mejor momento para educarse a su propio ritmo con excelentes materiales gratuitos.
Steve314

5

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á.


4

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:

A^2 + B^2 = C^2

Entonces, para resolver C, tenemos:

C = SQRT(A^2 + B^2)

Por lo tanto, el programa podría ser algo así (suponiendo encabezados adecuados, este es un ejemplo básico):

cout << "Enter value for A: " 
cin << valA;
cout << "Enter value for B: "
cin << valB;

float valC = sqrt(pow(valA, 2) + pow(valB, 2))
cout << "C = " << valC << "\n";

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.


sí, entendí tu punto y estoy de acuerdo con él, en base a tu respuesta, aprenderé matemáticas cuando resuelva problemas en la programación, sin embargo, no podré resolverlos sin conocimiento, por lo tanto, tendría que buscar una solución y eso es lo que me enseñará matemáticas ...
SAFAD

2

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.


2

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.


2

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.


1

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.


1

Echa un vistazo a matlab . Es un lenguaje diseñado para realizar funciones matemáticas en código.

un entorno informático numérico y un lenguaje de programación de cuarta generación ... MATLAB permite manipulaciones matriciales, trazado de funciones y datos, implementación de algoritmos, creación de interfaces de usuario e interfaz con programas escritos en otros idiomas ...

Aunque MATLAB está destinado principalmente a la computación numérica, una caja de herramientas opcional utiliza el motor simbólico MuPAD, lo que permite el acceso a las capacidades de computación simbólica. Un paquete adicional, Simulink, agrega simulación gráfica multidominio y diseño basado en modelos para sistemas dinámicos e integrados ...


matlab solo es beneficioso cuando el programador tiene un conocimiento matemático sólido de antemano y se limita a un cierto dominio de las matemáticas.
wirrbel

1

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.


0

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.


0

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.


-2

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.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.