2009-02-27 13 views
7

Tengo que impartir un seminario de una hora y media sobre programación para estudiantes en el departamento de matemáticas.Python para estudiantes de matemática?

He elegido Python como idioma.

  1. ¿Cuál debería ser el contenido de mi presentación?
  2. ¿Qué buenos recursos hay disponibles?
  3. ¿Qué es la necesidad de programación para estudiantes de matemáticas?
  4. ¿Cómo les ayudará el conocimiento de programación?

Gracias!

NOTA: Sé que here es una publicación pero no resuelve mi problema.

Respuesta

4

Suponiendo que estos estudiantes son nuevos en la programación (que es bastante probable para estudiantes de matemáticas), querrá darles una introducción básica a la programación (lo que es una función, lo que es una variable, cómo cada uno de estos difiere de las funciones y variables en matemáticas, etc.).

ellas se señala que algunos programas de ejemplo, con vistas a las cosas que le será útil para las matemáticas: métodos numéricos, la multiplicación de matrices, etc.

Siempre que sea posible, sorprende a todos por lo que van a entusiasmarse con el uso de computadoras para sus propios proyectos. Some Python/Math resources

0

Supongo que esto es para estudiantes de primer año (solo porque la mayoría de los estudiantes de matemáticas de nivel más alto probablemente sabrán cómo programar)? Si es así, haz algo que sea divertido y relevante. Repase los conceptos básicos, pero tal vez guíelos a través del marco lógico/básico para un juego (que están fuertemente orientados a las matemáticas) o la calculadora gráfica basada en Python.

Si quieres hacer que se vuelvan realmente frikis, muéstrales Mathematica. Lo sé, no es lo que seleccionaste ... pero cuando yo era un estudiante de segundo año de matemáticas y vi por primera vez lo que podrías hacer con él, estaba enamorada.

+0

También puedes probar Sage Notebook, que es genial, y está basado en Python. – nimrodm

0

Python funcionará bien, pero GNU Octave puede ser mejor.

+0

Octave puede ser mejor para estudiantes de ingeniería. No estoy seguro acerca de las matemáticas – nimrodm

0

¿Cuál debe ser el contenido de mi presentación?

El concepto de programación funcional con Python. Algunos introducción a módulos de terceros como NumPy y SciPy.

¿Qué buenos recursos hay disponibles?

Hans Petter Langtangen, de secuencias de comandos de Python para la Ciencia Computacional, Springer

¿Cuál es la necesidad de la programación para los estudiantes de matemáticas?

Ninguna. Por lo general, los estudiantes de matemáticas no tendrán problemas en la programación, ya que la mayoría del lenguaje de programación se desarrolló para resolver problemas matemáticos.

¿Cómo les ayudará el conocimiento de programación?

El equipo fue desarrollado anteriormente como una herramienta para los científicos para ayudarles a resolver problemas /matemáticas científicas de manera eficiente en un tiempo muy corto, en comparación con humana.

+0

> ¿Qué es la necesidad de programar para los estudiantes de matemáticas? Ninguna. Esta es una respuesta muy extraña. –

1

Tendrás que decidir qué quieres mostrar. Si desea mostrarles cómo utilizar una computadora puede ser una herramienta útil en matemáticas, muéstrenles sabiduría y cómo puede realizar métodos numéricos para obtener respuestas a preguntas difíciles. Luego manipula algunas fórmulas algebraicas con él. Tal vez muestre cómo puede usar integrales duras y derivados sin sudar. Después de todo, estarán llegando al final de algunos de sus primeros cursos de calulus.

Nada de esto muestra por qué necesitan saber cómo programar, por supuesto. Esto solo muestra qué tan útil es la programación de otras personas para que lo usen. Si bien tienes todo el poder de python en sabio, la realidad es el extraño "bucle for" y algunas "declaraciones if" son realmente todas las programaciones que la mayoría de los matemáticos harán con sage la mayor parte del tiempo (aunque hay una minoría significativa que Hará mucho más). Si quiere seguir por este camino, le sugiero que intente poner sus manos en uno de los libros de matemáticas Experimentales (http://www.experimentalmath.info/). Estos son los tipos que (entre muchos otros resultados interesantes) se acercaron con los números de BBP: que es la forma de encontrar dígitos arbitrarios de pi. En su mayoría usan arce y matemática, pero la mayor parte de este trabajo se traduce en sabio.

Le sugiero encarecidamente que no les muestre cómo implementar ellos mismos los métodos numéricos. Muy pocos matemáticos están escribiendo programas para resolver problemas numéricos. La mayoría solo conecta sus programas a los programas de otras personas. Así que no creo que mostrar cómo podrían implementar estos métodos ellos mismos, si supieran cómo programar, excitará a cualquiera.

Si fuera yo, creo que probablemente daría un seminario creando un plugin de juego simple para cgsuite (http://cgsuite.sourceforge.net/). Reconozco que esto es java y no python, pero son muchas las ventajas de este enfoque. Los primeros matemáticos jóvenes siempre se entusiasman con la teoría de juegos combinatoria. Básicamente les está mostrando cómo pueden usar las matemáticas para ganar siempre en ciertos juegos. Es como si estuvieras dándoles un súper poder.

En segundo lugar, está implementando las reglas de un juego en un programa. Las reglas del juego son excelentes maneras de aprender modismos de programación porque se traducen tan directamente en conceptos de programación.

Y finalmente, terminas con una herramienta que puede jugar tu juego a la perfección. 90 minutos es mucho tiempo para un seminario en lo que a mí respecta. Si puedes terminar con un golpe, como con 10 minutos jugando un juego contra una computadora, se irán entusiasmados en lugar de aburridos y agotados.

1

Recomendaría resolver algunos tipos diferentes de problemas de Project Euler en Python y tener una discusión sobre las soluciones, cómo se podrían haber hecho de manera diferente para ser más eficientes, etc. como parte del seminario. Python es un lenguaje muy elegante para resolver problemas matemáticos y debería ser uno de los más fáciles de entender por parte de los estudiantes de matemáticas, así que creo que tomaste una buena decisión allí.

0

http://www.sagemath.org

En nuestro wiki es una colección de conversaciones, pueden ayudarle! http://wiki.sagemath.org/Talks

También tenga en cuenta que Sage contiene NumPy, SciPy y SymPy. Por lo tanto, toda la información sobre estas tres bibliotecas de Python es válida para Sage.

2

traería usando Python como una opción de fuente libre & abierto para reemplazar/aumentar los paquetes costosos como Matlab, IDL, etc a través de:

  • scipy - de FFT,
  • ipython - "cáscara"/depurador
  • matplotlib - 2d graficar
  • MayaVi - gráfica en 3D/visualización

This video puede ser útil.

Cuestiones relacionadas