Включает ли вычислительная наука программирование?


16

Я читал о вычислительной науке в Википедии, но мое понимание не очень ясно.

Включает ли вычислительная наука программирование? Насколько отличается вычислительная наука от вычислительной _ ____ , где пробелом может быть любая дисциплина (материаловедение, инженерия, химия, биология и т. Д.)? (Я буду заниматься вычислительной материаловедением.)


5
Я рекомендую вам посмотреть здесь: scicomp.stackexchange.com/questions/1148/… . Суть вычислительной науки в том, что она применима к большинству физических наук в той или иной форме (возможно, это не самый эффективный способ решения проблемы, но это совсем другой вопрос).
— Годрик Провидец

Многие вещи трудно доказать математически. Это хорошо, когда вы можете программировать и испытывать их. Конечно, вычислительная наука не легка, но с большой работой, вы должны быть в состоянии сделать это.
— vanCompute

1
Добро пожаловать в Scicomp, Шерил. Я думаю, что вы задали несколько вопросов здесь. Пожалуйста, отредактируйте то, что вы написали, чтобы это был только один вопрос. Если вы хотите, вы можете отправить другие вопросы отдельно, по одному.
— Дэвид Кетчесон

Я оставил этот вопрос на некоторое время, потому что Вольфганг так хорошо ответил на него, но на данный момент его нужно закрыть и отредактировать перед повторным открытием, чтобы дать этому вопросу больше внимания.
— Джефф Оксберри

Ответы:


14

Ссылка, указанная Годриком под вопросом, совершенно правильная. Это дает хороший обзор многих талантов, которые должен иметь ученый.

В общем, разница между тем, что является вычислительным X (X = математик, инженер-строитель, материаловед) и теоретическим X или экспериментальным X, состоит в том, что первые решают проблемы с компьютерами, а не экспериментом или теорией. Очевидно, что способность использовать компьютеры - в частности, для их программирования - является важной частью этого, равно как и навыки и хорошее понимание самого X.

Вычислительные ученые - это люди, которые не являются частью сообщества X, но часто имеют опыт работы в области математики или информатики. Я бы посчитал себя одним. Я бы сказал, что большинство из них не так сильно интересуются каким-либо конкретным приложением (то есть X) само по себе, а скорее рассматривают решение проблем в области X как способ разработки и применения новых численных и вычислительных методов, т. Е. В качестве тестовых примеров. для методов, которые более широко применимы. Многие специалисты по вычислительной технике - отличные программисты и, что еще важнее, разработчики программного обеспечения и инженеры. Быть хорошим в этом, безусловно, важная часть описания работы ученого в области вычислительной техники.


1
Очень хорошо сказано.
— Джек Полсон,

Что такое вычислительный математик?
— Milind R

Кто-то, чья цель заключается в разработке математических методов для вычислительных задач. Например, для разработки методов конечных элементов, линейных или нелинейных решателей и т. Д.
— Вольфганг Бангерт

1
хорошо, за исключением того, что компьютеры могут проводить «вычислительные эксперименты», например, в исследованиях математики или компьютерной графики. (другой вид / тип эксперимента.) также называемый «эмпирические исследования» в этих областях, возможно, не лучший термин, но тот, который используется. это новая / большая развивающаяся парадигма. esp с "большими данными" и т.д
— vzn

6

Грубо говоря, вы не будете хорошим профессионалом, если заявите, что занимаетесь «вычислительной наукой», но не знаете программирования.

Чтобы сделать расчет, вам нужен инструмент. И компьютер такой инструмент. Программирование - единственный способ научить компьютер, как делать что-то. Поэтому программирование является неотъемлемой частью вычислительной науки. Это не значит, что это единственная его часть. Теория имеет свое священное место. Если вы очень хорошо разбираетесь в теории, вы будете лучше проектировать, а главное правильные алгоритмы.

Насколько я понимаю, вы можете выжить, даже не зная программирования: теоретически разрабатывая алгоритмы. Но тогда вам нужно нанять кого-то, кто знает программирование, чтобы проверить, работают ли ваши алгоритмы в режиме реального времени или нет.

Кроме того, современный мир знает, что людям, которые знают программирование, платят больше. ПО МОЕМУ МНЕНИЮ!


3

Мне не известны версии из определения или описания вычислительной науки из учебников, но вот мои два цента, основанные на моем опыте:

Вычислительная наука включает в себя работу с вычислительными процессами. Одним из важнейших процессов является программирование. Так что да, это связано с программированием. Другое дело, является ли ученый, пишущий программу, автором программы или нет, но она, скорее всего, будет пользователем программ, написанных для конкретных научных областей. И все более вероятно, что ей придется писать «клеевой» код, чтобы сделать вещи, отвечающие ее потребностям. Надеюсь, что это отвечает на ваш первый вопрос.

Я не знаком с вычислительной материальной наукой, но предполагаю, что это одна из отраслей науки, которая имеет вычислительные потребности, например, для моделирования энергии и взаимодействия между элементами и т. Д. Итак, да, она будет включать те же общие принципы вычислительной науки, что и другие научные области: алгоритмы, процедуры, клеевые коды, манипулирование файлами, настройка, визуализация и т. д. Надеюсь, что это близко к ответу на ваш второй вопрос.

Ваш компьютерный опыт определенно должен помочь. Входит ли это в сферу или нет, это немного субъективно. Однако, я бы сказал, это должно быть очень в вашей зоне комфорта, учитывая предметы, которые вы изучали.


Что ж. На самом деле, что касается таких предметов, как инженерная физика, химия - я не настолько научен. В последние годы мое основное внимание уделяется компьютерным наукам - программированию, чтобы быть конкретным. Если кто-то спросит меня о квантовой физике и всё такое, я не так хорош.
— Шерил

Если этот проект в основном о «программировании» с хорошим пониманием физики; Я думаю, я справлюсь. (Кроме того, механика - моя любимая часть физики, где у меня есть прочная основа.)
— Шерил

5
В учебнике нет компьютерных определений, но вот что говорит Министерство энергетики США. Вычислительная наука - это междисциплинарный подход, использующий алгоритмы, математику и компьютеры для анализа и решения научных и инженерных задач.
— Арон Ахмадиа

3

Вот другой вид ответа, но, на мой взгляд, довольно интересный.

Я посмотрел на всех пользователей этой беты с более чем 1000 репутацией. Я думаю, что эти люди могут рассматриваться как занимающиеся вычислительной наукой. Для каждого из них я посмотрел профиль и выяснил, есть ли у них учетная запись в StackOverflow, что можно рассматривать как признак интереса к программированию. Вот результаты:

На 25 users having more than 1000 reputation:

  • 4 (16%)не имеют учетной записи.
  • 5 (20%)только что открыли счет, не набирая репутацию.
  • 16 (64%)способствовало StackOverflow.

Так что, по крайней мере, 84%они заинтересованы в программировании. На мой взгляд, это показывает, что программирование является неотъемлемой частью научной работы :-) Это просто подтверждение других ответов!

Еще один интересный факт (который я не дал количественной оценки) заключается в том, что все эти пользователи имеют учетные записи по многим темам, а не только по вычислительной технике и StackOverflow! Я думаю, что это только идет в направлении ответа Вольфганга Бангерта.


2

Исходя из моего личного опыта, я знаю весьма превосходных ученых в области вычислительной техники, которые практически не имеют реальных знаний или опыта в области программирования. С другой стороны, большинство известных мне вычислительных ученых знают, как программировать компьютер.

Нет окончательного ответа на эту часть вашего вопроса. Вопрос, который вы должны задать себе: есть ли у меня доступное программное обеспечение, которое позволит мне решить мою проблему, или часть моей работы будет состоять в том, чтобы писать программное обеспечение, которое может сначала решить проблему, а затем использовать его для решения актуальная проблема. Ответ на этот вопрос определит, нужно ли вам знать программирование или нет.


1

Интересный вопрос, я изучаю вычислительное материаловедение и аспирантуру по физике. Пока что объем программирования, который я сделал, минимален, но это говорит само за себя. Часто конкретные цели вашего проекта будут определять точное количество кода, которое вы будете делать. Если это взгляд на конкретное соединение с использованием стандартных методов и программного обеспечения, в худшем случае вы в конечном итоге будете писать скрипты Bash / Python для автоматизации работы вокруг кода, который вы используете. Я придерживаюсь мнения, что вы будете заниматься программированием, возможно, для реализации того, что вы хотите проверить, поэтому короткий ответ: не могу говорить за вычислительную науку, но за вычислительную материальную науку, объем программирования, если таковой будет, будет определяться ваш проект.


1

Я собираюсь ответить на вторую часть. Хотя может быть много совпадений между общим ученым и специализированным вычислительным X в зависимости от интересов человека, основной задачей ученого является внедрение новых вычислительных методов для изучения проблемы в области предметной области. Новым в вычислительной технике может быть новое вычисление, которое было невозможно из-за отсутствия соответствующих вычислительных инструментов или более быстрого способа. С другой стороны, вычислительный X будет в основном заинтересован в использовании этих новых инструментов для изучения новых задач. Таким образом, в целом, специалист по вычислительной технике в первую очередь сформулирует формулировку проблемы, объяснит общие рамки для ее решения, наложит некоторые ограничения на применимость инструмента (скорость / ошибка и т. Д.) И решит проблему в качестве доказательства концепции. Что касается первой части,

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.