A Ciência Computacional envolve programação?


16

Eu li sobre ciência da computação na Wikipedia, mas meu entendimento não é muito claro.

A ciência computacional envolve programação? Quão diferente é a ciência computacional da computacional _ ____ , onde o espaço em branco pode ser qualquer disciplina (ciência dos materiais, engenharia, química, biologia e assim por diante)? (Eu estarei fazendo ciência de materiais computacionais.)


5
Eu recomendo que você procure aqui: scicomp.stackexchange.com/questions/1148/… . A questão da ciência da computação é que ela é aplicável à maioria das ciências físicas de alguma forma (pode não ser a maneira mais eficiente de lidar com o problema, mas essa é outra questão).
precisa

É difícil provar muitas coisas matematicamente. É bom quando você pode programar as coisas e experimentá-las. Certamente, a Ciência da Computação não é fácil, mas com muito trabalho, você deve ser capaz de fazê-lo.
vanCompute

11
Bem-vindo ao scicomp, Sheryl. Eu acho que você fez várias perguntas aqui. Edite o que você escreveu para que seja apenas uma pergunta. Se desejar, você pode enviar as outras perguntas separadamente, uma de cada vez.
David Ketcheson

Eu deixei essa pergunta por um tempo porque Wolfgang respondeu muito bem, mas neste momento, ela precisa ser fechada e editada antes de reabrir, para dar mais ênfase à pergunta.
Geoff Oxberry 27/02

Respostas:


14

O link que Godric apontou sob a pergunta é exatamente correto. Ele fornece uma boa visão geral dos muitos talentos que um cientista computacional precisa ter.

Em geral, a diferença entre ser um X computacional (X = matemático, engenheiro civil, cientista de materiais) e ser um X teórico ou um X experimental é que os primeiros enfrentam problemas com computadores em vez de experimentos ou teorias. Obviamente, a capacidade de usar computadores - em particular para programá-los - é uma parte importante disso, assim como as habilidades e um bom entendimento do próprio X.

Cientistas computacionais são pessoas que não fazem parte imediatamente da comunidade X, mas geralmente têm formação em matemática ou ciência da computação. Eu me consideraria um. Eu diria que a maioria deles não está tão interessada em nenhuma aplicação específica (isto é, o X) em si mesma, mas considera a solução de problemas no campo X como uma maneira de desenvolver e aplicar novos métodos numéricos e computacionais - ou seja, como casos de teste para métodos mais amplamente aplicáveis. Muitos cientistas da computação são excelentes programadores e, talvez mais importante, designers e engenheiros de software. Ser bom nisso é certamente uma parte importante da descrição do trabalho de um cientista computacional.


11
Muito bem dito.
precisa

O que é um matemático computacional?
precisa

Alguém cujo objetivo é desenvolver métodos matemáticos para problemas computacionais. Por exemplo, para desenvolver métodos de elementos finitos, agentes de resolução lineares ou não lineares, etc.
Wolfgang Bangerth

11
legal, exceto que os computadores podem fazer "experimentos computacionais", por exemplo, na pesquisa matemática ou cs. (um tipo / tipo de experimento diferente.) também chamado de "pesquisa empírica" ​​nesses campos, talvez não seja o melhor termo, mas o que é usado. esse é um novo / grande paradigma emergente. esp com "big data" etc
vzn 17/10/2013

6

Em outras palavras, você não será um bom profissional se alegar fazer ciência da computação, mas não conhece programação.

Para fazer o cálculo, você precisa de uma ferramenta. E o computador é uma ferramenta. A programação é a única maneira de ensinar ao computador como fazer uma coisa. Portanto, a programação é uma parte essencial da ciência computacional. Isso não quer dizer que seja a única parte disso. A teoria tem seu próprio lugar sagrado. Se você é muito bom em teoria, irá projetar melhor e quais são os algoritmos corretos mais importantes.

Tanto quanto eu vejo, você pode sobreviver sem conhecer também a programação: projetando algoritmos teoricamente. Mas então você precisa contratar alguém que conheça programação para verificar se seus algoritmos funcionam em tempo real ou não.

Além disso, é fato do mundo moderno que as pessoas que conhecem a programação são mais bem pagas. NA MINHA HUMILDE OPINIÃO!


3

Não estou ciente das versões em livro-texto da definição ou descrição da ciência computacional, mas aqui estão meus dois centavos com base na minha experiência:

A ciência computacional envolve lidar com processos computacionais. Um dos processos cruciais é a programação. Então, sim, isso envolve programação. É uma questão diferente se o cientista computacional é um escritor de um programa ou não, mas provavelmente será o usuário de programas escritos para domínios científicos específicos. E é cada vez mais provável que ela precise escrever um código de "cola" para tornar as coisas adequadas às suas necessidades. Espero que isso responda à sua primeira pergunta.

Não conheço a ciência dos materiais computacionais, mas assumo que seja um ramo da ciência que possui necessidades computacionais, por exemplo, simulações de energia e interações entre elementos etc. Então, sim, envolverá os mesmos princípios gerais da ciência computacional como outros domínios científicos: algoritmos, procedimentos, códigos de cola, manipulação de arquivos, configuração, visualização e assim por diante. Espero que isso esteja próximo de responder à sua segunda pergunta.

O seu conhecimento em ciência da computação deve definitivamente ajudar. Se está ou não no escopo, é um pouco subjetivo. No entanto, eu diria que deve estar muito na sua zona de conforto, considerando os assuntos que você estudou.


Bem. Na verdade, em assuntos como Engenharia Física, Química - eu não sou tão científico. Nos últimos anos, meu foco principal é Ciências da Computação - Programação para ser específico. Se alguém me pergunta física quântica e tudo, eu não sou tão bom.
Sheryl

Se este projeto é principalmente sobre "programação" com um bom senso de física; Eu acho que posso aguentar. (Além disso, a mecânica é a minha fav parte da física onde eu tenho bases sólidas.)
Sheryl

5
Não há definição de livro para ciência computacional, mas eis o que o Departamento de Energia dos EUA tem a dizer A ciência computacional é uma abordagem interdisciplinar que usa algoritmos, matemática e computadores para analisar e resolver problemas científicos e de engenharia.
Aron Ahmadia 26/11/12

3

Aqui está um tipo diferente de resposta, mas na minha opinião, bastante interessante.

Dei uma olhada em todos os usuários desta versão beta com mais de 1000 reputação. Eu acho que essas pessoas podem ser consideradas como fazendo ciência da computação. Para cada um deles, observei o perfil e verifique se eles têm uma conta no StackOverflow, que pode ser vista como um sinal de interesse em programação. Aqui estão os resultados:

No 25 users having more than 1000 reputation:

  • 4 (16%)não tem uma conta.
  • 5 (20%)acabou de abrir a conta sem ganhar reputação.
  • 16 (64%)contribuíram no StackOverflow.

Então, pelo menos, 84%eles estão interessados ​​em programação. Na minha opinião, isso mostra que a programação é uma parte essencial do trabalho da computação científica :-) Isso é apenas uma confirmação das outras respostas!

Outro fato interessante (que eu não quantifiquei) é que todos esses usuários têm contas em vários tópicos, não apenas em Ciência da Computação e StackOverflow! Eu acho que isso só vai na direção da resposta de Wolfgang Bangerth.


2

Falando da minha experiência pessoal, conheço excelentes cientistas computacionais que têm pouco ou nenhum conhecimento ou experiência em programação real. Por outro lado, a maioria dos cientistas computacionais que conheço sabe como programar um computador.

Não há resposta final para essa parte da sua pergunta. A pergunta que você deve fazer é: tenho um software disponível para mim que me permita resolver meu problema ou faz parte do meu trabalho escrever o software que pode resolver o problema primeiro e depois usá-lo para resolver o problema? problema real. A resposta para isso determinará se você precisa saber de programação ou não.


1

Pergunta interessante, estou estudando ciência dos materiais computacionais e sou um estudante de graduação com formação em física. Até agora, a quantidade de programação que fiz é mínima, mas isso é por mim mesmo. Muitas vezes, os objetivos específicos do seu projeto determinam a quantidade exata de codificação que você fará. Se for uma olhada em um composto específico usando técnicas e software padrão, na pior das hipóteses, você acabará escrevendo scripts Bash / Python para automatizar as coisas em torno do código que está usando. Sou da opinião de que você fará alguma programação possivelmente para implementar as coisas que procura validar, resposta tão curta: não se pode falar em ciência da computação, mas em ciência dos materiais da computação, a quantidade de programação, se houver, será determinada por seu projecto.


1

Eu vou responder a segunda parte. Embora possa haver muitas sobreposições entre um cientista computacional geral e um X computacional especializado, dependendo do interesse de uma pessoa, a principal preocupação do cientista computacional é a introdução de novas técnicas computacionais para estudar um problema em um campo de domínio. O que há de novo na técnica computacional pode ser um novo cálculo que não foi possível devido à falta de ferramentas computacionais apropriadas ou a uma maneira mais rápida. Por outro lado, o X computacional estará interessado principalmente em usar essas novas ferramentas para estudar novos problemas. Assim, em geral, um cientista computacional estabelece antes de tudo uma declaração de problema, explica a estrutura geral para resolvê-la, impõe algumas limitações à aplicabilidade da ferramenta (velocidade / erro, etc.) e resolve um problema como prova de conceito. Quanto à primeira parte,

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.