Descubrí que los cursos de matemáticas que se requerían para una especialización de CS no se asignaban frívolamente. Creo que todos son importantes, en retrospectiva. Muchos estudiantes de CS dicen que no pueden pensar en una sola instancia en la que usaron cálculo, pero el beneficio de tener cálculo no es solo la posibilidad de usarlo, sino también para enseñarle más sobre lógica y funciones de orden superior, lo que terminará sirviéndote bien en la programación. Es solo cuestión de si los problemas en los que terminas trabajando exigirán ese nivel de habilidad.
Los cursos de matemáticas que tienen una aplicación más directa en lo que puede terminar haciendo son estructuras discretas, cuando se trabaja con conjuntos de datos, porque contiene la teoría de conjuntos; y álgebra lineal para gráficos por computadora. Encontré estructuras discretas muy útiles cuando intentaba entender cómo usar las bases de datos relacionales. No terminé estudiando gráficos de computadora en mi trabajo, pero cuando tomé Computer Graphics en la universidad, vi muy rápidamente cómo era importante para hacer ese trabajo.
Una razón por la que creo que el cálculo no se incluyó en la especialización de CS para la aplicación directa, pero para enseñar habilidades de pensamiento formal, es que descubrí que cuando finalmente encontré un problema en el que el cálculo sería, en concepto, útil, resultó no ser de uso para lo que estaba tratando de programar. Lo que realmente necesitaba para el problema era un curso de matemáticas que no tomé en la universidad, llamado análisis numérico. El problema que estaba tratando de resolver requería que calculara una derivada, y solo tratar de usar el cálculo para hacerlo realmente no lo resolvió. Hay una forma computacional de obtener una derivada que no utiliza los métodos que aprende en el cálculo.
- Cómo escribir un programa en Java para encontrar la suma de números primos de menos de 2 millones
- ¿Por qué los lenguajes de programación como C no definen constantes como Pi o e?
- Teóricamente, ¿se puede implementar algún algoritmo en el marco de MapReduce?
- Cómo comenzar a hacer aprendizaje automático para un análisis de datos simple
- ¿Cuál es el mayor obstáculo para progresar en el aprendizaje profundo?
El cálculo fue útil cuando, muchos años después de dejar la universidad, intenté nuevamente comprender la programación funcional. Usar los conceptos de cálculo me ayudó a entender eso conceptualmente. No fue lo único que me ayudó, porque traté de entender FP mientras tomaba Calc. II, y apenas tenía sentido para mí. Tomó tomar Data Structures y algunos otros cursos en el camino, incluido un curso de Lenguajes de programación de la división superior antes de que finalmente comenzara a comprender FP, pero pude ver, una vez que aprendí FP, y comencé a revisar algunos de mis viejos materiales de cálculo. , que algunos de los conceptos de los que habló me ayudaron a entenderlo.
El cálculo también solía ser útil para el plan de estudios de CS, porque creaba suficientes antecedentes para que cuando un par de mis cursos entraran en computación simbólica, tuviéramos algunos problemas que podríamos resolver, como encontrar una forma de llevar a cabo la diferenciación simbólica. Ese ya no es el caso, ya que la computación simbólica se ha dejado de lado en la mayoría de los currículos de CS. Sin embargo, algunas escuelas incluyen algunas instrucciones sobre programación funcional, por lo que lo que he discutido con cálculo y FP es relevante en esos casos.