Acredito que o título desse artigo é a principal dúvida da maioria das pessoas quando se depara com as palavras "Ciência da Computação". Afinal, o que essa ciência estuda? A que ela se propõe? Quem se forma nisso é o quê?
Seria muita prepotência da minha parte esgotar o tema. Por outro lado, como membro dessa área e educador, me sinto na obrigação de tentar esclarecer um pouco as dúvidas ou, pelo menos, indicar os caminhos.
"Vamos por partes" - como diria René Descartes e não Jack, o estripador.
O que essa ciência estuda?
O principal foco da Ciência da Computação é o estudo de Algoritmos e suas aplicações. Algoritmos são sequências de instruções, finitas, bem definidas, para a solução de um problema. Quando codificados em uma linguagem de programação, os algoritmos se transformam em programas de computador.
Parece trivial, não é? Afinal, até quando estamos escrevendo uma receita de bolo, estamos escrevendo um algoritmo.
Bom, na verdade, não é tão trivial assim. Afora essa sequência de passos, a Ciência da Computação estuda as estruturas de dados, ou seja, formas de armazenar os dados que os programas tratam na memória. As estruturas de dados podem influenciar na velocidade de execução do programa e no tamanho de memória que o programa necessita para execução. Por isso, saber como criar estruturas de dados na memória é essencial para um bom programa de computador.
Além dos algoritmos, a Ciência da Computação também estuda as plataformas onde esses algoritmos são executados. Entende-se por plataforma a combinação entre hardware e software básico. Em outras palavras, a Ciência da Computação também estuda a arquitetura dos computadores (como combinar os circuitos para fazer as operações básicas de lógica e matemática, para implementar a memória etc), os sistemas operacionais (um conjunto de operações básicas para gerência do computador) e as redes de computadores.
Há ainda as técnicas de engenharia de software que define e aplica práticas para o desenvolvimento de software e gerência de projetos nessa área. Essas prática englobam práticas englobam linguagens e técnicas de programação, modelos, processos, bancos de dados e várias outras técnicas para desenvolver software de qualidade.
Também não se pode esquecer das aplicações desses algoritmos. Entre essas aplicações estão as técnicas de computação gráfica, inteligência artificial, etc.
Enfim, como se pode notar, a Ciência da Computação é uma área bastante abrangente e muito interessante.
A que ela se propõe?
Toda ciência se propõe a explicar fenômenos através de formalismos e linguagens próprias. A Ciência da Computação não é diferente. O fenômeno que tenta explicar é o da transformação ou processamento da informação.
Importa ressaltar que transformação da informação não significa adulteração. Transformar ou processar nesse sentido significa obter novas associações ou relações entre informações e com isso obter outras novas informações.
Para ilustrar melhor, imagine um banco de dados simples com informações sobre nomes e notas de alunos. Se esse banco de dados puder fornecer informações sobre quantos alunos obtiveram notas acima da média, isso é uma nova informação obtida através do processamento das informações que já estavam no banco de dados.
É um exemplo bem simples, mas ilustra o fato que o processamento de informações pode gerar novas informações.
Quem se forma nisso é o quê?
Quem se forma em Ciência da Computação é Bacharel em Ciência da Computação. Não é analista de sistemas, nem programador, nem tampouco "computeiro". Aliás, é importante ressaltar que essa profissão não é regulamentada. Em outras palavras, não existe um conselho regional de computação, nem nenhum outro órgão de classe de classe que estabeleça normas para o exercício da profissão.
A falta de um órgão de classe tem vantagens e desvantagens. A meu ver, a principal desvantagem é que qualquer um pode se dizer analista de sistemas. Mesmo que não tenha sido formado para isso. Ou seja, matemáticos, engenheiros, administradores, físicos, programadores, técnicos em computação, enfim, qualquer um pode dizer que é um analista de sistemas.
Por outro lado, nenhum órgão de classe vai exigir que se pague a anuidade para poder exercer a profissão, como acontece com engenheiros e arquitetos. Enfim, um profissional da computação é livre para desenvolver software ou hardware da forma que desejar. É claro que existe uma questão ética envolvida nisso que gostaria de discutir em outro post.
Por ora, é necessário afirmar que o bacharel em Ciência da Computação é um profissional que pode atuar em um grande número de áreas diferentes, pois é uma atividade-meio. Em outras palavras, a Ciência da Computação dá suporte às atividades que compõem os objetivos da instituição. Por exemplo, em uma produtora de Cinema, o bacharel em Ciência da Computação pode desenvolver algoritmos que façam a animação de personagens.
Portanto, Ciência da Computação é uma área muito interessante e lida basicamente com o tratamento de informações em qualquer contexto. Afinal, em um mundo onde informação é poder, que tem informações está com a faca e o queijo nas mãos.
Para saber mais dê uma olhada nos artigos "Research evaluation in computer science" e "Is Computer Science Science?"
Oie!!!
ResponderExcluirMuito bom seu post!
Queria aproveitar e te fazer uma pergunta.
Continua não havendo conselho de classe para Ciencia da Computação?
Pois no final do ano passado a CETESB lançou um concurso pedindo registro.
Obrigada!
Olá Ynaue,
ResponderExcluirSim, o conselho de classe de Ciência da Computação ainda não existe.
A meu ver, tão cedo isso não será implementado. Existem muitas forças políticas contrárias a esse movimento. Afinal, se o conselho for aprovado, muita gente que atua na área deixará de atuar.
Puts achei muito legal conhecer + sobre o curso. Eu fazia o vestibular + n sabia realmente de toda essa divulgação, na verdade so sabia do "cuscuz com leite", muito obrigado pelo esclarecimente. =D
ResponderExcluirserá que praticos de medicina e odontologia foram levados em consideracao na época da instituicao dos conselhos destas classes de trabalhadoreS ? Eu acho que nao tem que ter dó de ninguém pois EXISTE muitas FACULDADES pra que os PRÁTICOS da computacao REGULARIZEM a situacao. Isso é safadeza ! Eles todos , se fazem de coitados, mas tem TODAS as oportunidades de CURSAREM uma FACULDADE, NEM QUE SEJA UMA À DISTANCIA! Sao sim uns gatunos !
ResponderExcluirCara gostei do seu post mas queria saber se vc me tira uma dúvida urgente =)
ResponderExcluirQuando eu estiver preenchendo um formulário qualquer e tem lá o campo "profissão", o que eu escrevo? Analista de Sistemas? Bacharel em Ciência da Computação? Nenhuma das anteriores?
Abraço
Cicero,
ResponderExcluirAcho que você tem que escrever: bacharel em Ciência da Computação. É um nome grande, mas essa é a profissão.
Cientista da Computação não se aplica? O único modo correto é Bacharel em Ciência da Computação?
ResponderExcluirolha eu quero meformar em ciencias da computação
ResponderExcluirmas me falar q essa profissão vc tem q ser mas inteligente q o pc pois nós q motamos o seu windons;progamosãoes tu tudo mais e verdade?
Gostei muito do post.
ResponderExcluirPor acaso você poderia me da sua opinião?
Estou terminando o curso de Engenharia Civil e durante o curso tive algumas idéias que necessitaram de um conhecimento mais avançado em hardware e software, pois será preciso desenvolver um sistema que agilizará os serviços no escritórios e diminuirá a quantidade de funcionário, e a forma de apresentação para os clientes exigirá alguns equipamentos mais sofisticados.
A dúvida é, qual formação vpreciso fazer, analista de sistema, ciência da computação ou engenharia de software?
Qual delas você me orienta a fazer?
Nossa muito bom esse post, mas para ser pode se afirmar como cientista da computação ainda requer mais alguma coisa?
ResponderExcluirNossa muito bom esse post, mas para ser pode se afirmar como cientista da computação ainda requer mais alguma coisa?
ResponderExcluir