Idea para un currículo y libro de texto conjunto de física-informática [cerrado]

13

Quiero escribir (y he comenzado a delinear) un libro de texto de física que asume que su lector es un programador informático competente. Los libros de texto de física normal enseñan fórmulas físicas y dan problemas que se resuelven con lápiz, papel y calculadora. Quiero proporcionar un libro que enfatice la física computacional, cómo las computadoras pueden modelar sistemas físicos y dar problemas de este tipo: escribir un programa que pueda resolver un conjunto de problemas de física. Las bibliotecas de código abierto de terceros se usarían para manejar la mayor parte del cálculo y quiero usar un lenguaje de alto nivel como Java o C #.

Además del hecho de que me gustaría trabajar en esto, creo que debería ofrecerse un plan de estudios conjunto de física e informática en las escuelas y esto es parte de una agenda más amplia para que esto suceda. Creo que los estudiantes de física (como yo) deberían aprender a usar y aprovechar las computadoras para resolver problemas abstractos y conjuntos de problemas. Creo que los lenguajes de programación deberían considerarse un medio útil para participar en muchas áreas de investigación.

¿Vale la pena seguir esta idea? ¿Es factible la fusión de estas dos asignaturas en forma de plan de estudios universitario? ¿Hay alguna herramienta específica que debería aprovechar o dificultades que debería tener en cuenta? ¿Alguien ha oído hablar de cursos universitarios o de otro tipo que asuman esta metodología? ¿Hay libros / libros de texto como el que estoy describiendo (para física o cualquier otra materia)?

Ami
fuente
3
Lo siento, ¿dónde está el aspecto informático del libro? Suena como física y programación de computadoras, que es algo completamente diferente.
Peter Taylor
2
Hay mucho espacio para CS en un libro de física; por ejemplo, en la construcción de simulaciones de objetos clásicos o cuántica, que sin duda tendrá que luchar con estatales, concurrencia, algoritmos, las compensaciones de representación, etc.
limist
2
Como se puede deducir del comentario de @Peter Taylor, asegúrese de que haya un buen CS en el libro. Además, imo Python sería una mejor opción que Java o (especialmente) C #. En mi experiencia (más de 19 años en entornos científicos), es más probable que los científicos conozcan Python que los demás que mencionas. Mientras actualmente estoy haciendo Java, no conozco a nadie en las ciencias que haga C #.
GreenMatt
2
Por lo que entiendo, R también podría ser una buena opción, he oído que es muy bueno para el análisis numérico. Si va a escribir un programa que simule algún experimento, es posible que desee escribir otro programa para analizar los resultados. Es posible que dos idiomas sean mejores, uno para escribir simulaciones y otro para analizar los datos resultantes.
FrustratedWithFormsDesigner
1
Con un par de años para reflexionar sobre esto, hay algo que debe mencionarse. Citando a varias personas, "La física es una ciencia empírica". No hay sustituto para VER algo real, en el mundo real, medirlo usted mismo y darse cuenta de que los modelos matemáticos coinciden con los fenómenos reales. (En mi caso personal, estaba viendo un centavo y una pluma cayendo exactamente a la misma velocidad dentro de un tubo transparente evacuado. ¡Me voló la cabeza COMPLETAMENTE! Hacer mínimos cuadrados para calcular la aceleración debido a la gravedad estaba a la altura).
John R. Strohm

Respuestas:

7

La suya es una buena idea en general y se está buscando: ¿ha visto La estructura e interpretación de la mecánica clásica de Sussman y Wisdom ? Enseña física clásica avanzada usando Scheme:

Por otro lado, creo que hay un fuerte argumento para defender, y por lo tanto una necesidad, de revisar la enseñanza de muchas materias con una base de computación, porque la computación extiende fundamentalmente nuestros poderes de modelado, sin mencionar la enseñanza, el aprendizaje y el pensamiento. En el libro Masterminds of Programming , Paul Hudak (de la fama de Haskell) defiende exactamente esa revisión. Sussman, por supuesto, también pidió nuevas formas de usar las computadoras para enseñar materias "viejas"; SICM es un hermoso ejemplo de él haciéndolo. ¡Espero que a continuación enseñe mecánica cuántica!

limist
fuente
5

Los Dres. David Gavenda y Luther Frommhold en UT Austin estaban tratando de hacer exactamente eso, a principios de mediados de la década de 1970, utilizando un sistema Data General Nova compartido. Creo que el Dr. Gavenda se ha retirado, y no tengo idea de qué pasó con el Dr. Frommhold. (Dave Gavenda fue definitivamente uno de los buenos).

El Dr. Gordon Novak, en el Departamento de UT Austin CS, estaba trabajando en el otro extremo de eso. Su disertación, en Lingüística computacional, fue un programa que podía entender y resolver problemas de escalera de nivel de primer año en estática. (Divulgación completa: Gordon es un amigo de hace mucho, mucho tiempo).

También puede echar un vistazo a Estructura e interpretación de la mecánica clásica , por Sussman y Wisdom.

Sin embargo, no estoy seguro de que sea una buena idea. Puede hacer algunas demostraciones bonitas, y hace que sea más fácil ver ALGUNAS cosas, pero gran parte de la física elemental está enseñando al estudiante los métodos y brindando una comprensión intuitiva del material, y eso es algo que probablemente sea mejor hacerlo a la antigua. camino.

John R. Strohm
fuente
3

Creo que es una idea brillante y siempre que el lenguaje de computadora que elijas no sea demasiado oscuro, podría ser un éxito. Si elige un idioma que nadie fuera de la comunidad científica usa de todos modos, no ha logrado nada.

biziclop
fuente
Con base en mi experiencia (durante la mayor parte de los últimos 20 años con código escrito por científicos con poca o ninguna experiencia en informática), si está escrito correctamente y se utiliza en los planes de estudio de ciencias y mejora el código que los científicos desarrollan, lo hará ¡mejora mucho, incluso si usa FORTRAN en lugar de Java, C # u otra cosa "más común"!
GreenMatt
@GreenMatt Definitivamente era más como LISP y Matlab en lo que pensaba que los idiomas académicos típicos rara vez se usaban en otros lugares.
biziclop
@biziclop: Estoy de acuerdo con que LISP es oscuro, pero he visto que Matlab usó una cantidad justa.
GreenMatt
LISP, oscuro? Estimado señor ...
Anto
2
@Anto Obscure como raramente se usa fuera de la academia y en un puñado de áreas altamente especializadas.
biziclop
0

¿Vale la pena seguir esta idea?

¡Ciertamente lo creo! Es una idea como esta que me hace desear seguir siendo estudiante. Y a decir verdad, una vez entré en un laboratorio donde los cálculos manuales fueron resueltos por el script de Perl que escribí. También adjunté el código fuente. El TA no sabía mucha programación, pero cuando finalmente lo recuperé, estaba lleno. Y también tomó mucho menos tiempo terminar el laboratorio.

¿Es factible la fusión de estas dos asignaturas en forma de plan de estudios universitario?

¡No veo por qué no!

¿Hay alguna herramienta específica que debería aprovechar o dificultades que debería tener en cuenta?

Fuera de mi cabeza, Weka podría ser una buena herramienta para el análisis de datos. Creo que tiene una API de Java, por lo que debería ser bastante accesible para los desarrolladores de Java, y probablemente podría hacer algunos ejercicios interesantes.

FrustratedWithFormsDesigner
fuente
0
¿Es factible la fusión de estas dos asignaturas en forma de plan de estudios universitario?

Durante mucho tiempo he sentido que una fusión triple, física, matemática aplicada y computación tiene sentido. Quizás incluso agregue un cuarto, gráficos de computadora, al menos lo suficiente como para generar suficientes gráficos para ganar la intuición. En cierto sentido, la computación se ha convertido en la tercera forma de hacer ciencia, después del experimento y la teoría, y para ser realmente bueno en esto, necesitará una base en los tres. También hay trabajos de apoyo profesional para programadores con mentalidad científica, cuyo primer amor es la computadora, y las matemáticas / ciencias son secundarias. Idealmente, habría una manera de satisfacer a los grupos con diferentes intereses primarios, algunos quieren computadoras primero, otros aplicaron matemáticas y aún otros ciencias como su enfoque principal.

Omega Centauri
fuente