Please enable JavaScript.
Coggle requires JavaScript to display documents.
Adaptação da área na era do imediatismo (Teoria da Computação (Instrumento…
Adaptação da área na era do imediatismo
Conveniência de estudar
Uso mecânico de elementos existentes
Tendencias tecnológicas
Reaproveitamento de produtos e esforços anteriores
Cultivo da formação científica para profissionais centrados nos trabalhos em criatividade
Teoria da Computação
Instrumento de trabalho para diversas áreas
Ensinamento com qualidade
Pouca ênfase a um trabalho de conscientização
Necessidade de conscientização
Linguagens Formais e Autômatos
o processamento de linguagens
de programação textuais, a representação de processos,
estruturas e protocolos de comunicação
fluxo da lógica dos programas, e de máquinas cujo funcionamento depende de sucessivas alterações
Tem como importância:
proporciona uma visão panorâmica das bases científicas da computação;
proporciona fundamentos teóricos para a área através do estudo de assuntos tais como decidibilidade, computabilidade e complexidade computacional;
fornece um sólido lastro para o desenvolvimento de inúmeras aplicações computacionais entre as quais o processamento de linguagens o reconhecimento de padrões e a modelagem de sistemas;
estabelece um forte elo entre a teoria e a prática computacional;
permite que os conceitos e os resultados da teoria referente às linguagens seus geradores reconhecedores e analisadores possam ser aplicados de forma rígida;
é um dos temas que se mostra mais eclético e menos divorciado dos demais assuntos estudados na Teoria da Computação
Linguagens de Programação
Temas teóricos mais relevantes:
As Semânticas Formais clássicas;
O Cálculo Lambda e a Teoria dos Combinadores;
A Lógica de Floyd-Hoare
A relativamente recente Teoria de Objetos
Razões para entender linguagens de programação
As linguagens de programação modernas incorporam
inúmeros conceitos não-triviais
Desenvolvimento de softwares de segurança
Criação da interface de softwares, mediando assim a comunicação do programador e do cliente
Sistemas que se utilizam de linguagem de programação são cada vez mais comuns
Teoria da Computabilidade
Abrange
Sintaxe e semântica da linguagem de programação
Estudo da enumeração e da universalidade das funções computáveis
Programas recursivos
Regras de provas para propriedades dos programas
Dentre outros.
Complexidade Computacional
Exige a compreensão de fenômenos não triviais resultantes da interação da computação da lógica e das aplicações para investigar as razões de alguns problemas apresentarem soluções computacionais tão onerosas
Tópicos a serem considerados úteis na Complexidade Computacional
Algoritmos
Máquina de Turing
Lógica booleana
O estabelecimento de Classes de Complexidade
Reduções e completude
Computação paralela
Métodos de avaliação de objetivo
Embasamento matemático sólido para os modelos desenvolvidos
Fundamentação científica para as decisões
tomadas
Alta qualidade técnico-científica
para os produtos desenvolvidos
Anteposição de um planejamento científico à aplicação de práticas tecnológicas
Expurgo consequente da prática de reaproveitamento míope de peças pré-fabricadas no desenvolvimento de produtos de software de alta qualidade
Temas chave
Delinea-se as dependências relativas e aplicações
Constata mais facilmente a relevância que apresenta
Tem como base a Teoria dos Conjuntos
Junto com a Lógica Matemática, serve como alicerce para muitas áreas da computação, como a Engenharia de Software, Software Básico e Linguagens de Programação
Os porquês da Teoria da Computação
Segundo Reynolds, em busca de atividades remuneradas permanentes que os satisfaçam os profissionais costumam principalmente no início de suas carreiras mudar de emprego com uma certa frequência e isso reforça a necessidade que têm de uma base conceitual sólida e abrangente especialmente na área da Computação
Para Greenlaw, o conhecimento da teoria auxilia o profissional até mesmo em aspectos de natureza humanística como é, por exemplo o caso da utilização das complexas técnicas da criptografia para garantir privacidade no computador e o domínio desse conhecimento influi decisivamente na competência com que o profissional da computação exerce sua ocupação
Tópicos mais comumente estudados
matemática discreta teoria dos grafos teoria dos conjuntos e teoria das funções recursivas; linguagens formais e autômatos;
complexidade e intratabilidade;
máquinas finitas sequenciais com entrada e saída transdutores máquinas de Mealy e de Moore;
lógica matemática gramáticas formais modelos matemáticos teoremas;
aspectos teóricos subjacentes a redes neurais computação evolutiva e sistemas nebuloso
Ferramentas conceituais
Álgebra booleana
Teoria das relações e álgebra relacional
Autômatos, transdutores e outras máquinas de estados clássicas
Expressões regulares
Gramáticas gerativas
Teoria da complexidade computacional
Adaptatividade
Teoria dos conjuntos difusos
Mais importante alicerce das bases conceituais da
Ciência da Computação
George Boole percursor da Ciência da Computação
Século XIX
Máquinas e algoritmos foram criados, otimizando o processo
Modernidade
Turing,
Gödel e Church
Chomsky criou alicerces gramáticos que mais tarde ajudaram na análise léxica e sintática de linguagem de programação
Computação pode ser dado ao uso de algoritmos para a resolução de problemas
Um bom profissional deve conhecer e dominar profundamente em teoria e prática todo o processo de elaboração de algoritmos
Teorias em bases matemáticas muito bem estruturadas
Surgiu no século XX
Estuda modelos formais de computação, sua
aplicabilidade e sua viabilidade prática à resolução das diversas classes existentes de problemas
Modelos de computação
Máquina de Turing, trabalha com moderadores muito rudimentares sobre instruções e dados gravados uma uma fita de trabalho comprimento infinito
Cálculo Lambda, representado e proposto na representação de programas desenvolvidos segundo o paradigma de programação adotado pelas linguagens funcionais
Funções recursivas, permite a manipulação direta de valores numéricos
Gramática gerativa, permitem a representação de linguagens através da regra de substituição que operam sobre sequência de símbolos, sendo usadas em linguagens artificiais
Dispositivos Adaptativos, particularmente aqueles baseados em autômatos, são modelos de computação capazes de representar fenômenos computacionais complexos através de um conjunto de regras. Se baseia em ações adaptativas para a máquina em relação as regras.
Analisado pelo o estudo da
classe das linguagens formais