Idéia para um currículo conjunto de física-ciência da computação e livro didático [fechado]


13

Quero escrever (e começar a descrever) um livro de física que pressupõe que seu leitor é um programador de computador competente. Os livros normais de física ensinam fórmulas físicas e dão problemas que são resolvidos com caneta, papel e calculadora. Quero fornecer um livro que enfatize a física computacional, como os computadores podem modelar sistemas físicos e dê problemas do tipo: escreva um programa que possa resolver um conjunto de problemas de física. Bibliotecas de código aberto de terceiros seriam usadas para lidar com a maior parte da computação e eu quero usar uma linguagem de alto nível como Java ou C #.

Além do fato de eu gostar de trabalhar nisso, acho que um currículo conjunto de ciências da computação e computação deve ser oferecido nas escolas e isso faz parte de uma agenda maior para que isso aconteça. Acho que estudantes de física (como eu) deveriam aprender a usar e alavancar computadores para resolver problemas abstratos e conjuntos de problemas. Penso que as linguagens de programação devem ser consideradas um meio útil para se envolver em muitas áreas de investigação.

Vale a pena perseguir essa idéia? É possível a fusão dessas duas disciplinas na forma de um currículo de graduação? Existem ferramentas específicas que eu deveria estar aproveitando ou armadilhas que eu deveria estar ciente? Alguém já ouviu falar de cursos universitários ou de outra forma que assumam essa metodologia? Existem livros / livros didáticos como o que estou descrevendo (para física ou qualquer outro assunto)?


3
Desculpe, onde está o aspecto da ciência da computação do livro? Parece física e programação de computadores, que é algo completamente diferente.
Peter Taylor

2
Há muito espaço para CS em um livro de física; por exemplo, ao criar simulações de objetos clássicos ou quânticos, certamente teremos que lutar com estado, concorrência, algoritmos, trade-offs de representação etc.
limitist

2
Como pode ser deduzido do comentário de @Peter Taylor, verifique se há um bom CS no livro. Além disso, imo Python seria uma escolha melhor que Java ou (especialmente) C #. Na minha experiência (mais de 19 anos em ambientes científicos), é mais provável que os cientistas conheçam Python do que os outros que você mencionou. Enquanto atualmente estou desenvolvendo Java, não conheço ninguém nas ciências que faça C #.
GreenMatt

2
Pelo que entendi, R também pode ser uma boa escolha, ouvi dizer que é muito bom para análise numérica. Se você estiver escrevendo um programa que simula alguma experiência, pode escrever outro programa para analisar os resultados. Pode ser que dois idiomas sejam os melhores, um para escrever simulações e outro para analisar os dados resultantes.
FrustratedWithFormsDesigner

1
Com alguns anos para refletir sobre isso, há algo que precisa ser mencionado. Citando várias pessoas, "a física é uma ciência empírica". Não há substituto para VER algo real, no mundo real, medir você mesmo e perceber que os modelos matemáticos estão combinando com os fenômenos reais. (No meu caso pessoal, estava vendo um centavo e uma pena caindo exatamente na mesma velocidade dentro de um tubo transparente evacuado. Explodiu completamente minha mente! Fazer menos quadrados para calcular a aceleração devido à gravidade estava lá em cima.)
John R. Strohm

Respostas:


7

A sua é uma boa ideia em geral e está sendo buscada: você viu A Estrutura e a Interpretação da Mecânica Clássica de Sussman e Wisdom ? Ensina física clássica avançada usando o esquema:

Como um aparte, acho que há um argumento forte a ser feito - e, portanto, uma necessidade - de revisar o ensino de muitas disciplinas com uma base de computação, porque a computação estende fundamentalmente nossos poderes de modelagem, sem mencionar ensino, aprendizagem e pensamento. No livro Masterminds of Programming , Paul Hudak (da fama de Haskell) defende exatamente essa revisão. Sussman, é claro, também pediu novas maneiras de usar computadores para ensinar assuntos "antigos"; O SICM é um belo exemplo dele fazendo isso. Espero que ele comece a ensinar mecânica quântica a seguir!


5

Drs. David Gavenda e Luther Frommhold, da UT Austin, estavam tentando fazer exatamente isso, no início dos anos 70, usando um sistema Data General Nova compartilhado. Acho que o Dr. Gavenda se aposentou e não tenho ideia do que aconteceu com o Dr. Frommhold. (Dave Gavenda foi definitivamente um dos mocinhos.)

O Dr. Gordon Novak, no Departamento de CS da UT Austin, estava trabalhando do outro lado. Sua dissertação, em Linguística Computacional, foi um programa que podia entender e resolver problemas de escada no nível de calouros em estática. (Divulgação completa: Gordon é amigo de muito, muito tempo atrás.)

Você também pode dar uma olhada em Estrutura e interpretação da mecânica clássica , de Sussman e Wisdom.

Não tenho certeza se é uma boa ideia. Você pode fazer algumas demos bonitas, e fica mais fácil ver ALGUMAS coisas, mas grande parte da física elementar está ensinando os métodos aos alunos e oferece uma compreensão intuitiva do material, e isso é algo que provavelmente é melhor feito à moda antiga caminho.


3

Eu acho que é uma ideia brilhante e, desde que a linguagem de computador que você escolher não seja muito obscura, poderá ser um sucesso. Se você escolher um idioma que ninguém fora da comunidade científica use, você não conseguiu nada.


Com base na minha experiência (lidando na maior parte dos últimos 20 anos com código escrito por cientistas com pouco ou nenhum conhecimento em ciência da computação), se ele for escrito corretamente e usado nos currículos científicos e melhorar o código desenvolvido pelos cientistas, será melhorar muito, mesmo que use FORTRAN em vez de Java, C # ou algo mais "mais comum"!
GreenMatt

@GreenMatt Definitivamente, era mais como o LISP e o Matlab que eu pensava como linguagens típicas da academia raramente usadas em outros lugares.
precisa saber é

@biziclop: Concordo que o LISP seja obscuro, mas vi o Matlab usar uma quantidade razoável.
GreenMatt

LISP, obscuro? Caro senhor ...
Anto 07/03

2
@Anto Obscuro, pois raramente é usado fora da academia e em algumas áreas altamente especializadas.
precisa saber é

0

Vale a pena perseguir essa idéia?

Eu certamente acho que sim! É uma ideia como essa que me faz desejar ainda ser um estudante de graduação. E, verdade seja dita, uma vez eu entreguei em um laboratório onde os cálculos manuais foram resolvidos pelo script Perl que escrevi. Anexei o código fonte também. O TA não sabia muita programação, mas quando finalmente o recuperei, já estava cheio. E levou muito menos tempo para terminar o laboratório também.

É possível a fusão dessas duas disciplinas na forma de um currículo de graduação?

Não vejo por que não!

Existem ferramentas específicas que eu deveria estar aproveitando ou armadilhas que eu deveria estar ciente?

No topo da minha cabeça, Weka pode ser uma boa ferramenta para análise de dados. Eu acho que ele tem uma API Java, por isso deve ser bastante acessível aos desenvolvedores Java, e provavelmente poderia fazer alguns exercícios interessantes.


0
É possível a fusão dessas duas disciplinas na forma de um currículo de graduação?

Há muito que sinto que uma fusão tripla, física, matemática aplicada e computação faz sentido. Talvez até adicionando um quarto gráfico de computador - pelo menos o suficiente para gerar gráficos suficientes para obter inutição. Em certo sentido, a computação se tornou a terceira maneira de se fazer ciência, depois de experimentos e teorias, e para ser realmente bom nisso, você precisará de uma base nos três. Também existem trabalhos de suporte profissional para programadores com idéias científicas, cujo primeiro amor é o computador e a matemática / ciências é secundária. Idealmente, haveria uma maneira de satisfazer grupos com interesses primários diferentes, alguns querem computadores primeiro, outros aplicam matemática e outros ainda ciência como foco principal.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.