Estou envolvido no ensino de matemática para turmas com requisitos como AS e especificação de matemática de nível A.
Os livros de aula normalmente fornecem exemplos de software de computador aplicado a tarefas de matemática, mas normalmente são baseados em aplicativos de software como mathlab, mathematica ou derivate.
Mesmo quando uma linguagem de programação real é usada, ela é normalmente uma linguagem antiga como o Pascal. E isso é realmente triste na minha opinião.
Porque Haskell é famoso por seu sentimento com a matemática, e porque também estou interessado nisso, gostaria de perguntar se Haskell é uma boa escolha como método de exercício de extensão para alunos de uma turma do primeiro ano da universidade. Assuntos típicos são funções, caclulus, limites, mas também álgebra linear, por exemplo.
Tenho experiência intermediária em programação (c #, ruby, powershell, javascript, tex) e também já abordei a programação funcional com o XSLT.
As respostas serão votadas com responsabilidade. Respostas detalhadas, incluindo também alguns exemplos básicos de código Haskell aplicados à matemática, como álgebra linear (por exemplo, espaço vetorial), polinômios, resolução de equações lineares são muito apreciados e direcionados como desejados.
Respostas:
Haskell está crescendo em popularidade entre os matemáticos. Como um blogueiro colocou:
Então, aqui estão algumas visualizações coletadas, que considero que você não pode dar terrivelmente errado ao adotar essa abordagem.
Onze razões para usar Haskell como matemático , Dan Piponi argumenta que realmente não há outra opção para os pensadores matemáticos quando se trata de linguagens de programação.
Mikael Johansson é matemático em Stanford, que ensina cursos de nível superior em matemática via Haskell. Você pode ler o blog dele ou mais sobre os cursos dele .
Pacotes de matemática no Hackage , incluindo várias bibliotecas grandes.
Finalmente,
fonte
Embora eu seja um grande fã de Haskell no ensino de matemática, pode não ser apropriado para todos os tópicos do nível AS / A.
Você não terá nenhum problema em ensinar a idéia de uma função, e a álgebra linear pode ser agradável em Haskell. Álgebra linear é frequentemente ensinada de maneira muito imperativa com atualizações no local de matrizes. Tudo pode ser traduzido para Haskell, mas pode exigir um pouco de pensamento diferente.
Mas fica complicado quando você quer falar sobre limites e cálculo. Tive grande sucesso ao fazer cálculos em Haskell com uma abordagem não convencional. Mas isso pode não ser uma ótima idéia quando se ensina um currículo fixo. Como alternativa, você pode jogar com diferenciação simbólica, mas depois começará a criar tipos de dados para expressões que podem ser complicadas para o nível A / AS. Não é muito código para começar, apenas algumas linhas, mas pode ser assustador para os alunos. Ao contrário do Derive e do Mathematica, você não recebe expressões simbólicas gratuitamente.
A combinatória básica é fácil de explorar com a mônada da Lista. Isso pode ser útil para o ensino da teoria das probabilidades.
Haskell é adequado para aplicações numéricas do tipo que podem aparecer no nível A / AS, por exemplo. aplicação da regra de Simpson ou investigação de médias e variações de amostras.
Você faz teoria elementar de grupos? É fácil codificar e brincar com o Haskell.
No geral, se você se preocupa com os limites, suspeito que seja fácil fazer grande parte da matemática do nível A / AS com Haskell.
fonte
Não tenho certeza se Haskell é uma boa escolha. Claro, ele tem um "sentimento matemático", lida com estruturas infinitas etc. Mas você pode apreciar esses recursos apenas se já conhece o idioma. Aprender Haskell para aprender matemática empilha uma tarefa difícil em cima da outra. E aprender Haskell é difícil, mesmo se você já conhece a programação. Portanto, realmente depende se o seu público é brilhante e curioso o suficiente, senão você perde metade deles por causa da matemática e a outra metade devido a Haskell.
fonte
Nenhuma linguagem de computador lhe ensinará matemática. Somente a matemática ensinará matemática. Ou seja: abordagem em papel e caneta (ou giz e quadro-negro), axiomas, teoremas e provas. Isso é matemática. Por mais sexy que seja a linguagem, um programa escrito nela não é matemática, é apenas uma aplicação da matemática. Para aplicar algo, você precisa aprender primeiro.
fonte