¿Necesita análisis, álgebra lineal, geometría, probabilidad de álgebra y estadísticas para la programación?

Como otros dijeron, no es necesario en la programación, pero lo es para la informática y para subáreas específicas de programación como, por ejemplo, gráficos o simulaciones; sin embargo, vale la pena señalar que áreas específicas de matemáticas son útiles en ramas específicas de la informática, por lo que dependiendo de por ejemplo, qué especialización tomas puede terminar no necesitando mucho aunque los otros estudiantes la usen y viceversa.

Dicho esto, el currículum específico que enumeraste parece bastante abarrotado para mí. Los análisis 1 y 2 están bien, ya que es útil en algunos de los campos (aunque la práctica muestra que los maestros incluso en informática a menudo entran en cosas como en los cursos de análisis de estándares, por ejemplo, mucho tiempo es aprender diferentes formas de contar integrales, seguro que vale la pena poder cuente los más básicos a mano en lugar de ir a una computadora, pero lo que realmente necesita es comprender con fluidez los conceptos, por lo que también vale la pena tener en cuenta cuando administra su tiempo, los detalles de los métodos que habrá olvidado antes los necesita, si los necesita, de todos modos).

El álgebra y la probabilidad son absolutamente necesarias (aunque no sé qué longitud describen 1, 2, etc., si un número es una clase estándar de 30 x 45 minutos de lectura + 30 x 45 minutos de ejercicios, entonces diría que 2 álgebras y 1 probabilidad son absolutamente suficientes tanto para ingeniería como currículum centrado en CS).

Ecuaciones diferenciales, bueno, si entras en una programación de gran carga física, las usarás, pero personalmente preferiría que enseñen eso como parte de esa especialización que lo necesitas si lo tomas, en lugar de como un curso obligatorio. No puedo ver una razón para todo el semestre de funciones complejas en lugar de las básicas introducidas si algunas materias necesitan un poco. 4 semestres de geometría son algunos malentendidos: de todos modos, utilizará geometría computacional cuyos conceptos son completamente diferentes a los de la geometría “clásica” estándar. Se necesita geometría analítica para gráficos, etc., pero este curso es geometría “clásica” con bits de geometría analítica y luego todo aparte de esos bits es inútil o este es un curso de geometría analítica y luego es útil pero (si de nuevo significa el medida que supuse anteriormente) 1 semestre hubiera sido suficiente.

Entonces, la conclusión es que sí, definitivamente necesitas matemáticas (aunque no para la programación), pero este conjunto particular de materias de matemáticas para mí varía bastante extraño incluso para estudios de CS, y mucho menos si son estudios de ingeniería informática. Oh, a menos que sea el curso en el que ya tienes alguna especialización (gráficos de computadora, IA, etc.) elegida desde el principio, entonces podría ser que tengan un punto y simplemente no sé lo suficiente sobre esta especialización particular que tiene requisitos muy diferentes para el plan de estudios regular donde solo elige especializaciones más tarde y, por lo tanto, no debería dedicar demasiado tiempo a lo que solo otras especializaciones utilizarán en mayor medida.

Respuesta corta : No, no los necesitas para programar.

Sin embargo, el tema de “informática” no es lo mismo que “programación”. Si su único objetivo en la vida es aprender a escribir código, entonces no debería estar estudiando informática.

Tenga en cuenta que la informática se llama una “ciencia” por una razón. La programación no es ciencia. La programación es una habilidad que se puede utilizar en la práctica de la ciencia. La matemática también es otra habilidad que es útil en la práctica de la ciencia. Tener habilidades tanto en programación como en matemáticas te facilitará la práctica de la informática.

Tomemos el aprendizaje automático, por ejemplo. Esa es una de las cosas más populares que los empleadores están buscando en estos días. Para comprender el aprendizaje automático, necesitará conocer al menos algunas probabilidades, estadísticas, álgebra lineal, cálculo multivariable y, por último, pero no menos importante, programación.

La robótica y los gráficos son otras áreas de CS en las que necesita muchas de las matemáticas que está aprendiendo.

Veo su preocupación de que el 65% de matemáticas parece un porcentaje bastante alto. Sin embargo, a diferencia de aprender un nuevo lenguaje de programación o tecnología, las matemáticas no cambian con el tiempo. En cuanto a las habilidades, las matemáticas son más valiosas, porque es una habilidad que no tiene una fecha de vencimiento.

Además, los viejos tiempos donde necesitabas programadores de núcleo duro para escribir código de ensamblaje altamente optimizado se están desvaneciendo. Si bien todavía hay algunos trabajos para las personas que conocen muchos trucos de programación, esto disminuye con el tiempo a medida que los compiladores se vuelven más inteligentes y el hardware se vuelve más poderoso. Al mismo tiempo, la necesidad de programadores que conocen las matemáticas más avanzadas está aumentando.

No … pero si. Le garantizamos que necesitará Álgebra 1, ya que la mayoría del software incluye algunas matemáticas con variables. Si está buscando simulaciones 3D (incluye videojuegos), entonces Geometría, Álgebra lineal y Álgebra 2 con seguridad. Las transformaciones 3D y la rotación 2D requerirán matrices y seno / coseno / tangente. Si está buscando hacer simulaciones físicas, le recomiendo Ecuaciones diferenciales junto con su análisis.

Las matemáticas estadísticas ayudarán de todos modos, pero la mayoría de las veces al hacer software de información comercial. También profundizará su comprensión de las funciones aleatorias en un idioma. Además, la parte de probabilidades lo mantendrá en tierra cuando intente calcular cuántas combinaciones de x hay.

También tomé la teoría de gráficos junto con algunas clases generales de Inteligencia Artificial. El modelo relacional de datos de la teoría de grafos me ha ayudado varias veces, especialmente cuando intento trabajar con bases de datos.

Al final, puedes aprender muchas matemáticas fuera de la escuela, por lo que lo más importante es aprender a aprender bien. ¡Entonces puedes aprender cualquier cosa y pagas mucho menos!

¡Buena suerte!

¿Necesita todo eso para una tarea de programación en particular ? Talvez no. Pero hay al menos dos buenas razones para incluir todo eso en un plan de estudios básico:

Primero, esto proporciona una buena base para su carrera. Si sabía que nunca necesitaría, por ejemplo, la probabilidad y las estadísticas en su futura carrera, entonces quizás tenga un poco de sentido omitir esos temas de su plan de estudios. Pero no lo sabes. Entonces, estos temas están en.

Segundo, incluso si estuviera relativamente seguro de que no necesitaría algunos o todos estos temas per se , aprenderlos lo convierte en un mejor programador. ¿Por qué? Porque aprender estos temas te hace más inteligente. Mejora su capacidad analítica, su reconocimiento de patrones, su vocabulario, entre otras cosas. En ese sentido, aprender matemáticas es como levantar pesas: el punto no es que algún día necesitarás hacer press de banca con tantas y tantas libras. El punto es que levantar todos esos pesos te hace en general más en forma.

No necesita saber cómo trabajar con ladrillos, vidrio, concreto, metal, sistemas eléctricos o plomería para construir algo útil.

Del mismo modo, puede escribir programas útiles sin apenas utilizar las matemáticas. Sin embargo, ya sea que lo reconozca o no, no puede escribir un programa sin especificar de alguna manera un modelo matemático de lo que hace.

Estudiar análisis, álgebra lineal, geometría, álgebra, probabilidad y estadística amplía la gama de modelos matemáticos a su disposición y, por lo tanto, qué tipo de soluciones está preparado para imaginar cuando enfrenta un problema.

¿ Necesitas absolutamente muchas matemáticas para programar?
No, y ciertamente no todo el tiempo.

¿Puedes usarlo para programar?
Absolutamente.

Para la programación, depende de qué es exactamente lo que estás programando. Pero para la informática es poco probable que sobrevivas sin ellas: la informática es matemática aplicada, no puedes aplicar las matemáticas sin aprender primero las matemáticas.

Si solo le interesa la programación, todavía vale la pena aprender ciencias de la computación; piense en ello como la teoría detrás de la práctica. No tienes que convertirte en un científico de la computación, aprende lo suficiente para que puedas entenderlos y aplicar lo que te dicen (así que, simplemente, no te registres para obtener un doctorado y estarás bien :)) .

Un título en informática no es un título vocacional. Su objetivo es enseñarle habilidades que serán útiles para conseguir un trabajo y tener éxito como desarrollador de software, pero también tiene la intención de prepararlo para trabajar como informático si eso es lo que quiere hacer. Y más allá del nivel de pregrado, la informática es intensamente matemática. Cada uno de los cursos que ha enumerado es útil para alguna área de la informática que pueda interesarle, y es por eso que los está tomando.

Ahora hay una discusión en varios círculos sobre cuál debería ser el énfasis en estos dos objetivos. Históricamente, el segundo se consideraba más importante que el primero, y es por eso que hay tanto énfasis en las matemáticas y la teoría. Eso puede cambiar en el futuro cercano, pero no es obvio de inmediato que deba hacerlo.

Todo esto depende del tipo de programas que desee escribir. La programación es escribir código que hace algo. Si no sabe matemática elemental, no sabría qué hace i ++ u otra operación aritmética. Del mismo modo, si no conoce los algoritmos de clasificación, estaría condenando su programa a la búsqueda secuencial (tal vez). Piense en las matemáticas que menciona como algoritmos que le permiten comprender y realizar sus programas de manera más eficiente. Las materias de matemáticas que menciona son formas importantes de abordar los problemas más centrados en los datos que encontramos en estos días, por lo que una comprensión de estas materias lo convertirá en un programador más relevante.

Las matemáticas son como muchas otras cosas en la escuela: si se salta u olvida, entonces, por supuesto, nunca la necesitará en la “vida real”. Lo más probable es que ni siquiera sientas que te falta algo importante.

Pero si lo sabes, tus habilidades mejorarán enormemente. Aplicará ese conocimiento diariamente, de vez en cuando, a menudo sin darse cuenta, y luego notará y volverá a mirar esta pregunta con una mezcla de diversión e incredulidad leve.