Je suis impliqué dans l'enseignement des mathématiques aux classes ayant des exigences telles que les spécifications mathématiques de niveau AS et A.
Les livres de classe fournissent normalement des exemples de logiciels informatiques appliqués aux tâches mathématiques, mais ils sont normalement basés sur des applications logicielles comme mathlab, mathématique ou dérivée.
Même lorsqu'un vrai langage de programmation est utilisé, il s'agit normalement d'un ancien langage de mode comme Pascal. Et c'est vraiment triste à mon avis.
Parce que, Haskell est célèbre pour son sentiment avec les mathématiques, et parce que cela m'intéresse aussi, je voudrais demander si Haskell est un bon choix comme méthode d'exercice d'extension pour les étudiants d'une classe universitaire de première année. Les sujets typiques sont les fonctions, le caclulus, les limites, mais aussi l'algèbre linéaire par exemple.
J'ai une expérience de connaissance intermédiaire en programmation (c #, ruby, powershell, javascript, tex) et j'ai également déjà abordé la programmation fonctionnelle avec XSLT.
Les réponses seront votées de manière responsable. Les réponses détaillées, y compris également quelques exemples de base du code Haskell appliqué aux mathématiques, telles que l'algèbre linéaire (par exemple l'espace vectoriel), les polynômes, la résolution d'équations linéaires sont très appréciées et ciblées comme souhaitées.
Réponses:
Haskell gagne en popularité parmi les mathématiciens. Comme l'a dit un blogueur:
Voici donc quelques points de vue recueillis qui, selon moi, vous ne pouvez pas vous tromper terriblement en adoptant cette approche.
Onze raisons d'utiliser Haskell comme mathématicien , Dan Piponi soutient qu'il n'y a vraiment pas d'autre choix pour les penseurs mathématiques en matière de langages de programmation.
Mikael Johansson est mathématicien à Stanford, qui enseigne des cours de mathématiques de niveau supérieur via Haskell. Vous pouvez lire son blog ou plus sur ses cours .
Paquets mathématiques sur Hackage , y compris plusieurs grandes bibliothèques.
Finalement,
la source
Bien que je sois un grand fan de Haskell pour l'enseignement des mathématiques, il pourrait ne pas être approprié pour tous les sujets au niveau AS / A.
Vous n'aurez aucun problème à enseigner l'idée d'une fonction, et l'algèbre linéaire peut être agréable dans Haskell. L'algèbre linéaire est souvent enseignée de manière très impérative avec des mises à jour sur place des tableaux. Tout cela peut être traduit en Haskell, mais cela pourrait nécessiter un peu de réflexion différemment.
Mais cela devient difficile lorsque vous voulez parler de limites et de calcul. J'ai eu beaucoup de succès en calcul à Haskell avec une approche non conventionnelle. Mais cela pourrait ne pas être une bonne idée lors de l'enseignement d'un programme fixe. Alternativement, vous pouvez jouer avec la différenciation symbolique, mais vous commencerez alors à créer des types de données pour les expressions qui peuvent être difficiles pour le niveau A / AS. Ce n'est pas beaucoup de code pour commencer, à peine quelques lignes, mais cela peut être effrayant pour les étudiants. Contrairement à Derive et Mathematica, vous n'obtenez pas d'expressions symboliques gratuitement.
La combinatoire de base est facile à explorer avec la monade List. Cela pourrait être utile pour enseigner la théorie des probabilités.
Haskell convient parfaitement aux applications numériques du type qui pourrait apparaître au niveau A / AS, par exemple. appliquer la règle de Simpson ou enquêter sur les moyennes et les écarts des échantillons.
Faites-vous de la théorie des groupes élémentaires? C'est facile à coder et à jouer avec Haskell.
Dans l'ensemble, si vous faites attention aux limites, je soupçonne qu'il est simple de faire une grande partie des mathématiques de niveau A / AS avec Haskell.
la source
Je ne sais pas si Haskell est un bon choix. Bien sûr, il a un sentiment très "mathématique", traite de structures infinies, etc. Mais vous ne pouvez apprécier ces fonctionnalités que si vous connaissez déjà la langue. Apprendre Haskell pour apprendre les mathématiques empile une tâche difficile sur une autre. Et apprendre Haskell est difficile, même si vous connaissez déjà la programmation. Donc, cela dépend vraiment si votre public est suffisamment brillant et curieux, sinon vous en perdez la moitié à cause des mathématiques et l'autre moitié à cause de Haskell.
la source
Aucun langage informatique ne vous apprendra les mathématiques. Seules les mathématiques vous apprendront les mathématiques. C'est-à-dire: approche stylo et papier (ou craie et tableau noir), axiomes, théorèmes et preuves. Ce sont des mathématiques. Peu importe à quel point la langue est sexy, un programme écrit n'est pas des mathématiques, c'est juste une application des mathématiques. Pour appliquer quelque chose, vous devez d'abord l'apprendre.
la source