Python для студентов математики? - PullRequest
7 голосов
/ 27 февраля 2009

Мне нужно провести полуторачасовой семинар по программированию для студентов кафедры математики.

Я выбрал python в качестве языка.

  1. Каким должно быть содержание моей презентации?
  2. Какие хорошие ресурсы доступны?
  3. Что такое необходимость программирования для студентов математики?
  4. Как знание программирования поможет им?

Спасибо !!!

ПРИМЕЧАНИЕ: я знаю здесь - это один пост, но он не решает мою проблему.

Ответы [ 10 ]

9 голосов
/ 27 февраля 2009

Руководство по началу работы с scipy?

http://www.scipy.org/Getting_Started

7 голосов
/ 27 февраля 2009
4 голосов
/ 27 февраля 2009

Предполагая, что эти студенты являются новичками в программировании (что весьма вероятно для студентов-математиков), вы захотите дать им базовое введение в программирование (что такое функция, что такое переменная, как каждый из них отличается от функции и переменные в математике и т. д.).

Покажите им несколько примеров программ с учетом того, что будет полезно для математики: численные методы, умножение матриц и т. Д.

Везде, где это возможно, удивляйтесь, чтобы они с удовольствием использовали компьютеры для своих собственных проектов. Некоторые ресурсы по Python / Math

2 голосов
/ 13 марта 2009

Я бы хотел использовать Python как бесплатную и открытую опцию для замены / дополнения дорогих пакетов, таких как Matlab, IDL и т. Д. Через:

  • scipy - fft's,
  • ipython - «оболочка» / отладчик
  • matplotlib - 2D графика
  • MayaVi - 3d графика / визуализация

Это видео может быть полезным.

1 голос
/ 27 февраля 2009

Я бы порекомендовал решить несколько разных типов задач из Project Euler на Python и обсудить решения, как их можно было бы сделать по-разному, чтобы сделать их более эффективными, и т.д. в рамках семинара. Python - это очень элегантный язык для решения математических задач, и он должен быть одним из тех, которые легче понять, чем большинству студентов-математиков, поэтому я думаю, что вы сделали там хороший выбор.

1 голос
/ 27 февраля 2009

Вам нужно будет решить, что вы хотите им показать. Если вы хотите показать им, как с помощью компьютера может быть полезным инструментом в математике, покажите им мудрец и как вы можете использовать численные методы с его помощью, чтобы получить ответы на сложные вопросы. Затем манипулируйте некоторыми алгебраическими формулами. Может быть, покажите, как он может проходить через сложные интегралы и производные без потоотделения. В конце концов, они подойдут к концу некоторых из своих первых курсов по каллусу.

Ничто из этого не показывает, почему они должны знать, как программировать, конечно. Это просто показывает, насколько полезным для них является программирование других людей. В то время как у вас есть все возможности Python в Sage, реальность - это странный «цикл for», а некоторые «операторы if» - это действительно все программирование, которое большинство математиков будет делать с Sage большую часть времени (хотя есть значительное меньшинство сделаю намного больше). Если вы хотите пойти по этому пути, я бы посоветовал вам взять в руки одну из книг по экспериментальной математике (http://www.experimentalmath.info/).). Это ребята, которые (среди многих других интересных результатов) придумали цифры BBP: это способ найти произвольные цифры числа "пи". В основном они используют клен и математику, но большая часть этой работы переводится как шалфей.

Я бы настоятельно рекомендовал вам не показывать им, как на самом деле реализовывать численные методы самостоятельно. Очень немногие математики пишут программы для решения численных задач. Большинство просто подключают свои программы к программам других людей. Поэтому я не думаю, что показ того, как они могли бы реализовать эти методы самостоятельно, если бы только они знали, как программировать, взволновал бы кого-либо.

Если бы это был я, думаю, я бы дал семинару создание простого игрового плагина для cgsuite (http://cgsuite.sourceforge.net/).. Я понимаю, что это Java, а не Python, но они имеют много преимуществ для этого подхода. Во-первых молодые математики всегда в восторге от теории комбинаторных игр. Вы в основном показываете им, как они могут использовать математику, чтобы всегда побеждать в определенных играх. Это как если бы вы давали им суперсилу.

Во-вторых, вы реализуете правила игры в программе. Правила игры - отличный способ выучить идиомы программирования, потому что они так прямо переводят в концепции программирования.

И, наконец, вы получаете инструмент, который может отлично играть в вашу игру. Насколько мне известно, 90 минут - это много времени для семинара. Если вы можете закончить на ура, как в случае 10 минут игры против компьютера, они останутся взволнованными, а не скучающими и истощенными.

0 голосов
/ 01 марта 2009

http://www.sagemath.org

В нашей вики собрана коллекция разговоров, они могут вам помочь! http://wiki.sagemath.org/Talks

Также следует помнить, что Sage содержит NumPy, SciPy и SymPy. Поэтому вся информация об этих трех библиотеках Python хранится для Sage.

0 голосов
/ 27 февраля 2009

Каким должно быть содержание моей презентации?

Концепция функционального программирования с Python. Некоторое введение в сторонние модули, такие как NumPy и SciPy .

Какие хорошие ресурсы доступны?

Ханс Петтер Лангтанген, Сценарии Python для вычислительной науки , Springer

Что такое необходимость программирования для студентов математики?

нет . Обычно у студентов, изучающих математику, проблем с программированием не возникает, поскольку большинство языков программирования были разработаны для решения математических задач.

Как знание программирования поможет им?

Компьютер был ранее разработан как инструмент для ученых, помогающий им эффективно решать научные / математические задачи за очень короткое время по сравнению с .

0 голосов
/ 27 февраля 2009

Python будет работать хорошо, но GNU Octave может быть лучше.

0 голосов
/ 27 февраля 2009

Я предполагаю, что это для первокурсников (только потому, что большинство учеников математики более высокого уровня, вероятно, будут знать, как программировать)? Если так, сделайте что-нибудь интересное и актуальное. Пройдите основы, но, возможно, проведите их через логику / базовую среду для игры (которая в значительной степени ориентирована на математику) или Python-based Graphing Calculator.

Если вы хотите, чтобы они были настоящими фанатами, покажите им Mathematica. Я знаю, это не то, что вы выбрали ... но когда я учился на втором курсе по математике и впервые увидел, что вы можете с этим сделать, я влюбился.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...