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


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.