¿Qué tipo de matemáticas necesita más un programador? Sé que depende principalmente del trabajo del programador, pero ¿qué es “debe saber”?

Ninguna. Pero sí encuentro que el álgebra es útil.

Usted encuentra bastante álgebra en código como

precio total = precio + impuesto;

Pero el valor real está en la refactorización. Aquí es donde cambia la estructura del programa para que sea más fácil de cambiar, sin cambiar lo que hace.

Este es exactamente el mismo proceso de pensamiento que reorganizar ecuaciones en matemáticas.

Esa parte del entrenamiento en matemáticas siempre ha ayudado en este sentido.

Ciertos dominios necesitan matemáticas serias.

Juegos – Matemáticas vectoriales en 3D.

La compresión necesita una variedad de matemáticas, por ejemplo, transformaciones directas de coseno

Los controladores PI utilizan la teoría de servo de circuito cerrado

El audio y el radar pueden usar transformaciones de Fourier y convolución.

Los escáneres CT usan la transformación inversa de radón

Pero software general, ninguno en absoluto, directamente. ¡Suma y quita, sobre todo!

Considera la gramática y la teoría de tipos como tus amigos.

Es erróneo que la gente piense que las matemáticas no son necesarias para la programación. Eso es a menos que todo lo que vaya a hacer sea compilar listas de cosas para interfaces o entrada de datos. Pero, ¿entonces es esa programación o trabajo clerical glorificado?

Es fácil para mí ignorar el trabajo administrativo. Soy malo en eso. Lo sé porque me senté un día y probé una de esas pruebas de orientación profesional. Realmente solo fallé en las habilidades de oficina. Todo lo demás era casi superior. Mis habilidades en lógica, negocios y pensamiento numérico estaban en la cima. La última fue una pequeña sorpresa para mí, aunque básicamente tomé la ruta STEM.

Por supuesto, dado que la programación cubre muchos temas, debido a que las herramientas de software se utilizan en cada esfuerzo ahora, tiene que haber áreas en las que el no matemático sobresalga en una forma de programación. El trabajo administrativo y la programación van de la mano en muchas herramientas de gestión empresarial.

Pero se inventa mucha programación para facilitar algunas de las tareas. Y, esas serían tareas más simples en contabilidad, contabilidad, organización, etc.

Pero, para crear programas que se ocupen de esas tareas, debe trabajar en un espacio de conocimiento abstracto para manipular las constantes, los números. Y, ahí es donde el álgebra entra por primera vez en el juego.

La programación de computadoras está más estrechamente relacionada con las matemáticas finitas y aplicadas que cualquier otra cosa. La lógica, como ciencia matemática, es ciertamente parte del área temática. Se supone que la teoría de tipos es parte de la lógica matemática. Y, los programas usan tipos de una manera menos formal.

La gramática, una parte de la lingüística, también es parte de la programación. Y encontrará que un tema matemático es el estudio de autómatas finitos y otras máquinas abstractas que aceptan o rechazan ciertas secuencias de símbolos, algunas de las cuales podrían llamarse programas.

Entonces, al aprender a programar, de hecho estás participando en un área de las matemáticas. Lógica, teoría de conjuntos, gramáticas (retroalimentación simbólica y sistemas de control), etc.

Ahora, he visto a aquellos que vienen desde el otro lado del planeta para trabajar en San José. Algunas de estas personas no estudiaron mucho las matemáticas para convertirse en programadores. Vi a un joven brillante quedar atrapado en una definición de programa iterativa, expresada como una secuencia, del tipo que se encuentra en secuencias y series. Su trabajo no era simplemente escribir la definición de secuencia para la forma a (n) = a (n-1) + b (n) en el programa. Esta fórmula se utilizó para definir una versión informal del encadenamiento de bloques cibernéticos. Comenzó a quedarse atrás, y el proyecto comenzó a quedarse atrás, porque estaba totalmente confundido por la fórmula.

Un lugar donde aprende a leer estas fórmulas es en Cálculo, si no en Precálculo. En Precálculo y Cálculo también aprende sobre matrices y vectores.

Entonces, estaba en otro lugar, donde el chico estaba actuando como un macho, y su jefe intentaba adelantarlo, mientras escribía su primer programa de Python (30+ chicos). Pero, ¿sabía él qué era un producto interno? Es decir, ¿entendió él P = a (i) * b (i) (y aquí se usa la notación indicial)? NO. Este tipo pasó su primer año en Chico State con un estupor de borrachera. Entonces, se perdió el cálculo. Tuvo que cambiarse a Humboldt, pero de alguna manera, aunque se graduó en ciencias de la computación, se había perdido todas las herramientas que necesitaba para comenzar a construir un software de clasificación de correo electrónico real. Que todavía trabaja, mientras que personas mejor capacitadas han sido despedidas, realmente tiene que ver con su relación con la mujer de 60 años que es su jefe.

Entonces, no necesitas matemáticas. Pero puedes fallar en ciertos trabajos o vender tu alma para conservarlo.

Una gran cantidad de programación importante no necesita estadísticas. Pero, mucha programación interesante usa estadísticas como una parte importante de su dieta. Pero, aún querrá conocer los conceptos, especialmente de la teoría de la probabilidad. Debe saber ciertas cosas sobre la posibilidad de que el programa falle o aumente la población de usuarios, etc.

Una cosa que es realmente importante en la programación es el análisis asintótico de ciertos algoritmos, a menos que nunca planee programar los algoritmos o usarlos directamente. Si no trabaja con algoritmos, entonces realmente trabaja como programador de artistas o como programador administrativo. Es posible que no tenga que conocerlos a todos. Pero, sin duda, debería poder leer sobre los algoritmos que utiliza. A menudo, si va más allá de lo básico, la gente esperará que recomiende algoritmos. Entonces, ¿qué pasa si eliges el equivocado?

Por lo tanto, para hacer la programación como algo más que un empleado, al menos debería haber superado el cálculo 2.

He utilizado el análisis de Fourier y he trabajado con DSP para acústica y óptica. Esto no es necesario para mucha programación. He trabajado con algoritmos de aprendizaje, IA, etc. Hay matemática en estos que quizás no tengas que usar para todo. La manipulación de robots, etc. tiene algunos aspectos de la dinámica lagrangiana. Regresé y revisé álgebra matricial, Hilbert Space, teoría de control, etc. Todos estos son para abordar áreas que no son necesarias fuera de la programación para ingeniería.

La programación en tiempo real también es algo que he tenido que hacer. La programación en tiempo real se necesita con mayor frecuencia en ingeniería. No encaja en ninguna de las áreas matemáticas tradicionales, excepto cuando las personas teorizan sobre autómatas. Si puede encontrar trabajos de programación en tiempo real que no requieren demasiada ingeniería eléctrica, entonces es posible que solo necesite lógica booleana y una idea de cómo diseñar colas de trabajo, escribir manejadores de respuestas, etc. Algunas personas intentan usar redes de Petri u otras aplicaciones de Graph Theory para comprender cómo se supone que operan los programas en tiempo real. Entonces, si no tiene que comprender realmente la física asociada con la aplicación en tiempo real, podría funcionar como un código para los que hacen la física.

Por lo tanto, parece que necesita física, teoría de grafos y, en consecuencia, cierta comprensión de los sistemas diferenciales y la teoría de conjuntos.

Sin las matemáticas, aún podría programar una pequeña interfaz agradable para que alguien haga clic en algo para comprar un boleto para algo o alguna otra función. Es probable que aún pueda hacer una página web. Podrías arreglar las páginas de perfil del sitio web social para las personas que viven.

Y, sabes, algunas personas realmente quieren hacer esas cosas. A algunas personas realmente les gusta jugar con los colores y el diseño de la página y mostrar una imagen de alguien. Los artistas y anunciantes que realizan una cierta cantidad de programación realmente pueden llevarse bien en estas áreas. No necesitan matemática siempre que se mantengan alejados de las transformaciones 2D que podrían usarse en animaciones, etc. Y, eso podría ser posible. Pero, las mejores páginas web usan geometría analítica como una madre tung.

Algunos artistas y anunciantes son personas increíbles con una especie de sexto sentido sobre cómo hacer mensajes y presentaciones impactantes. Muchas de estas personas no necesitan matemáticas. Pero, si los cumple, muchos de ellos realmente no encuentran que las matemáticas sean un gran desafío.

OKAY. Digamos que ha tenido una carrera satisfactoria como programador que realmente nunca usa las matemáticas, excepto para programar y hacer llamadas a bibliotecas. Ahora, puedes ser un gerente. ¿Cómo va a hacer todos los análisis financieros y matemáticos de gestión? Valor futuro, proporciones, etc. Necesita todo eso. Por lo tanto, es mejor obtener con probabilidad y estadísticas, ecuaciones diferenciales básicas, álgebra, etc. No es la parte más difícil de todo eso. Pero, encontrará que lo básico es parte del lenguaje.

Las matemáticas típicas de la escuela primaria son imprescindibles. Es decir, suma, resta, multiplicación y división. Quizás un poco sobre raíces y exponentes también ayudaría.

A partir de entonces, el álgebra estándar tiende a ser una gran bendición también, aunque probablemente no sea un requisito. Quizás también cosas como números primos, pero estás empezando a entrar en detalles sobre estos.

Sin embargo, te sugiero que aprendas sobre los sistemas de numeración. Especialmente cuando te encuentras con cosas como binario, hexadecimal, octal, etc. Aunque “deberías” ser capaz de sobrevivir sin conocer todas las complejidades involucradas, solo que mejorarías una vez que lo hagas.

Todo el resto de las matemáticas es solo trabajo específico. Nada de eso se usa en la programación general. Aunque para algunas tareas específicas, algunas de ellas pueden volverse indispensables. Por ejemplo, utilizo trigonometría, gráficas cartesianas y operaciones matriciales casi a diario debido al trabajo en programas de modelado 3D. Otros pueden estar trabajando en cosas como la automatización del comercio de acciones, donde las estadísticas son un requisito previo. Estoy seguro de que puede pensar en muchos otros requisitos específicos del trabajo. Pero para la programación de propósito general, tienden a usarse muy raramente (si es que lo hacen).

Si eres lo suficientemente inteligente como para estudiar una especialización en informática en la universidad, has aprendido todo lo que necesitas. Período.

Al menos, suficiente si vas a trabajar como ingeniero de software en el mundo “real”. Matemáticas más avanzadas que lo obligarían a decir “¿alguna vez podré usar esto en mi vida?” PUEDE ser una ventaja para su trabajo, pero eso es muy poco probable. Primero, la mayoría de los trabajos no lo necesitarán. Segundo, aquellos que lo necesitan probablemente lo usen raramente. Todavía se preguntará si lo que aprenda lo ayudará a contar manzanas.

Sin embargo, es diferente si estás haciendo investigación y / o académicos. En cuyo caso se trata mucho de algoritmos y demás. Eso implicaría muchas más matemáticas. Ahí es donde obtienes tu respuesta a “¿alguna vez podré usar esto en mi vida?” En cuyo caso, generalmente no necesitas aprender más de lo que ya te enseñaron en el plan de estudios. Para todo lo demás, Google es tu amigo (como lo es en todos los asuntos de ser un tipo de TI altamente educado).

Hay un campo no tan nuevo pero aún emergente y muy demandado: la ciencia de datos. Solo tuve asignaturas introductorias en él en mi curso de estudio, pero a mi entender, es significativamente más matemática que la mayoría de las otras cosas de computación hasta ahora. ¿Requerirá un conocimiento profundo de una amplia gama de temas matemáticos? No lo sé. Podría, debido a lo complejo que es el manejo de big data. Recuerdo haber visto muchas matrices y otras cosas que incluso yo, alguien que aprendí las matemáticas en mis días previos a la universidad, siento que son pesadillas. Pero, de nuevo, tal vez en estos días hay un programa para eso y en realidad no necesitará tocar el meollo de la cuestión. Quién sabe. No sé lo suficiente sobre este campo para dar una idea precisa al respecto.

Si bien las matemáticas ciertamente no son necesarias para ser un programador exitoso, diría que todavía es importante escribir programas buenos y óptimos. Como otros han dicho, el álgebra y la aritmética básica son necesarias. Algunos cálculos también son importantes, pero debo decir que la lógica puede ser la más importante. Lo que va junto con estructuras discretas, probabilidades y cosas de esa naturaleza.

Esto realmente depende del tipo de desarrollo que hagas. La gran mayoría de los desarrolladores de software contemporáneos NUNCA usan matemáticas avanzadas en su trabajo diario

Excepciones notables incluyen ciencia de datos y aprendizaje automático …

Matemática discreta y álgebra.

Si tiene alguna información específica, como estadísticas o geometría (software 3D). Pero a menos que esté a punto de escribir un programa para realizar cualquier especialidad, estos tres son los únicos. Y ni siquiera un vasto conocimiento. De nuevo, depende de lo que estés a punto de trabajar.

He estado creando aplicaciones durante un año y las únicas matemáticas que tuve que usar fueron

  • adiciones
  • sustracciones
  • multiplicaciones
  • divisiones

Esa es la única experiencia que tengo, pero puedo decirte que si estás pensando en crear juegos, requerirá un poco más que esto. Los juegos se basan en ecuaciones.

Depende del tipo de desarrollo que estés haciendo. Para la mayoría de las aplicaciones comerciales: lógica y matemática discreta.

Lo más importante es lo que se llama “Matemática discreta”: cosas como conjuntos, relaciones (transitivas, reflexivas, etc.), lógica (cálculo de predicados), probabilidad, teoría de grafos.

El cálculo también es útil.

El álgebra lineal y las estadísticas suelen ser útiles para muchos tipos de tecnología de software. Además de eso, el tipo de disciplina mental utilizada en matemáticas también ayuda a escribir código.

Álgebra es lo que sería más útil. El pensamiento lógico puede sustituir cualquier conocimiento especializado que pueda carecer, en la mayoría de los casos.

More Interesting

¿Qué debo hacer después de completar mi B.Tech para ingresar a una carrera relacionada con las matemáticas?

¿Cómo resuelve la programación dinámica las decisiones óptimas de asignación de activos?

¿Cómo evitan los programas de aprendizaje automático / IA la trampa de quedar encerrados en una forma de hacer algo una vez que han encontrado un método exitoso para completar una tarea? ¿Pueden calcular otras soluciones competidoras en paralelo?

¿Cuál es la diferencia entre teoría de la computación y algoritmo?

Int a [6] = {1,2,4,5,}; ¿Es correcta esta afirmación en el concepto de matrices?

Cómo crear un cuestionario de matemáticas en Python

¿Por qué se acepta la tesis de Church-Turing? Tengo problemas para concebir un programa para una máquina de Turing que sume dos números arbitrariamente grandes.

Siendo un estudiante de matemáticas BSc sin cursos de computación, ¿cómo puedo aprender codificación para ser competitivo?

¿Cuál es el uso de las matemáticas en el mundo real en informática?

¿Podemos aplicar el aprendizaje automático en cualquier idioma o hay algo específico que sirva para ese propósito? ¿Cuáles son los modelos matemáticos efectivos utilizados principalmente en ML?

¿Cómo puede una máquina lógica como una computadora generar un número aleatorio?

¿Cómo funciona la implementación DOS de Solar Designer de 'mkdir -p'?

¿Quién es el Alan Turing de nuestro tiempo?

Cómo calcular todos los quíntuples ordenados de números primos (a, b, c, d, e) de modo que [matemática] a + \ sqrt {b ^ 2 + c} = \ sqrt {d ^ 2 + e} [/ matemática]

¿Cómo hago para hacer investigación de pregrado en CS?