relacion programar programadores programacion para matematicas entre aprender math

math - programar - Matemáticas esenciales para sobresalir como programador?



matematicas para programadores (15)

  1. Linear Algebra : necesitas esto para la física, la contabilidad y la lógica de la mayoría de los negocios.
  2. Lógica : saber cómo las reglas asociativas y de distribución se aplican a los booleanos me ha ayudado a depurar código muchas veces.
  3. Tuple Calculus - SQL (un lenguaje para interactuar con bases de datos) se basa en el cálculo de tuplas; incluso si solo comprende los conceptos básicos, está muy por delante de todos los demás en el "mundo real" que todo el código de su base de datos se verá simplista

Eso es. Si hubiera sabido lo importante que sería Tuple Calculus para cualquiera que escriba o depure cualquier tipo de código de base de datos, habría intentado enseñarme a mí mismo en la escuela secundaria. Mucho más importante que cualquier curso de C, C ++ o Java que tomé.

Me preguntaba sobre matemáticas como programador. Uso las matemáticas un poco, principalmente matemáticas vectoriales y ocasionalmente trigonometría cuando programo juegos.

Mi pregunta: ¿Considera que hay alguna matemática esencial que usted como programador debe saber para ser un programador exitoso (e increíble)? Principalmente, he descubierto que la programación es solo lógica, pero puede haber momentos en los que las matemáticas inteligentes (no los algoritmos específicamente) puedan usarse para solucionar problemas comunes.


Creo que depende principalmente del dominio del proyecto.

Es por eso que la programación de juegos generalmente requiere conocimiento en álgebra lineal, cuaterniones, etc.

La programación es simplemente un medio para lograr un fin determinado, y la cantidad de matemáticas que necesita saber es exactamente la misma cantidad que necesita para comprender la industria de la salud si ese es el dominio de su proyecto.

Históricamente, Computer-Science es una rama de las Matemáticas Aplicadas, y creo que es por eso que existe una conexión tan fuerte entre las matemáticas y la programación. Creo que es bueno tener una mente matemática como programador, pero no estoy seguro de que el conocimiento matemático sea obligatorio en todos los campos.


Dejando a un lado la programación del juego, el Álgebra básico es suficiente para atravesar prácticamente cualquier otra cosa.

Todavía disfruté el tiempo que pasé aprendiendo Cálculo. Pero no estoy seguro de por qué tuve que tomar una clase de estadísticas tan detallada.


Depende

Cualquier cosa que tenga que ver con las estructuras de datos, el rendimiento y la optimización requiere que las matemáticas obtengan resultados realmente buenos. En otras palabras, las matemáticas robustas son la base de la mayoría de las bibliotecas de programación básica.

Sin embargo, en general, la mayoría de nosotros trabajamos en un nivel superior en el que solo tenemos que vincular todos estos sistemas preconstruidos, y para nosotros las matemáticas son opcionales, pero no necesarias.

Fergie


Lea el libro "Cómo resolverlo con computadoras" de RGDromey. Lo ayudará a resolver problemas.



La suma básica, la resta, la multiplicación y la división son las primeras cosas que vienen a la mente.

La comprensión de la aritmética modular es ciertamente útil junto con todas las identidades asociadas, especialmente cuando se trata de expresiones o situaciones que pueden producir o que crecen rápidamente más allá de la capacidad de los tipos enteros básicos. Un buen ejemplo de esto es tomar el módulo de algo elevado a una potencia ridículamente grande (por ejemplo, 2 ^ 345% 6789).

Saber cómo convertir entre bases así como comprender cómo se representa un número en una base. Las identidades trigonométricas y logarítmicas también son increíblemente útiles para algunos problemas. Además (y no estoy seguro de si puede contar esto como matemática), entiendo cómo funcionan los operadores de bits y, en general, el álgebra booleana.

En alguna ocasión, descubrí que al menos una comprensión básica del cálculo puede tener aplicaciones en los lugares más improbables (no tanto la integración, sino la derivación). Un buen ejemplo de esto es la función de raíz cuadrada inversa ''mágica'' del motor del terremoto, que es prácticamente una iteración del algoritmo de Newton-Raphson .


Tuve muchas matemáticas durante mi estudio:

  • Álgebra básica
  • Álgebra lineal (matrices)
  • Matemáticas descartadas
  • Probabilidad matemática
  • Criptografía
  • Teoría de codificación
  • Lógica matemática

En ese momento no me gustó, pero ahora estoy agradecido porque realmente me ayuda a hacer mi trabajo.


Bueno, creo que un buen programador debe conocer algunos temas importantes de matemáticas que involucran lógica, cálculo base y álgebra y probabilidad.

Tenemos muchas cosas importantes que saber, incluso el logaritmo es importante, por ejemplo, para evaluar la complejidad de un algoritmo, un campo importante que generalmente no se cubre incluso durante las clases académicas es la aritmética de los números flotantes, imagine un gran sistema para administrar transacciones en un bolsa, no se puede aproximar nada, tiene que administrar y estimar errores, un error de 1 por millón sobre millones de operaciones por día podría resultar en un gran problema ....


Crucial, pero solo mencionado de pasada: teoría de grafos.


Creo que puede ser más sutil que las obvias ''Matemáticas Esenciales''. He hecho una gran cantidad de codificación de gráficos, 2D y 3D, principalmente sin gaming, basándome en gran medida en el fractal, y obtuve buenos resultados en las matemáticas que me habían enseñado en la universidad, además de la autoeducación de cualquier otra cosa. Necesario (como la mayoría de los programadores, supongo que soy bastante bueno con las matemáticas) - por lo general, el Álgebra lineal, la Lógica, el Cálculo básico, etc. - y nunca me he sentido particularmente limitado por lo que sabía o podía enseñarme.

Sin embargo, en un momento tuve la oportunidad de trabajar con un chico joven que acababa de hacer un título conjunto de matemática / informática para desarrollar un motor de atmósfera (uno que modela la desintegración de la luz y otras interacciones atmosféricas / livianas). Lo que más me impresionó fue su familiaridad con una gama mucho más amplia de funciones matemáticas que un codificador "normal" y, en consecuencia, cuando se requirió un comportamiento particular, fue capaz de alcanzar una función matemática justa e implementar eso para resolver un problema en mano. Ninguna de las matemáticas que usó era en realidad tan compleja (podía entenderlo bien cuando se la mostraba), pero más bien porque conocía su vocabulario matemático con tanta profundidad y amplitud, podía alcanzar "le mot juste" sin esfuerzo cada vez que lo necesitaba. que forcejeando por buscarlo como la mayoría de nosotros.

Así que tengo la sospecha de que, ciertamente en algunos dominios problemáticos, y posiblemente una selección más amplia que la que es obvia, una mayor familiaridad con las matemáticas que el conocimiento común conduciría a la implementación de mejores algoritmos. Solo podemos ver un problema en términos de las herramientas en la caja de herramientas y no nos damos cuenta de que nos falta algo que no tenemos.


Realmente depende de lo que estás haciendo.

La mayoría de las cosas que hice no necesitaban nada por encima de la multiplicación. Incluso programas súper complicados. En realidad, incluso la multiplicación era rara. Usualmente es solo sumas y restas ...

Ahora, si comienzas a hacer gráficos, especialmente gráficos 3D, necesitarás un poco de matemáticas. Afortunadamente, sin embargo, hay algunos excelentes tutoriales en Internet. No necesitas un título universitario, sino unas pocas horas aquí y allá para leer tutoriales y codificar algunos experimentos, para aprender matemáticas vectoriales y todo eso para gráficos 3D.


En mi experiencia, la matemática básica es la siguiente:

0.- Floating point arithmetic 1.- Linear Algebra 2.- Vector (possibly Tensor) Analysis 3.- Linear Algebra 4.- Linear Algebra 5.- Linear Algebra

También podría ser útil si sabes Linear Algebra.


Concrete Mathematics tiene algunos buenos conceptos matemáticos que se aplican a la informática de varias maneras si quieres otra idea de libro.


Me sorprende que nadie haya mencionado el álgebra abstracta . Las nociones de listas, concatenaciones de cadenas, funciones (!), Encadenamiento de funciones, etc., todas tienen sus raíces aquí.