Idea per un curriculum e un libro di testo congiunti di fisica-informatica [chiuso]


13

Voglio scrivere (e iniziare a delineare) un libro di testo di fisica che presume che il suo lettore sia un programmatore di computer competente. I normali libri di testo di fisica insegnano le formule fisiche e danno problemi risolti con penna, carta e calcolatrice. Voglio fornire un libro che enfatizzi la fisica computazionale, come i computer possono modellare i sistemi fisici e dare problemi del genere: scrivere un programma in grado di risolvere una serie di problemi di fisica. Le librerie open source di terze parti verrebbero utilizzate per gestire la maggior parte del calcolo e desidero utilizzare un linguaggio di alto livello come Java o C #.

Oltre al fatto che mi piacerebbe lavorare su questo, penso che nelle scuole dovrebbe essere offerto un curriculum congiunto di fisica-informatica e questo fa parte di un programma più ampio per far sì che ciò accada. Penso che gli studenti di fisica (come me) dovrebbero imparare come usare e sfruttare i computer per risolvere problemi astratti e serie di problemi. Penso che i linguaggi di programmazione debbano essere considerati un mezzo utile per impegnarsi in molte aree di indagine.

È un'idea che vale la pena perseguire? È possibile la fusione di queste due materie sotto forma di curriculum universitario? Esistono strumenti specifici che dovrei sfruttare o insidie ​​di cui dovrei essere a conoscenza? Qualcuno ha sentito parlare di corsi universitari o altrimenti che assumono questa metodologia? Ci sono libri / libri di testo là fuori come quello che sto descrivendo (per la fisica o qualsiasi altra materia)?


3
Scusa, dov'è l'aspetto informatico del libro? Sembra fisica e programmazione per computer, che è qualcosa di completamente diverso.
Peter Taylor,

2
C'è molto spazio per CS in un libro di fisica; ad es. quando si creano simulazioni di oggetti classici o quantistici, dovremo certamente lottare con lo stato, la concorrenza, gli algoritmi, i compromessi della rappresentazione, ecc.
limist

2
Come si può dedurre dal commento di @Peter Taylor, assicurati che ci sia del buon CS nel libro. Inoltre, imo Python sarebbe una scelta migliore di Java o (soprattutto) C #. Nella mia esperienza (oltre 19 anni in ambienti scientifici), è più probabile che gli scienziati conoscano Python rispetto agli altri di cui parli. Mentre attualmente sto facendo Java, non conosco nessuno nelle scienze che fa C #.
GreenMatt

2
Da quello che ho capito, R potrebbe anche essere una buona scelta, ho sentito che è molto buono per l'analisi numerica. Se hai intenzione di scrivere un programma che simula qualche esperimento, potresti voler scrivere un altro programma per analizzare i risultati. È possibile che due lingue siano le migliori, una per la scrittura di simulazioni, una per l'analisi dei dati risultanti.
FrustratedWithFormsDesigner

1
Con un paio d'anni su cui riflettere, c'è qualcosa che deve essere menzionato. Citando varie persone, "La fisica è una scienza empirica". Non c'è sostituto per VEDERE qualcosa di reale, nel mondo reale, misurarlo da soli e rendersi conto che i modelli matematici corrispondono ai fenomeni reali. (Nel mio caso personale, stava vedendo un penny e una piuma cadere esattamente alla stessa velocità all'interno di un tubo trasparente evacuato. Mi ha fatto esplodere COMPLETAMENTE! Fare i minimi quadrati per calcolare l'accelerazione dovuta alla gravità era proprio lì.)
John R. Strohm,

Risposte:


7

La tua è una buona idea in generale e viene perseguita: hai visto la struttura e l'interpretazione della meccanica classica di Sussman e Wisdom ? Insegna fisica classica avanzata usando Scheme:

A parte questo, penso che ci sia un caso forte da fare - e quindi una necessità - per rivedere l'insegnamento di molte materie con una base informatica, perché il calcolo estende fondamentalmente i nostri poteri di modellizzazione, per non parlare dell'insegnamento, dell'apprendimento e del pensiero. Nel libro Masterminds of Programming , Paul Hudak (di fama Haskell) sostiene esattamente una simile revisione. Sussman, ovviamente, ha anche chiesto nuovi modi di usare i computer per insegnare materie "vecchie"; SICM è un bellissimo esempio di come lo fa. Spero che inizi a insegnare la meccanica quantistica dopo!


5

Drs. David Gavenda e Luther Frommhold di UT Austin stavano provando a fare esattamente quella cosa, all'inizio della metà degli anni '70, usando un sistema Data General in multiproprietà. Penso che il Dr. Gavenda si sia ritirato e non ho idea di cosa sia successo al Dr. Frommhold. (Dave Gavenda era sicuramente uno dei bravi ragazzi.)

Il dottor Gordon Novak, nel dipartimento di UT Austin CS, stava lavorando dall'altra parte. La sua tesi di laurea, in Linguistica computazionale, era un programma in grado di comprendere e risolvere i problemi ladder a livello di matricola in statica. (Full Disclosure: Gordon è un amico da molto, molto tempo fa.)

Potresti anche dare un'occhiata a Struttura e interpretazione della meccanica classica , di Sussman e Wisdom.

Non sono sicuro che questa sia una buona idea, comunque. Puoi fare delle belle dimostrazioni, e rende più semplice vedere ALCUNE cose, ma gran parte della fisica elementare sta insegnando allo studente i metodi e dando una comprensione intuitiva del materiale, ed è qualcosa che probabilmente è meglio fare alla vecchia maniera modo.


3

Penso che sia un'idea geniale e fintanto che il linguaggio che sceglierai non sarà troppo oscuro, potrebbe essere un successo. Se scegli una lingua che nessuno al di fuori della comunità scientifica usa comunque, non hai ottenuto nulla.


Sulla base della mia esperienza (trattando per la maggior parte degli ultimi 20 anni con il codice scritto da scienziati con conoscenze informatiche scarse o nulle), se questo è scritto correttamente e viene utilizzato nei curricula scientifici e migliora il codice sviluppato dagli scienziati, lo farà migliorare molto, anche se utilizza FORTRAN invece di Java, C # o qualcos'altro "più comune"!
GreenMatt

@GreenMatt Sicuramente era più simile a LISP e Matlab che stavo pensando come lingue accademiche tipiche raramente utilizzate altrove.
biziclop

@biziclop: sono d'accordo sul fatto che LISP sia oscuro, ma ho visto che Matlab ne ha usato una discreta quantità.
GreenMatt

LISP, oscuro? Caro signore ...
Anto

2
@Anto Obscure come raramente utilizzato al di fuori del mondo accademico e una manciata di aree altamente specializzate.
biziclop

0

È un'idea che vale la pena perseguire?

Lo penso certamente! È un'idea come questa che mi fa desiderare di essere ancora studente. A dire il vero, una volta ho fatto un giro in un laboratorio in cui i calcoli manuali sono stati risolti dallo script Perl che ho scritto. Ho allegato anche il codice sorgente. L'AT non conosceva molto la programmazione, ma quando finalmente l'ho riavuta, era il massimo dei voti. E ci è voluto molto meno tempo per terminare anche il laboratorio.

È possibile la fusione di queste due materie sotto forma di curriculum universitario?

Non vedo perché no!

Esistono strumenti specifici che dovrei sfruttare o insidie ​​di cui dovrei essere a conoscenza?

In cima alla mia testa, Weka potrebbe essere un buon strumento per l'analisi dei dati. Penso che abbia un'API Java, quindi dovrebbe essere abbastanza accessibile agli sviluppatori Java e probabilmente potrebbe portare ad alcuni esercizi interessanti.


0
È possibile la fusione di queste due materie sotto forma di curriculum universitario?

Ho a lungo sentito che una tripla fusione, fisica, matematica applicata e calcolo ha senso. Forse anche l'aggiunta di un quarto computer grafica, almeno quanto basta per generare abbastanza grafici per guadagnare inutilità. Il calcolo è in qualche modo diventato il terzo modo di fare scienza, dopo esperimento e teoria, e per essere veramente bravo in questo, avrai bisogno di una base su tutti e tre. Inoltre ci sono lavori di supporto professionale per i programmatori di mentalità scientifica, il cui primo amore è il computer, e la matematica / scienza è secondaria. Idealmente, ci sarebbe un modo per soddisfare gruppi con interessi primari diversi, alcuni vogliono prima i computer, altri hanno applicato la matematica e altri ancora la scienza come obiettivo principale.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.