Ідея спільної навчальної програми з фізики та інформатики [закритий]


13

Я хочу написати (і почати викладати) підручник з фізики, який передбачає, що його читач - це компетентний комп'ютерний програміст. Нормальні підручники з фізики викладають фізичні формули та задають проблеми, які вирішуються пером, папером та калькулятором. Я хочу надати книгу, в якій підкреслюється обчислювальна фізика, як комп'ютери можуть моделювати фізичні системи та задавати подібні проблеми: написати програму, яка може вирішити набір задач з фізики. Сторонні бібліотеки з відкритим кодом будуть використовуватися для обробки більшості обчислень, і я хочу використовувати мову високого рівня, як Java або C #.

Крім того, що мені подобається працювати над цим, я думаю, що в школах слід запропонувати спільну навчальну програму з фізики та інформатики, і це є частиною більшого порядку денного, щоб зробити це. Я думаю, що студенти фізики (як я) повинні навчитися використовувати та використовувати комп'ютери для вирішення абстрактних задач та наборів проблем. Я думаю, що мови програмування слід вважати корисним засобом для участі в багатьох сферах дослідження.

Цю ідею варто переслідувати? Чи можливим є злиття цих двох предметів у формі навчальної програми для бакалаврату? Чи є якісь конкретні інструменти, якими я повинен користуватися, або підводні камені, про які я повинен знати? Хтось чув про курси коледжу чи іншим способом, який передбачає цю методологію? Чи є якісь книги / підручники там, на зразок тієї, яку я описую (для фізики чи будь-якого іншого предмету)?


3
Вибачте, де аспект інформатики книги? Це звучить як фізика та комп’ютерне програмування, це щось зовсім інше.
Пітер Тейлор

2
У книжці з фізики є багато місця для CS; наприклад, будуючи моделювання класичних або квантових об'єктів, нам, безумовно, доведеться боротися зі станом, паралельністю, алгоритмами, компромісами представництва тощо
ліміст

2
Як це можна зробити з коментаря @Peter Taylor, будь ласка, переконайтеся, що в книзі є хороший CS. Також imo Python був би кращим вибором, ніж Java або (особливо) C #. З мого досвіду (19+ років у науковому середовищі), вчені швидше знають Python, ніж інші, про яких ви згадуєте. Поки я зараз займаюся Java, я не знаю, що ніхто з наук займається C #.
GreenMatt

2
З того, що я розумію, R також може бути хорошим вибором, я чув, що це дуже добре для чисельного аналізу. Якщо ви збираєтеся написати програму, яка імітує деякий експеримент, можливо, ви захочете написати іншу програму для аналізу результатів. Можливо, найкраще дві мови, одна для написання симуляцій, одна для аналізу отриманих даних.
FrustratedWithFormsDesigner

1
Через пару років, щоб придумати цю, ще щось потрібно згадати. Цитуючи різних людей, "Фізика - це емпірична наука". В реальному світі немає можливості замінити ПЕЧАЛЬНЕ щось реальне, виміряти його самостійно і зрозуміти, що математичні моделі відповідають реальним явищам. (В моєму особистому випадку було бачити, як в евакуйованій прозорій трубці падають із такою ж швидкістю, як падають копійки та пір’я. Видуйте мій розум ПОПЕРЕДЖЕННЯ! Виконуючи найменші квадрати, щоб обчислити прискорення через гравітацію, саме тут.)
Джон R. Strohm

Відповіді:


7

З вами - це гарна ідея, і її переслідують: ви бачили структуру та інтерпретацію класичної механіки Суссмана та Мудрості ? Він викладає передову класичну фізику за допомогою схеми:

Я вважаю, що слід зробити серйозний випадок - і, отже, необхідність - капітального ремонту викладання багатьох предметів з обчислювальною основою, оскільки обчислення принципово розширюють наші сили моделювання, не кажучи вже про викладання, навчання та мислення. У книзі " Найоми програмування" Пол Гудак (слава Хаскелл) стверджує саме такий ремонт. Сусман, звичайно, також закликав нові способи використання комп’ютерів для викладання "старих" предметів; SICM - прекрасний приклад того, як він це робить. Я сподіваюсь, що він займеться викладанням квантової механіки далі!


5

Др. Девід Гавенда та Лютер Фроммхолд з UT Austin намагалися зробити це саме так, на початку середини 1970-х, використовуючи загальнодоступну систему Data General Nova. Я думаю, що доктор Гавенда пішов у відставку, і я не маю уявлення, що стало з доктором Фроммольдом. (Дейв Гавенда, безумовно, був одним із хороших хлопців.)

Доктор Гордон Новак, відділ УС Остін КС, працював над іншим кінцем цього. Його дисертація в галузі обчислювальної лінгвістики була програмою, яка могла зрозуміти і вирішити проблеми зі сходів першокурсника в статиці. (Повне розкриття інформації: Гордон - друг давно, давно.)

Ви також можете поглянути на структуру та інтерпретацію класичної механіки Суссмана та Мудрості.

Я не впевнений, що це гарна ідея. Ви можете зробити кілька цікавих демонстрацій, і це полегшує бачення ДЕЯКІ речей, але значна частина елементарної фізики вчить студента методам та інтуїтивно зрозуміє матеріал, і це те, що, мабуть, краще зробити старомодним шлях.


3

Я думаю, що це геніальна ідея, і поки обрана вами комп'ютерна мова не надто незрозуміла, вона може мати успіх. Якщо ви вибрали мову, якою все одно ніхто не користується поза науковою спільнотою, ви нічого не досягли.


Виходячи з мого досвіду (що стосується більшості останніх 20 років з кодом, написаним вченими з малозначущою інформатикою), якщо це написано належним чином і буде використано в навчальних програмах з науки та вдосконалить код, який розробляють вчені, це буде покращити багато, навіть якщо він використовує FORTRAN замість Java, C # або щось інше "більш поширене"!
GreenMatt

@GreenMatt Однозначно я більше нагадував LISP та Matlab, як про типові мови академій, які рідко використовуються в інших місцях.
biziclop

@biziclop: Я погоджуюся, що ж / LISP незрозумілий, але я бачив, що Matlab використовував неабияку суму.
GreenMatt

LISP, незрозумілий? Шановний пане ...
Анто,

2
@Ance Obscure, як рідко використовується поза науковими колами та у багатьох вузькоспеціалізованих областях.
biziclop

0

Цю ідею варто переслідувати?

Я, звичайно, так думаю! Це така ідея, яка змушує мене побажати, що я все ще був недоградником. Правду кажучи, я одного разу звернувся в лабораторію, де ручні розрахунки вирішували за написаним сценарієм Perl. Я також додав вихідний код. TA не знав багато програмування, але коли я, нарешті, отримав його назад, це було повне балів. А також потрібно було менше часу, щоб доопрацювати лабораторію.

Чи можливим є злиття цих двох предметів у формі навчальної програми для бакалаврату?

Я не бачу, чому б і ні!

Чи є якісь конкретні інструменти, якими я повинен користуватися, або підводні камені, про які я повинен знати?

Weka може бути гарним інструментом для аналізу даних у верхній частині моєї голови . Я думаю, що у нього є Java API, тому він повинен бути досить доступним для розробників Java, і це, ймовірно, може зробити кілька цікавих вправ.


0
Чи можливим є злиття цих двох предметів у формі навчальної програми для бакалаврату?

Я давно вважаю, що потрійне злиття, фізика, прикладна математика та обчислення мають сенс. Можливо, навіть додавання четвертої, комп’ютерної графіки - як мінімум, достатньо для створення достатньої кількості графіків для отримання інтуїції. Обчислення в певному сенсі стало третім способом науки після експерименту та теорії, і для того, щоб бути справді хорошим у цьому, вам знадобиться заземлення у всіх трьох. Також є професійна робота з підтримки науково налаштованих програмістів, перше кохання яких - комп'ютер, а математика / наука - другорядна. В ідеалі є спосіб задовольнити групи з різними первинними інтересами, одні хочуть спочатку комп’ютери, інші застосовують математику, а треті інші як основну увагу.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.