Idée pour un programme et un manuel conjoint physique-informatique [clôturé]

13

Je veux écrire (et commencer à décrire) un manuel de physique qui suppose que son lecteur est un programmeur informatique compétent. Les manuels de physique normale enseignent des formules physiques et donnent des problèmes qui sont résolus avec un stylo, du papier et une calculatrice. Je veux fournir un livre qui met l'accent sur la physique computationnelle, comment les ordinateurs peuvent modéliser des systèmes physiques et donne des problèmes du genre: écrire un programme qui peut résoudre un ensemble de problèmes de physique. Des bibliothèques open source tierces seraient utilisées pour gérer la plupart des calculs et je souhaite utiliser un langage de haut niveau comme Java ou C #.

Outre le fait que j'apprécierais de travailler sur ce sujet, je pense qu'un programme commun de physique et d'informatique devrait être proposé dans les écoles et cela fait partie d'un programme plus large pour y arriver. Je pense que les étudiants en physique (comme moi) devraient apprendre à utiliser et à exploiter les ordinateurs pour résoudre des problèmes abstraits et des ensembles de problèmes. Je pense que les langages de programmation devraient être considérés comme un moyen utile pour s'engager dans de nombreux domaines de recherche.

Est-ce une idée qui mérite d'être poursuivie? La fusion de ces deux matières sous la forme d'un programme d'études collégiales est-elle possible? Existe-t-il des outils spécifiques dont je devrais tirer parti ou des pièges dont je devrais être conscient? Quelqu'un a-t-il entendu parler de cours collégiaux ou autres qui assument cette méthodologie? Existe-t-il des livres / manuels comme celui que je décris (pour la physique ou tout autre sujet)?

Suis-je
la source
3
Désolé, où est l'aspect informatique du livre? Cela ressemble à de la physique et de la programmation informatique, ce qui est complètement différent.
Peter Taylor
2
Il y a beaucoup de place pour CS dans un livre de physique; Par exemple, lors de la construction de simulations d'objets classiques ou quantiques, nous devrons certainement lutter avec l'état, la concurrence, les algorithmes, les compromis de représentation, etc.
limist
2
Comme on peut le déduire du commentaire de @Peter Taylor, assurez-vous qu'il y a du bon CS dans le livre. De plus, imo Python serait un meilleur choix que Java ou (surtout) C #. D'après mon expérience (plus de 19 ans dans des environnements scientifiques), les scientifiques sont plus susceptibles de connaître Python que les autres que vous mentionnez. Pendant que je fais actuellement Java, je ne connais personne dans les sciences qui fait du C #.
GreenMatt
2
D'après ce que je comprends, R pourrait également être un bon choix, j'ai entendu dire qu'il était très bon pour l'analyse numérique. Si vous allez écrire un programme qui simule une expérience, vous voudrez peut-être écrire un autre programme pour analyser les résultats. Il se pourrait que deux langues soient préférables, une pour écrire des simulations, une pour analyser les données résultantes.
FrustratedWithFormsDesigner
1
Avec quelques années pour réfléchir à celui-ci, il y a quelque chose qui mérite d'être mentionné. Citant diverses personnes, «la physique est une science empirique». Il n'y a pas de substitut pour VOIR quelque chose de réel, dans le monde réel, le mesurer vous-même et réaliser que les modèles mathématiques correspondent aux phénomènes réels. (Dans mon cas personnel, je voyais un sou et une plume tomber à la même vitesse à l'intérieur d'un tube transparent évacué. J'en ai complètement profité! Faire le moins de carrés pour calculer l'accélération due à la gravité était là-haut.)
John R. Strohm

Réponses:

7

La vôtre est une bonne idée en général et se poursuit: avez-vous vu La structure et l'interprétation de la mécanique classique de Sussman et Wisdom ? Il enseigne la physique classique avancée à l'aide de Scheme:

Soit dit en passant, je pense qu'il y a des arguments solides à faire - et donc un besoin - pour réviser l'enseignement de nombreuses matières avec une base informatique, parce que le calcul étend fondamentalement nos pouvoirs de modélisation, sans parler de l'enseignement, de l'apprentissage et de la réflexion. Dans le livre Masterminds of Programming , Paul Hudak (de la renommée de Haskell) plaide exactement pour une telle refonte. Sussman, bien sûr, a également appelé à de nouvelles façons d'utiliser les ordinateurs pour enseigner les "vieilles" matières; SICM en est un bel exemple. J'espère qu'il se chargera ensuite de l'enseignement de la mécanique quantique!

limist
la source
5

Drs. David Gavenda et Luther Frommhold à UT Austin essayaient de faire exactement cela, au début du milieu des années 1970, en utilisant un système Data General Nova en temps partagé. Je pense que le Dr Gavenda a pris sa retraite et je n'ai aucune idée de ce qu'est devenu le Dr Frommhold. (Dave Gavenda était certainement l'un des bons gars.)

Le Dr Gordon Novak, du département UT Austin CS, travaillait à l'autre bout de cela. Sa thèse, en linguistique computationnelle, était un programme qui pouvait comprendre et résoudre des problèmes d'échelle de première année en statique. (Divulgation complète: Gordon est un ami d'il y a très longtemps.)

Vous pouvez également jeter un oeil à Structure et interprétation de la mécanique classique , par Sussman et Wisdom.

Je ne suis pas sûr que ce soit une bonne idée. Vous pouvez faire de jolies démos, et cela rend plus facile de voir QUELQUES choses, mais une grande partie de la physique élémentaire enseigne aux étudiants les méthodes et donne une compréhension intuitive du matériel, et c'est quelque chose qui est probablement mieux fait à l'ancienne façon.

John R. Strohm
la source
3

Je pense que c'est une idée géniale et tant que le langage informatique que vous choisissez n'est pas trop obscur, cela pourrait être un succès. Si vous choisissez une langue que personne en dehors de la communauté scientifique n'utilise de toute façon, vous n'avez rien obtenu.

biziclop
la source
Sur la base de mon expérience (traitant la plupart des 20 dernières années avec du code écrit par des scientifiques ayant peu ou pas de formation en informatique), si cela est écrit correctement et est utilisé dans les programmes de sciences et améliore le code que les scientifiques développent, il s'améliore beaucoup, même s'il utilise FORTRAN au lieu de Java, C #, ou autre chose "plus courant"!
GreenMatt
@GreenMatt C'était définitivement plus comme LISP et Matlab que je pensais comme des langues académiques typiques rarement utilisées ailleurs.
biziclop
@biziclop: D'accord avec le fait que LISP soit obscur, mais j'ai vu Matlab utilisé une bonne quantité.
GreenMatt
LISP, obscur? Cher seigneur ...
Anto
2
@Anto Obscure comme étant rarement utilisé en dehors du milieu universitaire et d'une poignée de domaines hautement spécialisés.
biziclop
0

Est-ce une idée qui mérite d'être poursuivie?

Je le pense certainement! C'est une idée comme celle-ci qui me fait souhaiter d'être encore un étudiant de premier cycle. Et à vrai dire, je me suis rendu une fois dans un laboratoire où les calculs manuels ont été résolus par le script Perl que j'ai écrit. J'ai également joint le code source. Le TA ne connaissait pas beaucoup la programmation mais quand je l'ai finalement récupéré, c'était complet. Et il a fallu beaucoup moins de temps pour terminer le laboratoire aussi.

La fusion de ces deux matières sous la forme d'un programme d'études collégiales est-elle possible?

Je ne vois pas pourquoi pas!

Existe-t-il des outils spécifiques dont je devrais tirer parti ou des pièges dont je devrais être conscient?

Du haut de ma tête, Weka pourrait être un bon outil pour l'analyse des données. Je pense qu'il a une API Java, il devrait donc être assez accessible aux développeurs Java, et cela pourrait probablement faire des exercices intéressants.

FrustratedWithFormsDesigner
la source
0
La fusion de ces deux matières sous la forme d'un programme d'études collégiales est-elle possible?

Je pense depuis longtemps qu'une triple fusion, physique, mathématiques appliquées et calcul a du sens. Peut-être même en ajoutant un quatrième, l'infographie - au moins assez pour générer suffisamment de graphiques pour devenir inutiles. Le calcul est en quelque sorte devenu la troisième façon de faire de la science, après l'expérience et la théorie, et pour être vraiment bon dans ce domaine, vous aurez besoin d'une mise à la terre dans les trois. Il existe également des emplois de soutien professionnel pour, par exemple, des programmeurs à l'esprit scientifique, dont le premier amour est l'ordinateur, et les mathématiques / sciences sont secondaires. Idéalement, il y aurait un moyen de satisfaire des groupes ayant des intérêts primaires différents, certains veulent d'abord les ordinateurs, d'autres appliquent les mathématiques et d'autres encore la science comme objectif principal.

Omega Centauri
la source