Czy nauka obliczeniowa obejmuje programowanie?


16

Czytałem o naukach obliczeniowych na Wikipedii, ale moje rozumienie nie jest zbyt jasne.

Czy nauka obliczeniowa wymaga programowania? Czym różni się nauka obliczeniowa od obliczeniowej _ ____ , gdzie ślepą próbą może być dowolna dyscyplina (materiałoznawstwo, inżynieria, chemia, biologia itd.)? (Będę zajmował się materiałoznawstwem).


5
Polecam zajrzeć tutaj: scicomp.stackexchange.com/questions/1148/… . Problem w naukach obliczeniowych polega na tym, że w pewnej formie ma on zastosowanie do większości nauk fizycznych (może nie być to najbardziej skuteczny sposób radzenia sobie z problemem, ale to zupełnie inne pytanie).
Godric Seer

Wiele rzeczy jest trudnych do udowodnienia matematycznego. Dobrze jest, gdy możesz programować i wypróbowywać różne rzeczy. Na pewno nauka obliczeniowa nie jest łatwa, ale przy dużym nakładzie pracy powinieneś być w stanie to zrobić.
vanCompute,

1
Witamy w scicomp, Sheryl. Myślę, że zadałeś tutaj kilka pytań. Zmodyfikuj to, co napisałeś, aby było to tylko jedno pytanie. Jeśli chcesz, możesz przesłać pozostałe pytania osobno, po jednym na raz.
David Ketcheson

Odpuściłem to pytanie na chwilę, ponieważ Wolfgang odpowiedział na nie tak dobrze, ale w tym momencie należy je zamknąć i edytować przed ponownym otwarciem, aby skupić się na pytaniu.
Geoff Oxberry

Odpowiedzi:


14

Link Godric wskazany pod pytaniem jest dokładnie właściwy. Daje dobry przegląd wielu talentów, jakie musi posiadać naukowiec.

Ogólnie rzecz biorąc, różnica między byciem obliczeniowym X (X = matematyk, inżynier budownictwa, materiałoznawca) a byciem teoretycznym X lub eksperymentalnym X polega na tym, że ci pierwsi zajmują się problemami z komputerami, a nie eksperymentami czy teorią. Oczywiście, umiejętność korzystania z komputerów - w szczególności do ich programowania - jest ważną częścią tego, podobnie jak umiejętności i dobre zrozumienie samego X.

Obliczeni naukowcy to ludzie, którzy nie są bezpośrednio członkami społeczności X, ale często mają doświadczenie w matematyce lub informatyce. Uważałbym się za jednego. Powiedziałbym, że większość z nich nie jest tak bardzo zainteresowana jakąkolwiek konkretną aplikacją (tj. X) sama w sobie, ale raczej rozważa rozwiązanie problemów w polu X jako sposób na opracowanie i zastosowanie nowych metod numerycznych i obliczeniowych - tj. Jako przypadków testowych dla metod, które mają szersze zastosowanie. Wielu naukowców zajmujących się obliczeniami to znakomici programiści, a może przede wszystkim projektanci i inżynierowie oprogramowania. Bycie w tym dobrym jest z pewnością ważną częścią opisu pracy naukowca obliczeniowego.


1
Bardzo dobrze powiedziane.
Jack Poulson

Co to jest matematyk obliczeniowy?
Milind R

Ktoś, kogo celem jest opracowanie metod matematycznych dla problemów obliczeniowych. Na przykład, aby opracować metody elementów skończonych,
solwery

1
fajnie, z wyjątkiem komputerów, które mogą przeprowadzać „eksperymenty obliczeniowe”, np. w badaniach matematycznych lub cs. (inny rodzaj / rodzaj eksperymentu.) zwany także „badaniami empirycznymi” w tych dziedzinach, może nie jest to najlepszy termin, ale ten, który jest używany. to nowy / duży wyłaniający się paradygmat. szczególnie z „big data” itd.
dniu

6

Mówiąc wprost, nie będziesz dobrym profesjonalistą, jeśli będziesz twierdzić, że zajmuje się „nauką obliczeniową”, ale nie znasz programowania.

Aby wykonać obliczenia, potrzebujesz narzędzia. A komputer jest takim narzędziem. Programowanie jest jedynym sposobem na nauczenie komputera, jak coś zrobić. Dlatego programowanie jest istotną częścią nauki obliczeniowej. Nie oznacza to, że jest to jedyna jego część. Teoria ma swoje święte miejsce. Jeśli jesteś bardzo dobry w teorii, będziesz projektować lepiej, a co ważniejsze poprawne algorytmy.

O ile mi wiadomo, możesz przetrwać, nie znając również programowania: projektując algorytmy teoretycznie. Ale musisz zatrudnić kogoś innego, kto zna programowanie, aby sprawdzić, czy twoje algorytmy działają w czasie rzeczywistym, czy nie.

Poza tym faktem współczesnego świata jest to, że ludzie znający programowanie są lepiej opłacani. MOIM ZDANIEM!


3

Nie znam tekstowych wersji definicji lub opisu nauk obliczeniowych, ale oto moje dwa centy oparte na moim doświadczeniu:

Nauki obliczeniowe obejmują radzenie sobie z procesami obliczeniowymi. Jednym z kluczowych procesów jest programowanie. Tak, to wymaga programowania. To inna kwestia, czy naukowiec obliczeniowy jest pisarzem programu, czy nie, ale najprawdopodobniej będzie użytkownikiem programów napisanych dla określonych dziedzin naukowych. I jest coraz bardziej prawdopodobne, że będzie musiała napisać kod „przyklejający”, aby dostosować rzeczy do swoich potrzeb. Mam nadzieję, że to odpowiada na twoje pierwsze pytanie.

Nie znam się na materiałoznawstwie obliczeniowym, ale zakładam, że jest to jedna dziedzina nauki, która ma potrzeby obliczeniowe, np. Do symulacji energii i interakcji między elementami itp. Tak, będzie obejmować takie same ogólne zasady nauki obliczeniowej, jak inne dziedziny naukowe: algorytmy, procedury, kody kleju, manipulowanie plikami, konfiguracja, wizualizacja i tak dalej. Mam nadzieję, że to już blisko do udzielenia odpowiedzi na drugie pytanie.

Twoje zaplecze informatyczne powinno zdecydowanie pomóc. To, czy jest to objęte, czy nie, jest nieco subiektywne. Powiedziałbym jednak, że ze względu na studiowane przedmioty powinno to być bardzo w twojej strefie komfortu.


Dobrze. Właściwie, jeśli chodzi o takie przedmioty jak fizyka inżynierska, chemia - nie jestem tak naukowy. W ostatnich latach moim głównym celem jest informatyka - konkretnie programowanie. Jeśli ktoś zapyta mnie o fizykę kwantową i tak dalej, nie jestem tak dobry.
Sheryl

Jeśli ten projekt dotyczy głównie „programowania” z dobrym wyczuciem fizyki; Chyba sobie poradzę. (Poza tym mechanika jest moją ulubioną częścią fizyki, na której mam silne podstawy.)
Sheryl

5
Nie istnieje podręcznikowa definicja nauk obliczeniowych, ale oto, co ma do powiedzenia Departament Energii Stanów Zjednoczonych. Informatyka jest interdyscyplinarnym podejściem, które wykorzystuje algorytmy, matematykę i komputery do analizowania i rozwiązywania problemów naukowych i inżynieryjnych.
Aron Ahmadia

3

Oto inna odpowiedź, ale moim zdaniem dość interesująca.

Przyjrzałem się wszystkim użytkownikom tej wersji beta o ponad 1000 reputacjach. Myślę, że można uznać, że osoby te zajmują się naukami obliczeniowymi. Dla każdego z nich spojrzałem na profil i sprawdziłem, czy mają konto na StackOverflow, co można uznać za przejaw zainteresowania programowaniem. Oto wyniki:

Na 25 users having more than 1000 reputation:

  • 4 (16%)nie mają konta.
  • 5 (20%)właśnie otworzył konto, nie zyskując reputacji.
  • 16 (64%)przyczyniło się do StackOverflow.

Tak więc przynajmniej 84%niektórzy są zainteresowani programowaniem. Moim zdaniem pokazuje to, że programowanie jest istotną częścią pracy naukowej :-) To tylko potwierdzenie innych odpowiedzi!

Innym interesującym faktem (którego nie określiłem ilościowo) jest to, że wszyscy ci użytkownicy mają konta na wiele tematów, nie tylko nauki obliczeniowe i StackOverflow! Myślę, że to idzie w kierunku odpowiedzi Wolfganga Bangertha.


2

Mówiąc z własnego doświadczenia, znam dość doskonałych naukowców zajmujących się obliczeniami, którzy nie mają żadnej wiedzy programistycznej lub nie mają jej wcale. Z drugiej strony większość naukowców zajmujących się obliczeniami wiem, jak zaprogramować komputer.

Nie ma ostatecznej odpowiedzi na tę część pytania. Pytanie, które musisz sobie zadać, brzmi: czy mam dostępne oprogramowanie, które pozwoli mi rozwiązać problem, czy też częścią mojego zadania będzie napisanie oprogramowania, które może najpierw rozwiązać problem, a następnie użyć go do rozwiązania faktyczny problem. Odpowiedź na to pytanie określi, czy musisz znać programowanie, czy nie.


1

Ciekawe pytanie, studiuję materiałoznawstwo komputerowe i jestem studentem studiów wyższych z podstaw fizyki. Jak dotąd programowanie, które wykonałem, jest minimalne, ale to mówi samo za siebie. Często konkretne cele twojego projektu określą dokładną ilość kodowania, którą wykonasz. Jeśli spojrzysz na konkretny związek przy użyciu standardowych technik i oprogramowania, w najgorszym wypadku skończysz pisać skrypty Bash / Python, aby zautomatyzować różne elementy kodu, którego używasz. Jestem zdania, że ​​wykonasz jakieś programowanie, aby wdrożyć rzeczy, które chcesz zweryfikować, więc krótka odpowiedź: nie można mówić o naukach obliczeniowych, ale o materiałoznawstwie obliczeniowym, o ile programowanie będzie zależało od Twój projekt.


1

Odpowiem na drugą część. Chociaż może istnieć wiele nakładek między ogólnym naukowcem obliczeniowym a specjalistycznym obliczeniowym X w zależności od zainteresowań danej osoby, głównym zmartwieniem naukowca obliczeniowego jest wprowadzenie nowych technik obliczeniowych w celu zbadania problemu w dziedzinie domenowej. Nowością w technice obliczeniowej może być nowe obliczenie, które nie było możliwe z powodu braku odpowiednich narzędzi obliczeniowych lub szybszego sposobu. Z drugiej strony, Computational X będzie głównie zainteresowany wykorzystaniem tych nowych narzędzi do badania nowych problemów. Ogólnie rzecz biorąc, naukowiec zajmujący się obliczeniami przede wszystkim opracuje opis problemu, wyjaśni ogólne ramy jego rozwiązywania, nałoży pewne ograniczenia na zastosowanie narzędzia (prędkość / błąd itp.) I rozwiąże problem jako dowód koncepcji. Jeśli chodzi o pierwszą część,

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.