¿Es una buena idea para mí aprender tantas matemáticas como pueda, y luego aprender CS / programación más tarde?

¿Por qué no obtienes una doble licenciatura?

Para CS, principalmente necesitarás Matemáticas discretas y lógica de primer orden, para aprender sobre “Teoría del lenguaje formal” y Algoritmos.

Sin embargo, si está interesado en el aprendizaje automático , la minería de datos, etc., necesitará un sólido historial en estadísticas y probabilidades .

Y el cálculo es indispensable si quiere aventurarse en robótica o procesamiento de señales ( ¿qué temas de la informática hacen uso del cálculo? ¿Cuáles son algunos de los sub-campos utilizados en la informática?)

Por lo tanto, aunque estrictamente hablando no necesite un montón de Matemáticas para Ciencias de la Computación “básicas”, cuanto más tenga, mejor será para aventurarse en nuevos campos.

No hay nada de malo en estar interesado en los aspectos “matemáticos” / teóricos de la CS, más que en sus aspectos más prácticos (por ejemplo, “¡Arquitectura de máquina” utilizada para hacerme bostezar!).

Tenga en cuenta que la introducción a la programación suele ser aburrida porque no se explica la teoría subyacente. Supongo que si persistes, alcanzarás el nivel en el que aprendes sobre Semántica (informática), que probablemente te interese más que la sintaxis de cualquier lenguaje de programación dado.

Teniendo en cuenta sus intereses declarados, le sugiero que intente experimentar con diferentes lenguajes de programación, como la programación lógica (por ejemplo, Prolog) y la programación funcional (por ejemplo, Lisp (lenguaje de programación)).

En cualquier caso, continúe aprendiendo sobre Matemáticas y CS en paralelo : ambos campos se complementan entre sí, y fortalecerá sus habilidades de programación no solo practicando, sino también aprendiendo más sobre “generalizaciones” teóricas.

Nota : no descuides el aspecto interdisciplinario de la CS. Biology + CS te permite entrar en Bioinformática, Lingüística + CS abre las puertas al procesamiento del lenguaje natural y la IA, etc.

¡Buena suerte!

Por lo tanto, actualmente soy estudiante de doctorado y antes le he hecho una pregunta similar a mi asesor: si debería aprender toda la teoría que necesito para mi investigación primero y luego comenzar a hacer una investigación activa. Su respuesta tuvo 2 puntos importantes que se quedaron conmigo. Creo que son lo suficientemente generales como para aplicarse a su situación también:

1. El aprendizaje no tiene fin. ¿Cómo y cuándo sabrá que ha aprendido “toda la teoría que necesita”? Y, en general, nunca lo harás, ya que, inevitablemente, encontrarás algún trabajo en el que alguien haya usado una técnica con la que no estás familiarizado. No debes poner tu vida en espera y comenzar a aprender todo sobre ella, bajo el sol.

2. También las personas en general obtienen un auto-cumplimiento positivo cuando hacen algún progreso, cualquier progreso. Empiezas a hacer tu trabajo. Si se encuentra con un nuevo concepto, una técnica novedosa, consulte la referencia proporcionada (o Wikipedia también, en la mayoría de los casos) y vea cómo los autores han usado ese concepto o técnica. Ahora conoces una instancia en la que se puede utilizar esta técnica. De acuerdo, este es un ámbito muy limitado, muy limitado entre todas las aplicaciones de este concepto, pero debe considerar esta herramienta como algo que ha agregado a su obra técnica en constante crecimiento. Haz tuyo este concepto usándolo la próxima vez que veas algo similar. No necesitas pasar días aprendiendo todo sobre ello. Sé práctico, sé productivo!
Espero haber tenido algún sentido. Quieres codificar? Código de distancia. Si alguna vez siente que está atrapado en un lugar que requiere nuevos conocimientos técnicos, vaya a leer, busque en la web, pregunte a las personas en Quora, pero haga el trabajo. Muévete, no te estances. Te sentirás increíble !!

Las matemáticas son una “ciencia”, mientras que la programación y el diseño de computadoras son más bien un “Arte”. Por eso son complementarios, no mutuamente excluyentes. No hay razón para posponer sus estudios de informática si eso es lo que le interesa.

Si tu cerebro ya está conectado para el trabajo de cuantificación, entonces no hay necesidad de hacer matemáticas primero. Simplemente sumérgete en la programación y mejora tus habilidades matemáticas según sea necesario

No, hay personas que van por el otro lado, aprenden codificación antes de las matemáticas.

No. Conocer las matemáticas básicas (aritmética) será suficiente para la programación. Tenía una base sólida en matemáticas como ingeniero antes de tomar mi primera clase de programación. Y puedo decir que me ayudó poco a aprender los conceptos fundamentales.

Soy de la opinión de que la lógica de la programación está más relacionada con la lógica del lenguaje más tradicional (inglés) que con el lenguaje de las matemáticas abstractas. Esto se debe al hecho de que un programa procesa un archivo que contiene código de manera muy similar a como el cerebro procesa la palabra escrita; de forma lineal, mientras se actualiza algún espacio de estado discreto con la ejecución de cada instrucción.

El enfoque que recomiendo para aprender a programar es en realidad muy diferente de lo que las personas recomiendan tradicionalmente. La gente normalmente dice que primero debe aprender un lenguaje de alto nivel para comprender los conceptos o “abstracciones” en la programación, y luego bajar a C o ensamblar para solidificar su conocimiento del hardware. Esto no funcionó para mí; Necesitaba entender los detalles muy finos de lo que estaba sucediendo bajo el capó primero .

Al aprender primero lo que estaba sucediendo bajo el capó, luego, las abstracciones utilizadas en los lenguajes de programación de nivel superior (objetos, interfaces …) tuvieron una increíble cantidad de sentido. Esto fue porque tenía un marco en el que podía entender las abstracciones. Una abstracción en la programación es una representación simplificada de alguna realidad informática. La realidad informática es el proceso que se ejecuta o la estructura de datos almacenada en el hardware de su computadora. Al saber lo que realmente está sucediendo en su computadora, usted sabe lo que está representando a través de la abstracción y luego obtiene una comprensión más profunda y completa de la programación. También te sientes más cómodo y diestro con el uso de abstracciones de programación más adelante porque te das cuenta de que se basan en las realidades de tu hardware informático.

Puedo decir con convicción que el aspecto más importante de la programación de aprendizaje es establecer un modelo mental correcto de lo que está sucediendo desde el principio . Soy ingeniero, así que lo que me ayudó fue comprender lo que está sucediendo a nivel de hardware. Aprender C realmente me ayudó a solidificar este modelo mental. Después de eso, aprender idiomas de alto nivel como Java o Python fue trivial.

Las ramas más útiles de las matemáticas, desde una perspectiva de programación, son las matemáticas discretas (incluida la teoría de los gráficos) y el álgebra lineal, por lo que te recomiendo que comiences por ahí.

Es extremadamente raro que necesite un cálculo matemático más difícil que el álgebra.
Si necesita algo más difícil, es probable que sea el dominio del problema en lugar de la estructura del código en sí.