Você está na página 1de 9

Cincia da computao

Cincia da computao

A cincia da computao lida com fundamentos tericos da informao, computao, e tcnicas prticas para suas implementaes e aplicaes. Cincia da computao o estudo dos algoritmos, suas aplicaes e de sua implementao, na forma de software, para execuo em computadores eletrnicos. Desempenha um papel importante, na rea de cincia da computao, a formalizao matemtica de algoritmos, como forma de representar problemas decidveis, i.e., os que so susceptveis de reduo a operaes elementares bsicas, capazes de serem reproduzidas atravs de um qualquer dispositivo mecnico/eletrnico capaz de armazenar e manipular dados. Um destes dispositivos o computador digital, de uso generalizado, nos dias de hoje. Tambm de fundamental importncia para a rea de cincia da computao so as metodologias e tcnicas ligadas implementao de software que abordam a especificao, modelagem, codificao, teste e avaliao de sistemas de software. Os estudos oriundos da cincia da computao podem ser aplicados em qualquer rea do conhecimento humano em que seja possvel definir mtodos de resoluo de problemas baseados em repeties previamente observadas. Avanos recentes na cincia da computao tem impactado fortemente a sociedade contempornea, em particular as aplicaes relacionadas s reas de redes de computadores, Internet, Web e computao mvel que tm sido utilizadas por bilhes de pessoas ao redor do globo.

Histria da computao
A primeira ferramenta conhecida para a computao foi o baco[], cuja inveno atribuda a habitantes da Mesopotmia, em torno de 27002300 a.C.. Seu uso original era desenhar linhas na areia com rochas. Verses mais modernas do baco ainda so usadas como instrumento de clculo. No sculo VII a.C., na antiga ndia, o gramtico Pnini formulou a gramtica de Snscrito usando 3959 regras conhecidas como Ashtadhyyi, de forma bastante sistemtica e tcnica. Pnini usou transformaes e recursividade com tamanha sofisticao que sua gramtica possua o poder computacional terico tal qual a Mquina de Turing. Entre 200 a.C. e 400, os indianos tambm inventaram o logaritmo, e partir do sculo XIII tabelas logartmicas eram produzidas por matemticos islmicos. Quando John Napier descobriu os logaritmos para uso computacional no sculo XVI[], seguiu-se um perodo de considervel progresso na construo de ferramentas de clculo.
O baco, primeira ferramenta de computao, em sua forma moderna

Cincia da computao

Algoritmos
No sculo VII, o matemtico indiano Brahmagupta explicou pela primeira vez o sistema de numerao hindu-arbico e o uso do 0. Aproximadamente em 825, o matemtico persa al-Khwarizmi escreveu o livro Calculando com numerais hindus, responsvel pela difuso do sistema de numerao hindu-arbico no Oriente Mdio, e posteriormente na Europa. Por volta do sculo XII houve uma traduo do mesmo livro para o latim: Algoritmi de numero Indorum. Tais livros apresentaram novos conceitos para definir sequncias de passos para completar tarefas, como aplicaes de aritmtica e lgebra. Por derivao do nome do matemtico, atualmente usa-se o termo algoritmo.

Lgica binria
Por volta do sculo III a.C., o matemtico indiano Pingala inventou o sistema de numerao binrio. Ainda usado atualmente no processamento de todos computadores modernos, o sistema estabelece que sequncias especficas de uns e zeros podem representar qualquer informao. Em 1703 Gottfried Leibniz desenvolveu a lgica em um sentido formal e matemtico, utilizando o sistema binrio. Em seu sistema, uns e zeros Al-Khwarizmi tambm representam conceitos como verdadeiro e falso, ligado e desligado, vlido e invlido. Mais de um sculo depois, George Boole publicou a lgebra booleana (em 1854), com um sistema completo que permitia a construo de modelos matemticos para o processamento computacional. Em 1801, apareceu o tear controlado por carto perfurado, inveno de Joseph Marie Jacquard, no qual buracos indicavam os uns e, reas no furadas, indicavam os zeros. O sistema est longe de ser um computador, mas ilustrou que as mquinas poderiam ser controladas pelo sistema binrio.

Cincia da computao

Engenho analtico
Foi com Charles Babbage que o computador moderno comeou a ganhar forma, atravs de seu trabalho no engenho analtico. O equipamento descrito originalmente em 1837, mais de um sculo antes de seu sucessor, nunca foi construdo com sucesso, mas possua todas as funes de um computador moderno. O dispositivo de Babbage se diferenciava por ser programvel, algo imprescindvel para qualquer computador moderno. Durante sua colaborao, a matemtica Ada Lovelace publicou os primeiros programas de computador em uma srie de notas para o engenho analtico[1]. Por isso, Lovelace popularmente considerada como a primeira programadora.

Nascimento da cincia da computao


Antes da dcada de 1920, computador era um termo associado a pessoas que realizavam clculos, geralmente liderados por fsicos. Milhares de Ada Lovelace, primeira programadora. computadores eram empregados em projetos no comrcio, governo e stios de pesquisa. Aps a dcada de 1920, a expresso mquina computacional comeou a ser usada para referir-se a qualquer mquina que realize o trabalho de um profissional, especialmente aquelas de acordo com os mtodos da Tese de Church-Turing. O termo mquina computacional acabou perdendo espao para o termo reduzido computador no final da dcada de 1940, com as mquinas digitais cada vez mais difundidas. Alan Turing, conhecido como pai da cincia da computao, inventou a Mquina de Turing, que posteriormente evoluiu para o computador moderno.

Trabalho terico
Os fundamentos matemticos da cincia da computao moderna comearam a ser definidos por Kurt Gdel com seu teorema da incompletude (1931). Essa teoria mostra que existem limites no que pode ser provado ou desaprovado em um sistema formal; isso levou a trabalhos posteriores por Gdel e outros tericos para definir e descrever tais sistemas formais, incluindo conceitos como recursividade e clculo lambda. Em 1936 Alan Turing e Alonzo Church independentemente, e tambm juntos, introduziram a formalizao de um algoritmo, definindo os limites do que pode ser computador e um modelo puramente mecnico para a computao. Tais tpicos so abordados no que atualmente chama-se Tese de Church-Turing, uma hiptese sobre a natureza de dispositivos mecnicos de clculo. Essa tese define que qualquer clculo possvel pode ser realizado por um algoritmo sendo executado em um computador, desde que haja tempo e armazenamento suficiente para tal. Turing tambm incluiu na tese uma descrio da Mquina de Turing, que possui uma fita de tamanho infinito e um cabeote para leitura e escrita que move-se pela fita. Devido ao seu carter infinito, tal mquina no pode ser construda, mas tal modelo pode simular a computao de qualquer algoritmo executado em um computador moderno. Turing bastante importante para a Representao visual da Mquina de Turing cincia da computao, tanto que seu nome usado para o Prmio Turing e o teste de Turing. Ele contribuiu para as quebras de cdigo da Gr-Bretanha[] na Segunda Guerra Mundial, e continuou a projetar computadores e programas de computador pela dcada de 1940; cometeu suicdio em 1954.[2][3].

Cincia da computao

Shannon e a teoria da informao


At a dcada de 1930, engenheiros eletricistas podiam construir circuitos eletrnicos para resolver problemas lgicos e matemticos, mas a maioria o fazia sem qualquer processo, de forma particular, sem rigor terico para tal. Isso mudou com a tese de mestrado de Claude Shannon de 1937, A Symbolic Analysis of Relay and Switching Circuits. Enquanto tomava aulas de Filosofia, Shannon foi exposto ao trabalho de George Boole, e percebeu que poderia aplicar esse aprendizado em conjuntos eletro-mecnicos para resolver problemas. Shannon desenvolveu a teoria da informao no artigo de 1948: A Mathematical Theory of Communication[], cujo contedo serve como fundamento para reas de estudo como compresso de dados e criptografia.[]

Realizaes para a sociedade


Apesar de sua pequena histria enquanto uma disciplina acadmica, a cincia da computao deu origem a diversas contribuies fundamentais para a cincia e para a sociedade. Esta cincia foi responsvel pela definio formal de computao e computabilidade, e pela prova da existncia de problemas insolveis ou intratveis computacionalmente.[4] Tambm foi possvel a construo e formalizao do conceito de linguagem de computador, sobretudo linguagem de programao, uma ferramenta para a expresso precisa de informao metodolgica flexvel o suficiente para ser representada em diversos nveis de abstrao.[5] Para outros campos cientficos e para a sociedade de forma geral, a cincia da computao forneceu suporte para a Revoluo Digital, dando origem a Era da Informao.[4] A computao cientfica uma rea da computao que permite o avano de estudos como o mapeamento do genoma humano (ver Projeto Genoma Humano).

Pessoas notveis
Algumas das pessoas mais importantes da computao foram agraciadas com o Prmio Turing.

Precursores
Blaise Pascal, desenvolveu a calculadora mecnica e tem seu nome em uma linguagem de programao; Charles Babbage, projetou um computador mecnico, a mquina analtica; Ada Lovelace, considerada a primeira pessoa (e mulher) programadora, deu nome uma linguagem de programao;

Pioneiros
cincia da computao tem tanto a ver com o computador como a astronomia com o telescpio, a biologia com o microscpio, ou a qumica com os tubos de ensaio. A cincia no estuda ferramentas, mas o que fazemos e o que descobrimos com elas.

citao atribuda a Edsger Dijkstra

Alan Turing, participou do projeto Colossus e foi um dos crebros que decifra a Enigma. Tambm inventou um tipo terico de mquina super-simples capaz de realizar qualquer clculo de um computador digital, a Mquina de Turing John von Neumann, descreveu o computador que utiliza um programa armazenado em memria, a Arquitetura de von Neumann, que a base da arquitetura dos computadores atuais John Backus, lder da equipe que criou o Fortran e criou a notao BNF Maurice V. Wilkes, inventor do somador binrio Howard Aiken, inventor do Mark I Walter H. Brattain, inventor do transstor William Shockley, inventor do transstor John Bardeen, inventor do transstor

Cincia da computao Fred Williams, inventor da memria RAM Tom Kilburn, inventor da memria RAM Konrad Zuse, inventor independente do computador digital e de linguagens de programao na Alemanha nazista John Vincent Atanasoff, possivelmente o inventor do primeiro computador digital, o computador de Atanasoff-Berry, ABC Clifford E. Berry, assistente de Atanasoff Almirante Grace Hopper, programadora do Mark I, desenvolveu o primeiro compilador; primeira mulher a receber um Ph.D. em matemtica Edsger Dijkstra, lder do ALGOL 60, publicou o artigo original sobre programao estruturada J. Presper Eckert, criador do ENIAC John William Mauchly, criador do ENIAC

Personalidades influentes
Andrew Stuart Tanenbaum, pesquisador na rea de sistemas operacionais, inventor do MINIX; seus livros-texto so dos mais referenciados na rea Edgar Frank Codd, inventor de Banco de dados relacionais Brian Kernighan, inventor do C Dennis Ritchie, inventor do C e do Unix Bjarne Stroustrup, inventor do C++ Ken Thompson, inventor do Unix e da codificao de caracteres UTF-8 Peter Chen, inventor do Modelo de entidades e relacionamentos Donald Ervin Knuth, criador do TeX, da programao literria e da influente srie (inacabada em 2011) sobre algoritmos The Art of Computer Programming Richard Stallman, fundador do projeto GNU Linus Torvalds, criador do ncleo Linux Alan Kay, um dos inventores da orientao a objeto, tambm concebeu o laptop e a interface grfica do utilizador Steve Wozniak e Steve Jobs, Criadores da Apple Inc., e do primeiro computador pessoal, o Apple I Bill Gates e Paul Allen, Criadores da Microsoft, a empresa que criou o Windows

Cincia da computao

reas de pesquisa
Fundamentos matemticos
lgebra linear Anlise Econmica de Sistemas de Informaes - consiste em definir o lucro, receita e custo, e relacionar todos os fatores economicos a produo e desenvolvimento do software Clculo diferencial e integral Clculo numrico Analise combinatria Geometria analtica o estudo de algoritmos para a resoluo de problemas de geometria, ou que dependem da geometria Lgica matemtica lgica booleana e outras formas para a modelagem lgica de problemas Matemtica discreta Probabilidade e estatstica Teoria da informao Teoria das categorias Teoria dos grafos fundaes para estruturas de dados e algoritmos de busca Teoria dos nmeros teoria para a definio de provas a conjunto dos nmeros inteiros, usada em criptografia e no teste de inteligncia artificial Teoria dos tipos anlise formal de tipos de dados e seu uso para entender a propriedade de programas de algoritmos

Tecnologia da computao
Banco de dados Compiladores traduo de algoritmos entre diferentes linguagens de computador, geralmente de uma linguagem de alto nvel, mais abstrata e legvel para seres humanos, para uma linguagem de baixo nvel, mais concreta e voltada para o computador digital Computao grfica gerao sinttica de imagens, e a integrao ou alterao visual de informaes visuais do mundo real Engenharia de software Inteligncia artificial o estudo e a implementao de sistemas que exibem um comportamento autnomo inteligente Processamento de imagens a obteno de informao a partir de imagens Rede de computadores algoritmos e protocolos para a comunicao de dados confivel entre diferentes sistemas, incluindo mecanismos para a identificao e correo de erros

Cincia da computao

Fundamentos de computao
Paradigma de programao Circuitos digitais Complexidade computacional definio de limites computacionais (sobretudo relativo a espao e tempo) fundamentais em classes de computao Criptografia aplicao da complexidade computacional, da probabilidade e da teoria de nmeros para a criao ou quebra de cdigos Estrutura de dados a organizao e as regras para a manipulao de informao Linguagens formais estudo de modelos para especificar e reconhecer linguagens de forma geral Mtodos formais o uso de abordagens matemticas para descrever e formalizar padres de desenvolvimento de software Pesquisa e ordenao Projeto e anlise de algoritmos complexidade computacional aplicada aos algoritmos Robtica o controle do comportamento de robs Semntica formal estudo da especificao do significado (ou comportamento) de programas de computador e partes de hardware Teoria da Computabilidade definio do que computvel utilizando-se os modelos atuais, definindo as possibilidades tericas da computao Teoria da computao Teoria dos algoritmos de informao Teoria dos autmatos

Cincia da computao aplicada


lgebra computacional Especificao de programas Estrutura de dados Informtica educativa Interao homem-computador estudo sobre a utilidade e usabilidade de computadores, tornando-os acessveis s pessoas Otimizao combinatria Pesquisa operacional [6] Planejamento automatizado estuda o processo de deliberao por meio da computao Programao de computadores o uso de linguagens de programao para a implementao de algoritmos Reconhecimento de padres Recuperao de informaes Redes de Petri Redes neurais Redes semnticas Segurana de computadores Sistemas multiagentes Tolerncia a falhas Vida artificial o estudo de organismos digitais

Organizao dos sistemas computacionais


Arquitetura de computadores o desenvolvimento, a organizao, a otimizao e a verificao de sistemas computacionais Computao distribuda computao sendo executada em diversos dispositivos interligados por uma rede, todos com o mesmo objetivo comum Computao paralela computao sendo executada em diferentes tarefas; geralmente concorrentes entre si na utilizao de recursos Computao quntica representao e manipulao de dados usando as propriedades qunticas das partculas e a mecnica quntica Sistemas operacionais sistemas para o gerenciamento de programas de computador e para a abstrao da mquina, fornecendo base para um sistema utilizvel

Fsica
Eletromagnetismo Mecnica quntica

Relacionamento com outros campos


Por ser uma disciplina recente, existem vrias definies alternativas para a cincia da computao. Ela pode ser vista como uma forma de cincia, uma forma de matemtica ou uma nova disciplina que no pode ser categorizada seguindo os modelos atuais. Vrias pessoas que estudam a cincia da computao o fazem para tornarem-se programadores, levando alguns a acreditarem que seu estudo sobre o software e a programao. Apesar disso, a maioria dos cientistas da computaao so interessados na inovao ou em aspectos tericos que vo muito alm de somente a programao, mais relacionados com a computabilidade. Apesar do nome, muito da cincia da computao no envolve o estudo dos computadores por si prprios. De fato, o conhecido cientista da computao Edsger Dijkstra considerado autor da frase "cincia da computao tem tanto a ver com o computador como a astronomia com o telescpio []". O projeto e desenvolvimento de computadores e sistemas computacionais so geralmente considerados disciplinas fora do contexto da cincia da computao. Por exemplo, o estudo do hardware geralmente considerado parte da engenharia da computao, enquanto o estudo de sistemas computacionais comerciais so geralmente parte da tecnologia da informao ou sistemas de informao.

Cincia da computao Por vezes a cincia da computao tambm criticada por no ser suficientemente cientfica, como exposto na frase "Cincia para a cincia da computao assim como a hidrodinmica para a construo de encanamentos", credita a Stan Kelly-Bootle.[7] Apesar disso, seu estudo frequentemente cruza outros campos de pesquisa, tais como a inteligncia artifical, fsica e lingustica. Ela considerada por alguns por ter um grande relacionamento com a matemtica, maior que em outras disciplinas. Isso evidenciado pelo fato que os primeiros trabalhos na rea eram fortemente influenciados por matemticos como Kurt Gdel e Alan Turing; o campo continua sendo til para o intercmbio de informao com reas como lgica matemtica, teoria das categorias e lgebra. Apesar disso, diferente da matemtica, a cincia da computao considerada uma disciplina mais experimental que terica. Vrias alternativas para o nome da disciplina j foram cogitadas. Em francs ela chamada informatique, em alemo Informatik, em espanhol informtica, em holands, italiano e romeno informatica, em polons informatyka, em russo e em grego . Apesar disso, tanto em ingls quanto em portugus informtica no diretamente um sinnimo para a cincia da computao; o termo usado para definir o estudo de sistemas artificiais e naturais que armazenam processos e comunicam informao, e refere-se a um conjunto de cincias da informao que engloba a cincia da computao. Em Portugal, no entanto, apesar de a palavra estar dicionarizada com esse sentido amplo, o termo usado como sinnimo de cincia da computao.

Profisso
De forma geral, cientistas da computao estudam os fundamentos tericos da computao, de onde outros campos derivam, como as reas de pesquisa supracitadas. Como o nome implica, a cincia da computao uma cincia pura, no aplicada. Entretanto, o profissional dessa rea pode seguir aplicaes mais prticas de seu conhecimento, atuando em reas como desenvolvimento de software ou consultoria em tecnologia da informao.
[6] Ghallab, M., Nau, D. S., and Traverso, P. (2004). Automated Planning: Theory and Practice. ISBN 1-55860-856-7 [7] Computer Language, outubro de 1990

Fontes e Editores da Pgina

Fontes e Editores da Pgina


Cincia da computao Fonte: http://pt.wikipedia.org/w/index.php?oldid=35422539 Contribuidores: !Silent, 555, Adailton, Alexandrepastre, Andrezc, Arthurcallado, Askhugo, Autanbr, Bccvictor, Belanidia, Bigs, Bisbis, Bluemask, Bytes OverLoad, Campani, ChristianH, Colaborador Z, Combo, CommonsDelinker, Crash Overclock, Daemorris, Darwinius, Davidrobert, Der kenner, Devilwar, Doomed-br, Dtavares, Eamaral, Eduardo Carvalho, Eduardoferreira, Ellery Souza, Ermeson, Espardo, FML, FSogumo, Fabio.kon, Flipperpaulista, Francisco Leandro, Gahbreehehuh, Gcmachado, Gean, Get It, Grandsire, Gustavob, Heiligenfeld, Hgamboa, Infroger, Jmlogica, Jorge, Kaktus Kid, Kascyo, Kelvis, Lameiro, Lechatjaune, Leonardo.stabile, LeonardoG, Leslie, Lrech, Luis Dantas, Luizdl, Lusitana, Lus Felipe Braga, Maan, Manuel Anastcio, Marcotulio, Mca.leite, MelM, Miguelrj, Mirade, Mmathias, Mschlindwein, Mrio Henrique, Nevermind95, Nortisop, Nuno Tavares, OS2Warp, Onjacktallcuca, Osias, Otaviobrasiloliveira, Patenko, Patrick, PatrciaR, PauloColacino, Pedrotr, Pintopc, RafaAzevedo, Rafael.afonso, Raimundo Norberto, Ramiromagalhaes, Rbeninca, Rhe, Ricardo Ferreira de Oliveira, Rictad, Ricvelozo, Risthel, Rlopes, Roberto Cruz, Rodolfo Andrade, Rodrigo Strauss, Ruy Pugliesi, Salamat, Saugusto, Sergio Kaminski, Sistema428, Sortica, Thrasherbermensch, Vanthorn, Victorc.rodrigues, Vini 175, Vitor Mazuco, Vsombra, Wbrito, Wesleyhen, Xandi, Xexeo, rico Jnior Wouters, 281 edies annimas

Fontes, Licenas e Editores da Imagem


File:Lambda lc.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Lambda_lc.svg Licena: Public Domain Contribuidores: Cathy Richards, Luks, Vlsergey, 1 edies annimas File:Sorting quicksort anim frame.png Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Sorting_quicksort_anim_frame.png Licena: Creative Commons Attribution-ShareAlike 3.0 Unported Contribuidores: en:User:RolandH File:Utah teapot simple 2.png Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Utah_teapot_simple_2.png Licena: Creative Commons Attribution-Sharealike 3.0 Contribuidores: Dhatfield File:3-Tastenmaus Microsoft.jpg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:3-Tastenmaus_Microsoft.jpg Licena: Creative Commons Attribution-Sharealike 2.5 Contribuidores: Darkone Ficheiro:Kugleramme.jpg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Kugleramme.jpg Licena: Public Domain Contribuidores: German, Maksim, Noe, 2 edies annimas Ficheiro:Al-Khwarizmi.jpg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Al-Khwarizmi.jpg Licena: Public Domain Contribuidores: Moez Ficheiro:Ada Lovelace.jpg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Ada_Lovelace.jpg Licena: Public Domain Contribuidores: Aavindraa, DutchHoratius, Ecummenic, Eukryptos, Gene.arboit, Gobonobo, Jean-Frdric, Kilom691, Man vyi, ManuelGR, Mattes, NeverDoING, PMG, Thuresson, Very trivial, Viriditas, Wst, 8 edies annimas Ficheiro:Turing Machine.png Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Turing_Machine.png Licena: Public Domain Contribuidores: Darapti, Porao Imagem:cquote1.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Cquote1.svg Licena: Public Domain Contribuidores: Adambro, Editor at Large, Infrogmation, P 96glin, Waldir, 1 edies annimas Imagem:cquote2.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Cquote2.svg Licena: Public Domain Contribuidores: Editor at Large, Infrogmation, Waldir

Licena
Creative Commons Attribution-Share Alike 3.0 Unported //creativecommons.org/licenses/by-sa/3.0/