¿Por qué los maestros programadores insisten en usar las matemáticas para enseñar a sus estudiantes los conceptos básicos de la programación dado que no se usa tanto a diario?

Imagine tener que traducir el código de todos o la implementación de la máquina en algo que tiene que entender. ¿Por qué reinventar la rueda una y otra vez? Las matemáticas son la forma natural de describir la computación de manera independiente de la máquina.

Ahora, obviamente, su pregunta no da muchos detalles sobre lo que quiere decir exactamente, pero aprovecharé esto como una oportunidad para enfatizar los lazos entre Computación y Matemáticas. No tengo idea de lo que quieres decir con “insistir en usar las matemáticas”, y qué pedagogía está usando tu maestro. Pueden tener una buena razón, no sé en qué se basa el curso o el tema central aparte de la programación.

Si este es un curso de ciencias de la computación, debe basarse en Matemáticas y Ciencias. La naturaleza de la computación y el estudio de algoritmos es fundamentalmente matemática. ¿Cómo crees que la gente conoce los algoritmos que aprendes en el trabajo de clase como se esperaba? ¿Polvo de hadas? No, utilizamos las matemáticas para demostrar que funcionan según lo deseado. Por lo tanto, es una buena idea acostumbrarse a ver estas cosas usando la temida palabra M, Matemáticas .

Sin embargo, puedo entender simplemente aprender que la actividad aplicada de la programación está un poco separada de esta actividad. Muchos cursos introductorios de informática son así como un ejemplo. Obtener un poco de eso no duele. Tenga en cuenta que lleva más tiempo transmitir las cosas sin usar Maths, y en el momento en que lo haga específico para una implementación, no obtendrá una imagen más amplia. Ese tipo de cosas es bueno para un ejemplo, pero esto no ayudará a comprender el panorama general muchas veces. ¿Imagina aprender, por ejemplo, solo una implementación de un algoritmo en un lenguaje de programación y nunca aprender el algoritmo general? Entonces, si salta a otro lenguaje de programación, puede perder la oportunidad de hacer una mejor implementación porque no sabía cómo funciona realmente el algoritmo (que normalmente es una discusión matemática).

En resumen, ¿por qué? Porque tiene sentido hacerlo.

  • La matemática es algo que cruza culturas, idiomas, y resulta ser fácilmente la mejor manera de describir cosas como algoritmos sin vincularlos a una máquina específica (que puede volverse obsoleta en 5 años).
  • Comunicar tus ideas es importante. Las matemáticas son una forma natural de hacer esto.
  • Computación y matemáticas van juntas, son inseparables.
  • Los lenguajes de programación son una mezcla de la teoría de los lenguajes de programación (muchas matemáticas) y las decisiones de ingeniería. Cuanto antes te des cuenta de esto, mejor.
  • Cuando saltas de un lenguaje de programación a otro, no puedes transformar mágicamente automáticamente tu código en otro lenguaje de programación muchas veces.

¡Espero que esto ayude!

Depende de muchas cosas.

¿Estás aprendiendo * Ciencias de la Computación * o estás aprendiendo * Desarrollo de Software / Aplicaciones *?

En otras palabras, ¿estás aprendiendo programación de una universidad de cuatro años como estudiante de STEM o estás aprendiendo programación como alguien que quiere ser desarrollador web o de aplicaciones (o algo similar, por ejemplo).

En el primero, es posible que se le enseñen matemáticas discretas y puede tomar un tiempo por qué se le enseñó (para comprender algoritmos avanzados básicamente). Si es el caso posterior, entonces todavía se necesitan matemáticas básicas. ¿Se necesita un curso de matemática discreta (combinatoria, lógica de primer orden, probabilidad discreta, teoría de números, etc.)? No exactamente. Sin embargo, las estructuras de datos, para ser entendidas incluso en un nivel intermedio alto, necesitan algunas de esas matemáticas. Sin embargo, si usted es un desarrollador web front-end como dije, aprendiendo JS, entonces no es tan importante.

Si eres un experto en CS, matemáticas, estadísticas o física (o algunas especialidades de ingeniería), entonces ese nivel de CS es necesario, al menos en tus cursos CS1 y CS2.

Después de eso, generalmente la teoría desaparece a menos que sea un CS, EE, Math, Stats o una especialidad relacionada. Si tiene una especialidad relacionada (bio, química, economía, psicología, etc.), entonces los cursos de codificación de introducción con estilo CS probablemente no sean necesarios, pero se agrupan en los primeros para ahorrar dinero, dependiendo del tamaño de su escuela.

Por ejemplo: UCLA enseña programación del departamento de CS (principalmente para las especialidades de CS, Comp.E y EE junto con algunas especialidades de matemáticas, física y estadísticas que desean la ruta más exhaustiva). También usan el departamento de matemáticas. para impartir cursos PIC (programación en informática, creo); se centran en la programación y las aplicaciones con poca teoría y no requieren un curso de matemáticas discreto. El uso de doctorados CS para las clases de “programación” CS y desarrolladores experimentados de firmas consultoras de estadísticas, firmas de ciencias de la actuación, y tal vez incluso sus propios desarrolladores de back-end que están calificados para enseñar los cursos (es decir, personas que usan código solo para lograr algo más con pocas posibilidades de necesitar algos avanzados o de saber cómo funciona un compilador).

La programación es parte de la informática, que comenzó como subcampos de matemáticos e ingenieros eléctricos principalmente, por lo que las matemáticas que se necesitan no deberían ser una locura si quieres entender la tecnología por completo. Sin embargo, si solo está intentando escribir un script como administrador de sistemas en Python o está utilizando JS para un sitio web dinámico o Ruby on Rails, entonces su clase no debería girar en torno a las matemáticas. Un ejemplo específico para su problema sería bueno. Si quiere decir, por qué usa la aritmética … entonces probablemente debería enfocarse en eso, pero si está tratando de enseñarle problemas de computación numérica como aplicaciones en clase, entonces está equivocado con seguridad.

Además, vi una respuesta que decía que todos los instructores de programación nunca desarrollaron código real. Eso está mal. Una buena cantidad de profesionales de CS nunca estuvieron en la industria, pero eso no significa que nunca estuvieron involucrados en consultoría, proyectos paralelos y en desarrollo de código abierto. Sin embargo, sí, hay muchos que no tienen experiencia real en la industria, pero los tiempos han cambiado bastante que si estás aprendiendo programación con el propósito de desarrollar (y no dentro de una universidad de 4 años), deberías tener instructores experimentados, como en los muchos campamentos de 3 a 4 meses que existen.

“La informática no tiene más que ver con las computadoras que la astronomía con los telescopios”. – Edsger Dijkstra

Bueno, depende de cuál sea tu objetivo. La mayoría de las personas pueden escribir el código de “Hola mundo” con facilidad. ¿Necesitan matemáticas para realizar esta tarea? Probablemente no.

Pero si está escribiendo la próxima IA para google, probablemente necesitará * algo * de conocimiento en Teoría de gráficos y Matemática discreta.

Fui a los extremos a propósito porque hay 50 tonos de gris por ahí.

Además, no olvide que algunas de las bibliotecas que usará fueron escritas para ser lo más eficientes posible usando estructuras de datos y algoritmos, basados ​​en matemáticas.

Los bootcamps de codificación generalmente se centran más en la codificación en sí misma (y generalmente en un idioma específico) y menos en matemáticas (si corresponde), mientras que la Academia lo prepara para un espectro más amplio de campos dentro de la informática.

Al principio pensé que era una pregunta troll, pero en el espíritu de BNBR, asumiré que esto es sincero.

La programación informática es un subconjunto de la informática.

La informática es una rama de las matemáticas.

Por lo tanto, estudiar programación de computadoras es necesariamente un estudio de matemáticas.

Si no le gustan las matemáticas, hágalo o transfiéralas a Historia del Arte.

Los maestros de programación a menudo no comprenden la realidad fuera de la escuela y no pueden escribir software real para salvar sus almas. Y algunos de ellos son maestros convertidos o principalmente de matemáticas que creen erróneamente que la programación es una especie de ramificación menor de Real Math.

Un maestro de programación que usa matemáticas para enseñar programación es casi incompetente para enseñar el tema, así que tenga cuidado de tomar todo lo que diga con un gran grano de sal. Perdí la cuenta de la cantidad de cosas totalmente erróneas que escuché acerca de la programación proveniente de la boca de tales maestros. También tienden a estar décadas atrás de los tiempos.

La habilidad matemática básica es esencial para hacer la programación. No creo que sea una mala habilidad tener. Dicho esto, si está trabajando en inteligencia artificial / aprendizaje automático, el conocimiento de la matemática es absolutamente esencial. He trabajado con muchos programadores inteligentes que vinieron de matemáticas y física. Dicho esto, el nivel de matemáticas dependerá del proyecto en el que esté trabajando. Espero que ayude

La programación no es como crees que es la programación, es solo un concepto de computadora que comprende tu lenguaje y responde a tu pregunta, cada lenguaje de programación tiene operadores lógicos, símbolos científicos y matemáticas es un capítulo importante para la programación si no sabes pero no puedes la programación confía en mí todas las declaraciones if else, mientras que las declaraciones requieren operadores matemáticos matemáticos, siga mi cuenta

En el pasado, la academia no tenía departamentos de informática, por lo que la programación estaba atrapada en los departamentos de matemáticas. Probablemente fue lo mejor que pudieron hacer entonces, pero hizo que muchas personas pensaran que nunca podrían aprender programación a menos que fueran genios matemáticos.

Lamento escuchar que eso todavía está sucediendo.