Ciência da Computação
A ciência da computação é uma disciplina que abrange teoria e prática. Requer pensamento tanto em termos abstratos quanto em termos concretos. O lado prático da computação pode ser visto em todos os lugares. Hoje em dia, praticamente todo mundo é um usuário de computador, e muitas pessoas são até mesmo programadores de computador. Fazer com que os computadores façam o que você quer que eles façam exige experiência prática intensiva.
Mas a ciência da computação pode ser vista em um nível mais alto, como uma ciência da solução de problemas. Os cientistas da computação devem ser peritos em modelar e analisar problemas. Eles também devem ser capazes de projetar soluções e verificar se estão corretas. A resolução de problemas requer precisão, criatividade e raciocínio cuidadoso.
A ciência da computação também tem fortes conexões com outras disciplinas.
Muitos problemas em ciência, engenharia, assistência médica, negócios e outras áreas podem ser resolvidos de forma eficaz com computadores, mas encontrar uma solução requer conhecimentos especializados em ciência da computação e conhecimento do domínio específico da aplicação. Assim, os cientistas da computação geralmente se tornam proficientes em outros assuntos.
Finalmente, a ciência da computação tem uma ampla gama de especialidades. Estes incluem arquitetura de computadores, sistemas de software, gráficos, inteligência artificial, ciência computacional e engenharia de software. A partir de um núcleo comum de conhecimento em ciência da computação, cada área de especialidade se concentra em desafios específicos.
A Ciência da Computação é praticada por matemáticos, cientistas e engenheiros. A matemática, as origens da Ciência da Computação, fornece razão e lógica. A ciência fornece a metodologia para aprendizado e refinamento. Engenharia fornece as técnicas para a construção de hardware e software.
Principais áreas da Ciência da Computação
1. Sistemas Operacionais - preocupados com o desenvolvimento e estrutura de programas complexos que facilitam a comunicação homem-máquina.
2. Ciência computacional - a análise de métodos numéricos para resolver problemas matemáticos com um computador.
3. Linguagens de Programação - o estudo do design e das propriedades das linguagens pelas quais os humanos se comunicam com os computadores.
4. Arquitetura - o estudo e uso de lógica matemática para projetar circuitos eletrônicos.
5. Sistemas Inteligentes - preocupados com os meios pelos quais os computadores podem executar tarefas que podem ser caracterizadas como "inteligentes" se executadas por seres humanos.
6. Teoria de Autômatos - um estudo abstrato de computadores e suas capacidades.
7. Armazenamento e Recuperação de Informações - o estudo de métodos para armazenar uma grande quantidade de dados em um computador e métodos para procurar e recuperar esses dados.
8. Engenharia de Software - o estudo de ferramentas e técnicas para projeto, desenvolvimento, teste e manutenção de software.
Origem da Ciência da Computação
Leibniz já havia lidado com representações de números binários . Juntamente com a álgebra booleana , que foi primeiramente desenvolvida em 1847 por George Boole , eles formam os fundamentos matemáticos mais importantes de sistemas de computador posteriores.
Em 1937, Alan Turing publica seu trabalho On Computable Numbers com uma aplicação para o problema da decisão , no qual a máquina de Turing em seu nome é apresentada, um modelo de máquina matemática que ainda é de suma importância para a ciência da computação teórica .
O conceito de previsibilidade Até hoje, modelos universais como a máquina de Turing e a teoria da complexidade , que começaram a se desenvolver a partir da década de 1960, ainda estão na parte inferior da equação. A calculabilidade remonta ao presente em variantes desses modelos.
Etimologia
A palavra ciência da computação é a fusão de informação e matemática . O termo ciência da computação foi cunhado por Karl Steinbuch e pode ser rastreado até sua primeira publicação Informatik: Automatic Information Processing de 1957.
Depois de um colóquio internacional em Dresden, em 26 de fevereiro de 1968, a ciência da computação prevaleceu como designação para a ciência, seguindo o modelo francês e russo, também na área de língua alemã. Enquanto no idioma Inglês, o termo Ciência da Computação é habitual, o equivalente alemão era ciência da computação não prevalecer. No entanto, o termo informática é usado em inglês para certas partes da ciência da computação aplicada - como no caso da bioinformática ou da geoinformática., Para traduções para o inglês, o termo informática é preferido em relação à ciência da computação alemã
Teoria da Ciência da Computação
Como a espinha dorsal da ciência da computação, o campo da ciência da computação teórica lida com os aspectos abstratos e matemáticos da ciência. A área é ampla e lida, entre outras coisas, com tópicos de lingüística teórica ( teoria das linguagens formais ou teoria de autômatos ), teoria de calculabilidade e complexidade . O objetivo dessas subáreas é responder perguntas fundamentais como "O que pode ser calculado?" e quão eficientemente você consegue calcular alguma coisa para responder de forma abrangente.
Teoria dos Autômatos e Linguagens Formais
Na ciência da computação, máquinas são "máquinas imaginárias" que se comportam de acordo com certas regras. Uma máquina de estados finitos tem um conjunto finito de estados internos. Ele lê um caractere de "palavra de entrada" por caractere e executa uma transição de estado para cada caractere. Além disso, pode produzir um "símbolo de saída" em cada transição de estado. Após a entrada ter sido completada, o autômato pode aceitar ou rejeitar a palavra de entrada.
A abordagem das linguagens formais tem suas origens na lingüística e, portanto, é adequada para descrever linguagens de programação. As linguagens formais também podem ser descritas por modelos de máquinas, já que o conjunto de palavras aceitas por uma máquina pode ser considerado uma linguagem formal.
Modelos mais complicados têm uma memória, por exemplo, máquinas de adega ou a máquina de Turing, que, de acordo com a tese de Church-Turing, podem simular todas as funções calculáveis pelo homem.
Teoria da Computabilidade
No âmbito da teoria da calculabilidade , a ciência da computação teórica investiga quais problemas podem ser resolvidos com quais máquinas. Um modelo de computador ou uma linguagem de programação é chamado Turing-complete , se ele puder simular uma máquina de Turing universal . Todos os computadores usados hoje e a maioria das linguagens de programação são Turing-complete, o que significa que você pode resolver as mesmas tarefas. Modelos de cálculo alternativos, como o cálculo lambda , os programas WHILE , as funções recursivas μ ou as máquinas registradoras também se mostraram Turing-completos. A partir desses achados, desenvolveu-seA tese de Turing , que não é formalmente demonstrável, é geralmente aceita.
O conceito de decidibilidade pode ser ilustrado como a questão de saber se um determinado problema é solucionável por algoritmos. Um problema decidível, por exemplo, é a propriedade de um texto para ser um programa sintaticamente correto. Um problema não decidível, por exemplo, é a questão de se um determinado programa com determinados parâmetros de entrada chegará a uma conclusão, o que é chamado de problema de espera.
Teoria da Complexidade
A teoria da complexidade lida com os requisitos de recursos de problemas tratáveis por algoritmos em diferentes modelos formais de computador definidos matematicamente, bem como a qualidade dos algoritmos que os resolvem. Em particular, os recursos " tempo de execução " e " espaço de armazenamento " são examinados e sua necessidade é geralmente na notação de Landau.mostrado. Em primeiro lugar, o tempo de execução e o requisito de memória são anotados dependendo do comprimento da entrada. Algoritmos que diferem no máximo por um fator constante em seu tempo de execução ou seus requisitos de memória são, pela notação de Landau da mesma classe, ie. h. um conjunto de problemas associados ao tempo de execução equivalente necessário pelo algoritmo para a solução.
A maior questão em aberto na teoria da complexidade é a questão de " P = NP ?" , O problema é uma das questões do milênio que o Clay Mathematics Institute está oferecendo por US $ 1 milhão. Se P não é igual a NP, problemas NP-completos não podem ser resolvidos eficientemente.
Teoria das linguagens de programação
Esta área lida com a teoria, análise, caracterização e implementação de linguagens de programação e é ativamente pesquisada em ciência da computação prática e teórica. A subdisciplina influencia fortemente as disciplinas adjacentes, como matemática e linguística.
Teoria dos métodos formais
A teoria dos métodos formais lida com uma variedade de técnicas para a especificação formal e verificação de sistemas de software e hardware . A motivação para esta área vem do pensamento de engenharia - uma análise matemática rigorosa ajuda a melhorar a confiabilidade e a robustez de um sistema. Essas propriedades são particularmente importantes em sistemas que operam em áreas críticas de segurança. A exploração de tais métodos requer, entre outras coisas, conhecimento de lógica matemática e semântica formal .
SITES SOBRE CIENCIA DA COMPUTAÇÃO NA ALEMANHA
SITES SOBRE CIÊNCIA DA COMPUTAÇÃO REPUBLICA TCHECA
SITES SOBRE CIÊNCIA DA COMPUTAÇÃO NA ESPANHA
SITES SOBRE CIÊNCIA DA COMPUTAÇÃO NA ITALIA