물리-컴퓨터 과학 공동 교과 과정 및 교과서에 대한 아이디어 [닫기]


13

나는 독자가 유능한 컴퓨터 프로그래머라고 생각하는 물리 교과서를 작성하고 시작하고 싶다. 일반적인 물리 교과서는 실제 공식을 가르치고 펜, 종이 및 계산기로 해결되는 문제를 제공합니다. 해결할 수있는 프로그램 쓰기 : 나는 컴퓨터는 물리적 시스템을 모델링하고 종류의 문제를 제공 할 수있는 방법, 전산 물리학을 강조하는 책을 제공 할 세트 물리학의 문제입니다. 타사 오픈 소스 라이브러리는 대부분의 계산을 처리하는 데 사용되며 Java 또는 C #과 같은 고급 언어를 사용하고 싶습니다.

제가이 일을 즐기고 있다는 사실 외에도, 물리-컴퓨터 과학 공동 교과 과정 학교에서 제공 되어야 한다고 생각합니다 . 이것은 이것을 실현하기위한 더 큰 의제의 일부입니다. 물리학 학생 (나 같은)은 컴퓨터를 사용하고 활용하여 추상적 인 문제와 일련의 문제를 해결하는 방법을 배워야한다고 생각합니다. 프로그래밍 언어는 여러 분야의 질문에 유용한 매체라고 생각합니다.

이것은 추구 할만한 가치가있는 아이디어입니까? 학부 과정의 커리큘럼 형태로이 두 과목을 합병 할 수 있습니까? 내가 활용할 특정 도구 나 함정이 있습니까? 대학 과정에 대해 들어 본 적이 있거나 다른 방법으로이 방법을 사용하는 사람이 있습니까? 내가 설명하는 것과 같은 책이나 교과서가 있습니까 (물리학 또는 다른 주제)?


3
죄송합니다.이 책의 컴퓨터 과학은 어디에 있습니까? 물리학과 컴퓨터 프로그래밍처럼 들리는데, 완전히 다른 것입니다.
피터 테일러

2
물리학 책에는 CS를위한 충분한 공간이 있습니다. 예를 들어, 고전 또는 양자 물체의 시뮬레이션을 구축 할 때, 우리는 상태, 동시성, 알고리즘, 표현의 절충 등과 씨름해야합니다.
limist

2
@Peter Taylor의 의견에서 유추 할 수 있듯이이 책에 좋은 CS가 있는지 확인하십시오. 또한 imo Python은 Java 또는 (특히) C #보다 더 나은 선택입니다. 내 경험 (과학 환경에서 19 년 이상)에서 과학자들은 언급 한 다른 사람들보다 Python을 알고있을 가능성이 큽니다. 현재 Java를 수행하는 동안 과학 분야에서 C #을 수행하는 사람은 없습니다.
GreenMatt

2
내가 이해 한 바에 따르면, R도 좋은 선택 일 수 있습니다. 수치 분석에 매우 좋다고 들었습니다. 실험을 시뮬레이트하는 프로그램을 작성하려는 경우 다른 프로그램을 작성하여 결과를 분석 할 수 있습니다. 시뮬레이션 작성과 결과 데이터 분석을위한 두 가지 언어가 가장 적합 할 수 있습니다.
FrustratedWithFormsDesigner

1
이 문제를 해결하는 데 몇 년이 걸리면서 언급해야 할 것이 있습니다. "물리학은 경험적인 과학입니다." 실제 세계에서 무언가를보고, 직접 측정하고, 수학적 모델이 실제 현상과 일치한다는 것을 깨닫는 것의 대안은 없습니다. (개인의 경우에는 피난 된 투명 튜브 내부에서 페니와 깃털이 같은 속도로 떨어지는 것을보고있었습니다. 내 마음을 완전히 불었습니다! 중력으로 인해 가속도를 계산하기 위해 최소 제곱을하는 것이 바로 여기에있었습니다.)
John R. Strohm

답변:


7

당신은 일반적으로 좋은 생각이고 추구되고 있습니다 : Sussman과 Wisdom의 고전 역학의 구조와 해석을 보셨습니까 ? Scheme을 사용하여 고급 물리학을 가르칩니다.

따로, 컴퓨팅 기반으로 많은 주제를 가르치는 데 필요한 강력한 사례가 있어야한다고 생각합니다. 왜냐하면 계산은 교육, 학습 및 사고는 말할 것도없고 모델링의 힘을 근본적으로 확장하기 때문입니다. Masterminds of Programming 이라는 책에서 , Paul Hudak (Haskell 명성의)은 그러한 점검을 정확하게 주장합니다. 물론 Sussman은 "오래된"과목을 가르치기 위해 컴퓨터를 사용하는 새로운 방법을 요구했다. SICM은 그에게 아름다운 예입니다. 다음에 양자 역학을 가르치기를 바랍니다!


5

닥터 UT Austin의 David Gavenda와 Luther Frommhold는 1970 년대 초반에 시분할 된 Data General Nova 시스템을 사용하여 정확한 작업을 수행하려고했습니다. 나는 Gavenda 박사가 은퇴했다고 생각하며, 나는 Frommhold 박사가 어떻게되었는지 전혀 모른다. (Dave Gavenda는 확실히 Good Guys 중 하나였습니다.)

UT Austin CS Department의 Gordon Novak 박사는 그 반대편에서 일하고있었습니다. 전산 언어학에서 그의 논문은 정적에서 신입생 수준의 사다리 문제를 이해하고 해결할 수있는 프로그램이었습니다. (전체 공개 : Gordon은 오래 전부터 온 친구입니다.)

Sussman과 Wisdom 의 Classical Mechanics의 구조와 해석을 살펴볼 수도 있습니다 .

그래도 이것이 좋은 생각인지는 잘 모르겠습니다. 약간의 데모를 할 수 있고, 약간의 일을 쉽게 볼 수 있지만, 초등 물리학의 많은 부분은 학생들에게 방법을 가르치고, 재료를 직관적으로 이해하는 것입니다. 방법.


3

나는 그것이 훌륭한 아이디어라고 생각하고 선택한 컴퓨터 언어가 너무 모호하지 않으면 성공할 수 있습니다. 과학계 밖에서 아무도 사용하지 않는 언어를 선택하면 아무 것도 달성하지 못합니다.


내 경험 (컴퓨터 과학 배경이 거의 없거나 전혀없는 과학자가 작성한 코드로 지난 20 년 동안 대부분을 다루는 경우)에 따라 올바르게 작성되어 과학 커리큘럼에 사용되고 과학자가 개발하는 코드가 향상되면 Java, C # 또는 "보다 일반적인"대신 FORTRAN을 사용하더라도 많은 것을 향상시킵니다!
GreenMatt

@GreenMatt 확실히 다른 학교에서는 거의 사용되지 않는 전형적인 학계 언어로 생각했던 것은 LISP와 Matlab과 비슷했습니다.
biziclop

@biziclop : LISP가 불분명하다고 동의하지만 Matlab이 상당한 금액을 사용하는 것을 보았습니다.
GreenMatt

LISP, 불분명? 친애하는 주님 ...
Anto

2
@Anto 학계와 소수의 고도로 전문화 된 지역 외부에서는 거의 사용되지 않는 것처럼 모호합니다.
biziclop

0

이것은 추구 할만한 가치가있는 아이디어입니까?

확실히 그렇게 생각합니다! 내가 아직도 저학년 이었으면 좋겠다는 생각이 듭니다. 사실 저는 한 번 실험실에서 내가 쓴 Perl 스크립트에 의해 수동 계산이 해결 된 곳을 찾았습니다. 소스 코드도 첨부했습니다. TA는 많은 프로그래밍을 알지 못했지만 마침내 그것을 다시 얻었을 때, 그것은 풀 마크였습니다. 실험실을 완성하는 데 시간도 덜 걸렸습니다.

학부 과정의 커리큘럼 형태로이 두 과목을 합병 할 수 있습니까?

왜 안되는지 모르겠어요!

내가 활용할 특정 도구 나 함정이 있습니까?

머릿속에서 Weka 는 데이터 분석을위한 훌륭한 도구 일 수 있습니다. Java API가 있으므로 Java 개발자가 액세스 할 수 있어야하며 재미있는 연습을 할 수 있습니다.


0
학부 과정의 커리큘럼 형태로이 두 과목을 합병 할 수 있습니까?

저는 3 배 합병, 물리학, 응용 수학 및 계산이 의미가 있다고 느꼈습니다. 아마도 네 번째 컴퓨터 그래픽을 추가하는 것조차도-최소한의 친밀감을 얻기에 충분한 그래프를 생성하기에 충분합니다. 어떤 의미에서 계산은 실험과 이론 후에 과학을 수행하는 세 번째 방법이되었으며, 실제로 그것을 잘 활용하려면 세 가지 모두의 기초가 필요합니다. 또한 과학적으로 생각하는 프로그래머를위한 전문적인 지원 직업이 있으며, 첫 번째 사랑은 컴퓨터이고 수학 / 과학은 부차적입니다. 이상적으로 주요 관심사가 다른 그룹을 만족시킬 수있는 방법이 있고, 어떤 사람들은 컴퓨터를 먼저 원하고, 다른 사람들은 수학을 적용하고, 다른 사람들은 과학을 주요 초점으로 삼을 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.