Para ser programador, ¿es necesario saber matemáticas?

Gracias por A2A, Akash Gupta

Las matemáticas son el aspecto más importante de mirar cualquier campo. Ahora Mathematics es un campo muy amplio y no puedes decir que primero aprenderé Mathematics y luego comenzaré a programar. Necesitas conocer los conceptos básicos de Matemáticas de la educación secundaria y se admiran las Matemáticas de secundaria superior. Aparte de eso, debes ser bueno en Matemática discreta, que incluye principalmente teoría de conjuntos, relaciones y funciones, permutaciones y combinaciones, teoría de grafos, etc.

Ahora, suponiendo que eres bueno en matemáticas secundarias, puedes aprender todo lo demás fácilmente. Puede echar un vistazo a este curso ofrecido por el MIT para una mejor comprensión y más profundidad conceptual: http://ocw.mit.edu/courses/elect…

Esta es la base de Matemáticas para CS. Ahora, si desea saltar a algunos campos específicos de CS, es posible que necesite conocer otras partes de las Matemáticas. Por ejemplo, si desea realizar el procesamiento de imágenes o el procesamiento de señales digitales, debe conocer las transformaciones de Cálculo y Fourier, etc. Si desea realizar la programación de juegos, debe ser bueno en geometría computacional y muchos otros algoritmos matemáticos.

Creo que las matemáticas básicas son imprescindibles. Sin embargo, es posible que deba ir a un nivel avanzado de acuerdo con su área de interés.

Más recursos sobre Matemática discreta:

Libros:

Compre en línea el libro Concrete Mathematics: A Foundation for Computer Science a precios bajos en India

Matemáticas para informática por eric lehman y tom leighton

Matemáticas discretas por kenneth rosen

La aritmética general es necesaria en cualquier campo de programación. La algrebra es ubicua. Dado que el campo es tan amplio, es difícil responder con más precisión que eso.

En lugar de generalizar, podríamos mirar casos reales. Tomemos como ejemplo. A nivel personal, soy mediocre a pobre en matemáticas. No encontré problemas para comenzar a programar a una edad temprana. Sin embargo, hoy desearía haberme tomado el tiempo de aprender un montón de matemáticas, porque eso me habría permitido resolver problemas más difíciles de una manera más elegante (que para un programador a menudo es sinónimo de “más rápido, más rápido, más confiable.”).

Entonces, en conclusión: nada obliga a su programador típico a aprender matemáticas, excepto la conveniencia.

Las matemáticas básicas, la suma, la resta, la multiplicación y la división son más que suficientes para hacer algo como crear una aplicación o crear un sitio web como Quora (excluyendo las predicciones). No trabajará con muchas matemáticas aquí e incluso si encuentra algún problema que necesite matemáticas, habrá una biblioteca para ello.

Por ejemplo, las contraseñas hash son un buen ejemplo, hay matemáticas detrás de esto, pero usará una biblioteca que ya existe.

Los sitios web como Quora, Facebook, Twitter, etc., aparte de las predicciones y recomendaciones, no son muy complicadas para las matemáticas en mi opinión hasta que surgen los desafíos de la escala y tienes que escribir algoritmos para realizar tareas de manera eficiente, y creo que en su mayoría serás usando bibliotecas o construyendo sobre ellas y no requerirá matemáticas profundas, la comprensión de las matemáticas discretas (teoría de conjuntos, teoría de grafos) debería ser lo suficientemente buena.

Las matemáticas entran en juego cuando haces las cosas más difíciles, como investigar un mejor algoritmo para el cifrado, una mejor forma de comprimir archivos, aprendizaje automático, inteligencia artificial, etc. Dudo que un programador que trabaja para la mayoría de los productos para el consumidor se enfrente demasiado. trabajo matemático

Si solo desea ser un programador web que se encargue de las secuencias de comandos del cliente, entonces no es necesaria la matemática. La programación puede variar desde el sistema operativo, la base de datos, la minería de datos, la herramienta gráfica y analítica que requiere matemáticas de nivel universitario.

More Interesting

Quiero aprender matemáticas programando. ¿Cuáles son los proyectos de programación simples pero geniales que requerirían conocimiento de álgebra, cálculo, probabilidad, etc.?

En informática y lógica matemática, ¿qué es la capacidad de decisión y en qué se diferencia de la capacidad de computación?

¿Cuáles son las aplicaciones prácticas de las colas con doble terminación?

¿Cuál es la diferencia entre datos continuos y discretos?

¿Alguien podría recomendar algunos temas interesantes para dominar que se encuentran en la intersección de la informática / programación y la teoría / lógica de conjuntos (algo práctico, no solo teórico)?

Para los usuarios, ¿se está volviendo Facebook más valioso, útil y digno de más tiempo invertido o menos? ¿Por qué? ¿Hay alguna evidencia de Facebook de que la Ley de Metcalfe es cierta (para n usuarios, el valor de la red aumenta en nxn)?

¿Existe una función que crece más rápido que cualquier función computable, pero que crece a un ritmo fundamentalmente más lento que el de la función Busy Beaver?

¿Por qué es más fácil la adición de peano para una computadora?

¿Qué es una explicación intuitiva de P = NP?

¿Cuáles son las fórmulas matemáticas para expresiones informáticas como: x = x / 5?

¿Qué pasaría si alguien prueba P = NP o P! = NP?

¿Puedo ser un gran programador si no soy bueno en matemáticas? ¿Cómo puedo mejorar mis habilidades matemáticas?

¿Cuál es la forma más eficiente de resolver el problema 27 del Proyecto Euler?

¿Qué abstracciones te parecen interesantes? ¿Por qué?

Tengo miedo a las matemáticas. Estoy programando estudiante, ¿qué puedo hacer?