===========================================
E-mail para suporte: george.marra@unialfa.com.br
GitHub
https://github.com/GeorgeMendesMarra/GeorgeMendesMarra
===========================================
Teoria da Computação
📚 Apresentação da Disciplina
A disciplina de Teoria da Computação apresenta os fundamentos matemáticos e conceituais que permitem compreender o que pode ser computado, como os problemas computacionais podem ser representados e quais são os limites da computação.
O estudo parte da relação entre hardware, software, algoritmos e modelos abstratos de computação, avançando para conceitos fundamentais de computabilidade, Máquinas de Registradores, Máquina de Turing e Tese de Church-Turing.
A disciplina também estabelece uma conexão entre a teoria e situações concretas da sociedade e da indústria de tecnologia, utilizando filmes, documentários e estudos de caso para discutir temas como criptoanálise, software livre, privacidade, vigilância, algoritmos e acesso ao conhecimento.
Por fim, os conceitos são relacionados a tecnologias contemporâneas, incluindo criptografia, blockchain, criptomoedas e computação quântica, permitindo compreender como os fundamentos da computação teórica continuam presentes nas tecnologias atuais.
🎯 Objetivos
Objetivo Geral
Compreender os fundamentos da Teoria da Computação, seus modelos formais, seus conceitos de computabilidade e seus limites, relacionando-os à evolução histórica da computação e às tecnologias contemporâneas.
Objetivos Específicos
Ao final da disciplina, o estudante deverá ser capaz de:
* compreender a relação entre hardware, software, algoritmos e máquinas;
* compreender o conceito de computabilidade efetiva;
* diferenciar problemas computáveis e indecidíveis;
* compreender o funcionamento de modelos abstratos de computação;
* estudar Máquinas de Registradores;
* compreender a estrutura e o funcionamento da Máquina de Turing;
* compreender a importância da Tese de Church-Turing;
* identificar os limites teóricos da computação;
* relacionar computabilidade e algoritmos;
* analisar aplicações da computação teórica em criptografia;
* compreender conceitos computacionais presentes em blockchain;
* analisar os impactos da complexidade computacional;
* compreender os fundamentos conceituais da computação quântica;
* relacionar teoria, tecnologia, sociedade e ética.
🧠 Eixo 1 — Fundamentos da Teoria da Computação
O primeiro eixo estabelece os fundamentos necessários para compreender a computação como uma área científica.
1. Programas e Máquinas
Estudo da relação entre máquina física e programa, abordando:
* Hardware;
* Software;
* Instruções;
* Algoritmos;
* Processamento de dados;
* Arquitetura de computadores;
* Arquitetura de von Neumann;
* Memória;
* Processador;
* Execução de instruções.
O objetivo é compreender como um algoritmo pode ser transformado em uma sequência de instruções executáveis por uma máquina.
2. Computabilidade Efetiva
A computabilidade constitui um dos conceitos centrais da disciplina.
São estudadas questões fundamentais como:
> O que pode ser calculado por um computador?
E, principalmente:
> Existem problemas que nenhum computador pode resolver?
A partir dessas questões são introduzidos os conceitos de:
* Problemas computáveis;
* Problemas não computáveis;
* Problemas indecidíveis;
* Algoritmos;
* Funções computáveis;
* Limites da computação.
O estudo permite compreender que determinados problemas não podem ser solucionados por um algoritmo, independentemente da quantidade de memória, velocidade ou poder de processamento disponível.
🤖 3. Modelos de Computação
Máquinas de Registradores
As Máquinas de Registradores constituem um modelo simplificado de computação baseado em:
* Registradores;
* Armazenamento de números;
* Operações aritméticas;
* Incremento e decremento;
* Desvios;
* Execução sequencial de instruções.
Esse modelo permite estudar a computação de maneira abstrata, eliminando características específicas de computadores reais.
Máquina de Turing
A Máquina de Turing constitui um dos principais modelos matemáticos utilizados para formalizar o conceito de computação.
O modelo é composto fundamentalmente por:
* Uma fita potencialmente infinita;
* Uma cabeça de leitura e escrita;
* Um conjunto de estados;
* Um alfabeto;
* Uma função de transição.
A partir desses elementos é possível representar algoritmos e processos computacionais de forma matemática.
A Máquina de Turing é utilizada como referência para discutir o alcance e os limites da computação.
📐 4. Tese de Church-Turing
A Tese de Church-Turing constitui um dos conceitos fundamentais da Teoria da Computação.
A ideia central é estabelecer que aquilo que pode ser considerado efetivamente computável pode ser representado por um modelo formal de computação como a Máquina de Turing.
O estudo dessa tese permite discutir:
* O conceito de algoritmo;
* Computabilidade;
* Modelos formais;
* Limites computacionais;
* Problemas indecidíveis;
* Relação entre diferentes modelos de computação.
A tese é fundamental para compreender que a Teoria da Computação não trata apenas de computadores físicos, mas também da própria definição matemática do que significa calcular.
🎬 Eixo 2 — Teoria da Computação através do Cinema
A disciplina utiliza filmes e documentários como instrumentos de contextualização e análise crítica.
A proposta é utilizar obras cinematográficas para aproximar conceitos abstratos da realidade histórica, tecnológica e social.
🎥 Revolution OS
O documentário Revolution OS (2001) é utilizado para discutir:
* Software livre;
* Código-fonte;
* Linux;
* GNU;
* Open Source;
* Propriedade do software;
* Controle sobre o código;
* Desenvolvimento colaborativo.
A análise permite relacionar o código-fonte à ideia de algoritmo e discutir a importância do acesso ao conhecimento tecnológico.
🎥 Enigma e O Jogo da Imitação
Os filmes Enigma (2001) e O Jogo da Imitação (2014) permitem contextualizar:
* Alan Turing;
* Criptoanálise;
* Máquina de Turing;
* Busca computacional;
* Força bruta;
* Espaço de estados;
* Criptografia;
* Segunda Guerra Mundial.
A análise evidencia como problemas matemáticos e computacionais podem ser transformados em processos automatizados de busca e análise.
🎥 Swordfish — A Senha
O filme Swordfish (2001) é utilizado para discutir conceitos relacionados a:
* Criptografia;
* Segurança computacional;
* Complexidade;
* Senhas;
* Chaves criptográficas;
* Espaço de busca;
* Tempo computacional.
A obra serve como ponto de partida para discutir a diferença entre um problema teoricamente computável e um problema que pode ser computacionalmente inviável em determinado período de tempo.
🎥 Citizenfour
O documentário Citizenfour (2014) permite discutir:
* Vigilância;
* Privacidade;
* Processamento massivo de dados;
* Algoritmos;
* Computação em larga escala;
* Segurança da informação;
* Relações entre tecnologia, Estado e sociedade.
A discussão amplia a Teoria da Computação para além da questão "o que uma máquina consegue calcular?", incorporando também a questão:
> Quem controla os dados, os algoritmos e a infraestrutura computacional?
🎥 O Menino da Internet
O documentário O Menino da Internet é utilizado para discutir:
* Aaron Swartz;
* Software livre;
* Open Access;
* Conhecimento aberto;
* Código;
* Dados;
* Algoritmos;
* Acesso à informação; Propriedade intelectual.
A obra permite estabelecer uma discussão interdisciplinar envolvendo Computação, Ciência, Educação, Direito e Sociedade.
🌐 Eixo 3 — Aplicações Contemporâneas
A Teoria da Computação não está limitada aos modelos clássicos desenvolvidos no século XX.
Seus conceitos continuam sendo fundamentais para compreender tecnologias atuais.
🔐 Criptografia e Blockchain
A disciplina relaciona conceitos de computação teórica com mecanismos utilizados na criptografia moderna e nas redes blockchain.
São estudados conceitos como:
* Funções matemáticas;
* Funções de hash;
* Criptografia;
* Verificação de integridade;
* Chaves criptográficas;
* Prova de trabalho;
* Busca computacional;
* Blockchain;
* Criptomoedas.
No caso do blockchain, a computação aparece tanto na utilização de funções criptográficas quanto na execução de processos computacionais destinados à validação e à construção de registros.
⚛️ Computação Quântica
A disciplina também introduz a Computação Quântica como uma evolução dos modelos computacionais tradicionais.
São apresentados conceitos como:
* Qubits;
* Superposição;
* Computação quântica;
* Algoritmos quânticos;
* Complexidade computacional;
* Algoritmo de Shor;
* Criptografia pós-quântica.
Um dos pontos fundamentais é compreender que a computação quântica não elimina o conceito de computabilidade, mas pode modificar profundamente a eficiência com que determinados problemas podem ser resolvidos.
🚫 Limites da Computação
Um dos principais resultados da disciplina é compreender que nem todo problema pode ser solucionado por um algoritmo.
Entre os conceitos fundamentais estão:
* Problemas decidíveis;
* Problemas indecidíveis;
* Problema da Parada;
* Computabilidade;
* Algoritmos;
* Limites dos modelos computacionais.
Essa discussão conduz a uma das perguntas fundamentais da disciplina:
> Existem problemas que nenhum computador poderá resolver?
A resposta é sim.
A compreensão desses limites diferencia o estudo científico da computação da simples utilização de computadores e linguagens de programação.
🔄 Integração dos Conteúdos
A disciplina pode ser compreendida por meio da seguinte sequência:
TEORIA DA COMPUTAÇÃO
│
┌─────────────────┼─────────────────┐
│ │ │
▼ ▼ ▼
FUNDAMENTOS MODELOS LIMITES
│ │ │
▼ ▼ ▼
Algoritmos Registradores Indecidibilidade
Programas Turing Problema da Parada
Máquinas Computabilidade Computabilidade
│ │ │
└─────────────────┼─────────────────┘
│
▼
APLICAÇÕES PRÁTICAS
│
┌───────────────────┼───────────────────┐
▼ ▼ ▼
Criptografia Blockchain Computação Quântica
│ │ │
└───────────────────┼───────────────────┘
▼
SOCIEDADE
│
┌─────────────┼─────────────┐
▼ ▼ ▼
Privacidade Código Conhecimento
Vigilância Aberto Científico
🎓 Competências Desenvolvidas
Ao concluir a disciplina, espera-se que o estudante desenvolva capacidade para:
* compreender os fundamentos científicos da Computação;
* formalizar problemas computacionais;
* compreender diferentes modelos de computação;
* analisar algoritmos sob uma perspectiva teórica;
* identificar problemas computáveis e indecidíveis;
* compreender os limites dos computadores;
* relacionar computação teórica com criptografia;
* compreender conceitos computacionais relacionados ao blockchain;
* reconhecer impactos da computação quântica;
* analisar criticamente o impacto da tecnologia na sociedade;
* relacionar ciência da computação, tecnologia e questões éticas;
* desenvolver pensamento lógico e abstrato.
🔥 Síntese da Disciplina
A disciplina pode ser resumida em quatro grandes perguntas:
1. O que é computação?
Estudo dos conceitos de algoritmos, programas, máquinas e modelos computacionais.
2. O que pode ser computado?
Estudo da computabilidade e dos modelos formais, especialmente a Máquina de Turing.
3. O que não pode ser computado?
Estudo dos problemas indecidíveis e dos limites fundamentais da computação.
4. Como esses conceitos aparecem no mundo real?
Aplicação dos conhecimentos em:
* Criptografia;
* Criptoanálise;
* Blockchain;
* Criptomoedas;
* Segurança;
* Privacidade;
* Software livre;
* Acesso ao conhecimento;
* Computação quântica.
📌 Conceito Central
> A Teoria da Computação investiga os fundamentos, as possibilidades e os limites do processo de computação.
Mais do que aprender uma tecnologia específica, o estudante aprende a compreender o que significa computar, quais problemas podem ser resolvidos por algoritmos e quais permanecem fora do alcance de qualquer máquina computacional.
Essa perspectiva permite compreender que tecnologias aparentemente diferentes — como sistemas operacionais, criptografia, inteligência artificial, blockchain e computação quântica — possuem uma base conceitual comum: algoritmos, dados, modelos computacionais e limites matemáticos.
Nenhum comentário:
Postar um comentário