Participo en la enseñanza de matemáticas a clases con requisitos como AS y A nivel de especificación de matemáticas.
Los libros de clase normalmente proporcionan ejemplos de programas informáticos aplicados a tareas matemáticas, pero normalmente se basan en aplicaciones de software como Mathlab, Mathica o Derivar.
Incluso cuando se usa un lenguaje de programación real , normalmente es un lenguaje antiguo como Pascal. Y esto es realmente triste en mi opinión.
Porque, Haskell es famoso por sus sentimientos con las matemáticas, y porque también estoy interesado en eso, me gustaría preguntar si Haskell es una buena opción como método de ejercicio de extensión para estudiantes de una clase universitaria de primer año. Los temas típicos son funciones, caclulus, límites, pero también álgebra lineal, por ejemplo.
Tengo experiencia de conocimiento intermedio en programación (c #, ruby, powershell, javascript, tex) y también me he acercado a la programación funcional con XSLT.
Las respuestas se votarán de manera responsable. Respuestas detalladas que incluyen también algunos ejemplos básicos de código Haskell aplicado a las matemáticas, como álgebra lineal (por ejemplo, espacio vectorial), polinomios, la resolución de ecuaciones lineales es muy apreciada y dirigida como la deseada.
Respuestas:
Haskell está creciendo en popularidad entre los matemáticos. Como dijo un blogger:
Así que aquí hay algunos puntos de vista recopilados, que creo que dicen que no puedes equivocarte mucho tomando este enfoque.
Once razones para usar Haskell como matemático , Dan Piponi argumenta que realmente no hay otra opción para los pensadores matemáticos cuando se trata de lenguajes de programación.
Mikael Johansson es matemático en Stanford, y enseña cursos de matemáticas de nivel superior a través de Haskell. Puedes leer su blog o más sobre sus cursos .
Paquetes matemáticos en Hackage , incluidas varias bibliotecas grandes.
Finalmente,
fuente
Si bien soy un gran admirador de Haskell por enseñar matemáticas, podría no ser apropiado para todos los temas a nivel AS / A.
No tendrá problemas para enseñar la idea de una función, y el álgebra lineal puede ser agradable en Haskell. El álgebra lineal a menudo se enseña de una manera muy imperativa con actualizaciones in situ de matrices. Todo se puede traducir a Haskell, pero puede requerir un poco de pensamiento diferente.
Pero se vuelve complicado cuando quieres hablar sobre límites y cálculo. He tenido un gran éxito haciendo cálculos en Haskell con un enfoque no convencional. Pero esa podría no ser una gran idea cuando se enseña a un plan de estudios fijo. Alternativamente, puede jugar con diferenciación simbólica, pero luego comenzará a construir tipos de datos para expresiones que pueden ser difíciles para el nivel A / AS. No es mucho código para comenzar, apenas un par de líneas, pero puede ser aterrador para los estudiantes. A diferencia de Derive y Mathematica, no obtienes expresiones simbólicas de forma gratuita.
La combinatoria básica es fácil de explorar con la mónada List. Esto podría ser útil para enseñar la teoría de la probabilidad.
Haskell está bien para aplicaciones numéricas del tipo que puede aparecer a nivel A / AS, por ejemplo. aplicando la regla de Simpson o investigando medias de muestra y variaciones.
¿Haces teoría grupal elemental? Eso es fácil de codificar y jugar en Haskell.
En general, si te cuidas de los límites, sospecho que es sencillo hacer muchas de las matemáticas de nivel A / AS con Haskell.
fuente
No estoy seguro si Haskell es una buena opción. Claro, tiene un "sentimiento matemático" muy, trata con estructuras infinitas, etc. Pero puede apreciar estas características solo si ya conoce el idioma. Aprender Haskell para aprender matemáticas acumula una tarea difícil sobre otra. Y aprender Haskell es difícil, incluso si ya sabes programar. Entonces, realmente depende si su audiencia es lo suficientemente brillante y curiosa, de lo contrario, perderá la mitad debido a las matemáticas y la otra mitad debido a Haskell.
fuente
Ningún lenguaje de computadora te enseñará matemáticas. Solo las matemáticas te enseñarán matemáticas. Es decir: enfoque de lápiz y papel (o tiza y pizarra), axiomas, teoremas y pruebas. Esto es matemática. No importa cuán sexy sea el lenguaje, un programa escrito en él no es matemática, es solo una aplicación de las matemáticas. Para aplicar algo, primero debes aprenderlo.
fuente