de forma geral Metodos formais o uso de abordagens matematicas para descrever e formalizar padroes de desenvolvimento de software Pesquisa e ordenacao Projeto e analise de algoritmos complexidade computacional aplicada aos algoritmos Robotica o controle do comportamento de robos Semantica formal estudo da especificacao do significado (ou comportamento) de programas de computador e partes de hardware Teoria da Computabilidade definicao do que e computavel utilizando-se os modelos atuais, definindo as possibilidades teoricas da computacao Teoria da computacao Teoria dos algoritmos de informacao Teoria dos automatos- Fisica Eletromagnetismo Mecanica quantica- Tecnologia da computacao Banco de dados Compiladores traducao de algoritmos entre diferentes linguagens de computador, geralmente de uma linguagem de alto nivel, mais abstrata e legivel para seres humanos, para uma linguagem de baixo nivel, mais concreta e voltada para o computador digital Computacao grafica geracao sintetica de imagens, e a integracao ou alteracao visual de informacoes visuais do mundo real Engenharia de software Inteligencia artificial o estudo e a implementacao de sistemas que exibem um comportamento autonomo inteligente Processamento de imagens a obtencao de informacao a partir de imagens Rede de computadores algoritmos e protocolos para a comunicacao de dados confiavel entre diferentes sistemas, incluindo mecanismos para a identificacao e correcao de erros- Ciencia da computacao aplicada Algebra computacional Especificacao de programas Estrutura de dados Informatica na Educacao Interacao homem-computador estudo sobre a utilidade e usabilidade de computadores, tornando-os acessiveis as pessoas Otimizacao combinatoria Pesquisa operacional Planejamento automatizado[10] estuda o processo de deliberacao por meio da computacao Programacao de computadores o uso de linguagens de programacao para a implementacao de algoritmos Reconhecimento de padroes Recuperacao de informacoes Redes de Petri Redes neurais Redes semanticas Seguranca de computadores Sistemas multiagentes Tolerancia a falhas Vida artificial o estudo de organismos digitais- Organizacao dos sistemas computacionais Arquitetura de computadores o desenvolvimento, a organizacao, a otimizacao e a verificacao de sistemas computacionais Computacao distribuida computacao sendo executada em diversos dispositivos interligados por uma rede, todos com o mesmo objetivo comum Computacao paralela computacao sendo executada em diferentes tarefas; geralmente concorrentes entre si na utilizacao de recursos Computacao quantica representacao e manipulacao de dados usando as propriedades quanticas das particulas e a mecanica quantica Sistemas operacionais sistemas para o gerenciamento de programas de computador e para a abstracao da maquina, fornecendo base para um sistema utilizavel*Relacionamento com outros camposPor ser uma disciplina recente, existem varias definicoes alternativas para a ciencia da computacao. Ela pode ser vista como uma forma de ciencia, uma forma de matematica ou uma nova disciplina que nao pode ser categorizada seguindo os modelos atuais. Varias pessoas que estudam a ciencia da computacao o fazem para tornarem-se programadores, levando alguns a acreditarem que seu estudo e sobre o software e a programacao. Apesar disso, a maioria dos cientistas da computacao sao interessados na inovacao ou em aspectos teoricos que vao muito alem de somente a programacao, mais relacionados com a computabilidade.Apesar do nome, muito da ciencia da computacao nao envolve o estudo dos computadores por si proprios. De fato, o conhecido cientista da computacao Edsger Dijkstra e considerado autor da frase "Ciencia da computacao