Я участвую в преподавании математики в классах с такими требованиями, как AS и спецификация уровня A по математике.
Учебники обычно предоставляют примеры компьютерного программного обеспечения, применяемого для математических задач, но обычно они основаны на таких прикладных программах, как mathlab, mathematica или производные.
Даже когда используется настоящий язык программирования, он обычно является старым языком, таким как Pascal. И это действительно грустно на мой взгляд.
Потому что Хаскелл известен своими чувствами к математике, а также потому, что я заинтересован в этом, я хотел бы спросить, является ли Хаскелл хорошим выбором в качестве метода дополнительных упражнений для студентов первого курса университета. Типичными предметами являются функции, caclulus, пределы, но также и линейная алгебра, например.
Имею средний опыт работы в программировании (c #, ruby, powershell, javascript, tex), а также уже подошел к функциональному программированию с использованием XSLT.
Ответы будут проголосованы ответственно. Подробные ответы, включающие также некоторые основные примеры кода на языке Haskell, примененного к математике, такие как линейная алгебра (например, векторное пространство), полиномы, решение линейных уравнений, высоко ценятся и нацелены на то, чтобы найти их.
Ответы:
Haskell набирает популярность среди математиков. Как сказал один блоггер:
Итак, вот некоторые собранные взгляды, которые, я чувствую, говорят, что вы не можете пойти ужасно неправильно, используя этот подход.
Дэн Пипони, одиннадцать причин использовать Haskell в качестве математика , утверждает, что у математических мыслителей нет другого выбора, когда речь заходит о языках программирования.
Микаэль Йоханссон - математик из Стэнфорда, преподающий курсы по математике на высшем уровне через Хаскелл. Вы можете прочитать его блог или больше о его курсах .
Математические пакеты на Hackage , включая несколько больших библиотек.
В заключение,
источник
Хотя я большой поклонник Haskell для преподавания математики, он может не подходить для всех тем на уровне AS / A.
У вас не будет проблем с обучением идее функции, и линейная алгебра может быть хорошей в Haskell. Линейная алгебра часто преподается очень настоятельно с обновлениями массивов на месте. Все это можно перевести на Haskell, но для этого может потребоваться немного подумать иначе.
Но это становится сложно, когда вы хотите поговорить об ограничениях и исчислении. Я имел большой успех, делая исчисления в Haskell с нетрадиционным подходом. Но это не может быть хорошей идеей при обучении по фиксированной программе. В качестве альтернативы вы можете поиграть с символьным дифференцированием, но тогда вы начнете создавать типы данных для выражений, которые могут быть сложными для уровня A / AS. Это не много кода, чтобы начать, всего пара строк, но это может быть страшно для студентов. В отличие от Derive и Mathematica, вы не получаете символические выражения бесплатно.
Основу комбинаторики легко изучить с помощью монады List. Это может быть полезно для преподавания теории вероятностей.
Haskell отлично подходит для числовых приложений, которые могут появляться на уровне A / AS, например. применение правила Симпсона или исследование выборочных средств и отклонений.
Вы занимаетесь теорией элементарных групп? Это легко написать и поиграть в Haskell.
В целом, если вы позаботитесь о границах, я подозреваю, что довольно просто сделать большую часть математики уровня A / AS с Haskell.
источник
Я не уверен, что Хаскелл - хороший выбор. Конечно, он имеет очень «математическое чувство», имеет дело с бесконечными структурами и т. Д. Но вы можете оценить эти функции, только если вы уже знаете язык. Изучение Haskell для изучения математики ставит одну сложную задачу поверх другой. И обучение Haskell это трудно, даже если вы уже знаете , программирование. Так что это действительно зависит, если ваша аудитория достаточно яркая и любопытная, иначе вы потеряете половину из-за математики, а другую - из-за Хаскелла.
источник
Никакой компьютерный язык не научит вас математике. Только математика научит вас математике. То есть: подход пером и бумагой (или мелом и классной доской), аксиомы, теоремы и доказательства. Это математика. Независимо от того, насколько сексуален этот язык, написанная на нем программа - это не математика, а приложение математики. Чтобы применить что-то, вы должны сначала изучить это.
источник