Explicando a diferença entre ciência da computação e alfabetização em computação [fechado]

30

O que é uma boa metáfora ou exemplo para explicar a um inglês importante a diferença entre a ciência clássica da computação e "ser bom em usar o MS-Windows"

  • Ciência da Computação
  • programação de computadores
  • usando computadores

3 coisas profundamente diferentes. A maioria das pessoas não tem idéia do que é a Ciência da Computação. Eles apenas veem a palavra "computador". Portanto, "ele é formado em Ciência da Computação" pode ser interpretado como "Ele pode conectar minha impressora". Ou que ele é "bom com computadores". Menos pessoas ainda sabem a diferença entre programação de computadores e ciência da computação.

Ciência da Computação é teoria da computação. O CS pode ser aprendido sem computadores reais. Micro arquitetura de CPU. Como classificar números, como percorrer listas, etc. Máquinas de estado. Algoritmos, grande (Oh), etc. Como projetar uma linguagem de programação ou compilador.

Programar é escrever código e criar aplicativos em uma linguagem e compilador criada por um cientista da computação.

Por fim, está usando um computador (usando uma GUI, mouse e teclado. Internet, MS-Office, etc)

No entanto, todos os três são usados ​​alternadamente por leigos.

O que é uma boa metáfora ou exemplo para explicar a um inglês importante a diferença entre ciência da computação clássica e "ser bom com o uso do MS-Windows"? Ou simplesmente, um exemplo conciso de como a ciência da computação real não tem nada a ver com o uso do MS-Windows.

JackOfAll
fonte
2
Estou ansioso para morder respostas para que um ;-)
vonbrand
Por que não dizer "CS é um tipo de matemática".
usar o seguinte código
veja o antigo famoso ensaio observando / comentando sobre essa dicotomia milenar as duas culturas por CP Snowe . O CS é apenas o mais recente de uma longa linha de disciplinas que se encaixam nisso. como cientista / romancista, ele estava qualificado para comentar / pontificar sobre isso e será muito relacionado aos cursos de inglês, provavelmente estudado em algumas aulas de inglês. também conexões profundas com a sociologia.
vzn
Olá, e obrigado por postar! Infelizmente, estou tendo dificuldade em ver como essa pergunta não é primariamente baseada em opiniões; como tal, em sua forma atual, não é uma boa opção para este site (apesar de sua popularidade). Reserve um momento para atualizar sua pergunta para torná-la mais restrita em escopo, para solicitar tipos específicos de informação (as referências, espero, serão do tipo mais apropriado). Por exemplo, se a pergunta perguntasse "quais são as analogias conhecidas que foram usadas para explicar a ciência da computação" ou "onde posso encontrar informações sobre comparações". Obrigado por contribuir!
Patrick87
(. Além disso, desculpe por perder esta questão até agora eu teria preferido estar pedindo essas edições mais cedo do que agora Obrigado pela sua compreensão..)
Patrick87

Respostas:

29

Que tal uma analogia automotiva?

  • usa computadores e talvez "seja bom com computadores": um motorista (pode dirigir e reabastecer com segurança) e talvez um entusiasta de carros (pode dar partida em um carro; está familiarizado com muitas marcas e modelos; conhece técnicas como usar o tratamento de pára-brisa para evitar chuva) de reduzir a visibilidade).
  • programador :: mecânico ou técnico automotivo. Sabe como os carros funcionam. Pode reparar e modificar carros e até construir carros de kit. Deveria saber como depurar / diagnosticar problemas usando o método científico. Pode não estar ciente da teoria relevante e, portanto, pode escrever loops de O (n 2 ).
  • engenheiro de software :: um engenheiro automotivo. Projeta carros, motores e outros componentes com os quais você pode confiar sua vida, e faz isso dentro do cronograma, custo, capacidade de fabricação e outras restrições. Sabe como aplicar a teoria / matemática relevante, como a análise de elementos finitos.
  • cientista da computação :: um cientista automotivo. Pesquisa novas idéias em veículos, interfaces homem-máquina e propulsão. Faz modelagem de teste de colisão computacional. Adiciona ao corpo da teoria e dos resultados experimentais.

Portanto, para as pessoas que equiparam toda a “computação” a “proficiente no uso de algum pacote de software”, é como equiparar a proficiência em direção à capacidade de projetar freios antibloqueio nos quais confiamos vidas, que são fabricáveis ​​com alta qualidade consistente e baixo custo, e trabalham por anos em clima extremo. Ou equiparar a proficiência na direção à pesquisa de quais tipos de recursos de frenagem acionados por radar evitarão colisões sem assustar o motorista a desviar para outra faixa.

Talvez os leigos confundam esses termos porque as aulas de "ciência da computação" ensinam habilidades de uso, programação, teoria ou engenharia. Tudo isso (sem dúvida a primeira parte) se encaixa no currículo da ciência da computação. Nada disso é o "conteúdo" final da ciência da computação, assim como as aulas de inglês estão aprendendo a caminho de um curso de inglês (um conceito mais confuso).

Jerry101
fonte
1
Veja também minha tentativa aqui ; "o uso habilidoso de alguns programas de computador" provavelmente equivaleria a algo como "capacidade de tirar uma foto e trocar lâmpadas".
Raphael
2
De um amigo: A primeira metáfora que vem à mente é carros: - Ciência da computação - projetar um motor de carro: a teoria importa, a matemática está envolvida. - Programação de computadores ~ = reconstrução de um motor de carro: você precisa saber o que está fazendo e entender como tudo funciona, mas os aspectos teóricos são muito menos importantes. - Usando computadores ~ = você pode dirigir o carro e colocar gasolina sem explodir o posto de gasolina.
JackOfAll
Incorporar as sugestões do @JackOfAll exigia a distinção entre programador e engenheiro de software. A engenharia está construindo algo dentro do cronograma e de outras restrições, que funciona em uma ampla variedade de condições, e nas quais podemos continuar a desenvolver e confiar. Outra programação é hackear algo como Perl. A ciência está gerando novos conhecimentos através da experimentação. Engenheiros e cientistas precisam conhecer a teoria e a matemática relevantes. Os cientistas devem adicionar ao corpo da teoria.
Jerry101
Tudo verdade, mas e quanto a lutar com pessoas que equiparam "computadores" a "proficientes no uso de <inserir pacote favorito aqui>" e que não entendem que há mais aqui? Ou um pouco mais avançados que consideram algo "trivial, basta escrever um programa"? Pontos extras para pessoas que manipulam que pensam que o problema da parada pode ser resolvido como uma questão de curso ...
vonbrand
4
Você poderia ir além; cientista da computação teórico :: físico - pode descrever a matemática que modela por que o carro funciona, mas pode não ser capaz de dirigir. ;)
Luke Mathieson
25

Uma vez que é um major inglês:

A alfabetização em computação é como a leitura, a programação como a composição e a ciência da computação como a linguística. Todos os três são sobre linguagem, mas as habilidades não são exatamente intercambiáveis.

meriton - em greve
fonte
11

Alguém me colocou assim, mas receio ter esquecido quem.

Desinfetar sua cozinha não é microbiologia; operar o seu computador não é ciência da computação.

David Richerby
fonte
2
Não entra em muitos detalhes sobre o que o CS realmente é, mas é bom para uma analogia rápida e induz uma pequena risada.
Cheezey
1
Parece muito com a declaração do telescópio de Dijkstra.
Raphael
ciência da computação comparada à desinfecção / microbiologia? funciona vagamente ...
vzn 8/03/2014
7

A ciência da computação é para os computadores, assim como a astronomia é para os telescópios.

- Edsgar Dijkstra

Eu li isso em algum livro, mas infelizmente esqueci qual livro.

Kartik
fonte
en.wikiquote.org/wiki/Computer_science#Disputed - tem 3 lugares ele é citado em ~ 1993 e desacordos sobre se era realmente de Dijkstra
WernerCD
Além disso, "Edsgar" Dijkstra. Eu acho que os holandeses fizeram o nome apenas para confundir os falantes de inglês.
Luke Mathieson
@LukeMathieson falantes de inglês? Eu acho que alguém ficará confuso com esse nome.
Kartik
"Edsger" , de fato.
James Wood
@LukeMathieson Também não é exatamente um nome comum em holandês, cerca de 1 em um milhão o tem como primeiro nome. Mas, como um falante de inglês, deveria parecer natural para você;) A etimologia do nome é a mesma em inglês e em holandês, significando SwordSpear, edscomo em edge-> sword e gercomo no gar incomum (que você obviamente conhece como você fez a alteração ortográfica correta para torná-lo em inglês), significando lança, ou o sangue relacionado.
Rinze Smits
2

Eu trabalho com alguns "engenheiros de verdade", muitos deles parecem pensar em programação de computadores e CS são a mesma coisa (aparentemente eles acham que os engenheiros também fazem matemática de alto nível, tópico diferente lá). Eu era desenhista de CAD no ensino médio, então, eu digo a eles que sou basicamente um engenheiro mecânico, parece até o campo de jogo. Eu acho que você poderia dizer ao seu grande amigo em inglês que você já pode ler livros, então você também pode ter um diploma em inglês. Ou, de maneira menos conflituosa, que eles saibam que isso seria o equivalente ao que estão dizendo.

SuperSecret
fonte
Você diz "tópico diferente", mas sinto que os dois são realmente muito semelhantes: quando um engenheiro diz "matemática de alto nível", quase certamente está se referindo à matemática aplicada de alto nível, e o que é programação, mas aplicada à ciência da computação? Por outro lado, se esses "verdadeiros engenheiros" estão considerando coisas como resolver muitos polinômios como "matemática de alto nível" (sem usar os conceitos que permitem a solução eficiente de tais sistemas de equações, ou apenas conectá-los a um programa sem entender como funciona), pude ver de onde você vem.
JAB
Sim, quero dizer o segundo tipo, em que usar Laplace Transforms e Runge – Kutta é considerado como matemática de alto nível (mesmo quando esses tópicos não são realmente considerados matemática de alto nível). Então, novamente, me formei em matemática aplicada, portanto, o padrão do que considero matemática de alto nível provavelmente está um pouco distorcido, mas achei engraçado de qualquer maneira. Eu concordo que a programação de computadores seja aplicada à ciência da computação. Estava apenas traçando um paralelo entre o que um engenheiro mecânico pode fazer a maior parte do tempo em um trabalho e o que um engenheiro de software pode fazer, por exemplo, desenho CAD vs programação de computadores.
SuperSecret
1

Hmm, aqui está outra metáfora: pesquisa no Google

  1. A Computer Scientist projeta o algoritmo do Google PageRank.
  2. O programador sabe como inserir a palavra-chave, acessar o banco de dados e exibir os resultados em uma página da web.
  3. O usuário sabe como fazer uma pesquisa no Google.

Sim!!

JackOfAll
fonte
1
O problema é que muitas pessoas não entenderão / serão capazes de distinguir entre (1) e (2).
Ant
1

Sinto falta de uma quarta bala, "engenharia da computação".

Um engenheiro sabe como as coisas funcionam. Um cientista sabe por que as coisas funcionam. Um construtor cria coisas (que às vezes funcionam). Um usuário usa coisas.

Para "coisa", leia casa, computador, carro, ... Para "construtor", substitua o nome adequado para profissional de trabalho manual, por exemplo, "programador" quando coisa = computador, "pedreiro" quando coisa = casa, etc.

Robert Meersman
fonte
0

Acabei de encontrar outra citação, novamente por Edsger Dijkstra ( daqui ):

... o dano foi causado: o tópico ficou conhecido como "ciência da computação" - que, na verdade, é como se referir à cirurgia como "ciência da faca" - e foi firmemente implantado na mente das pessoas que a ciência da computação é sobre máquinas e seus equipamentos periféricos.

Você pode reduzi-lo para

A ciência da computação é como se referir à cirurgia como "ciência da faca".

Mas você nem precisa dizer isso. Acho que seria suficiente dizer que "o CS é um tipo de matemática que não tem nada a ver com computadores".

Kartik
fonte
0

Ciência da computação é o conhecimento do que os computadores podem fazer para que você possa usá-los.

Conhecimento em informática o conhecimento do que você pode fazer com os computadores para que eles possam usá-lo.

babou
fonte
O papel do voto negativo é mostrar que alguém está sendo bobo.
24614 babou