Você está na página 1de 5

BOOTCAMP DECOLA TECH

PENSAMENTO COMPUTACIONAL
Passo a passo para definir instruções dentro de uma resolução de um problema e as instruções vão definir a
resolução, como você chega naquela solução. Não se restringe ao computador.

 Sistemático e eficiente na formulação e resolução de problemas


 Habilidade generalista

Baseado em quatro pilares:

 Decomposição
o Segmentar um problema complexo de forma que consiga encontrar problemas menores e
resolvíveis.
 Reconhecimento de Padrões
o Identificar padrões ou tendencias, similaridades e diferenças entre problemas.
 Abstração
o Extrapolar o conceito de um problema para uma forma generalista. Tirar do mundo concreto e levar
para o mundo das ideias.
o Programação Orientada a Objetos
 As classes são abstrações de um modelo de entidade de software.
o Modelar um fenômeno e definir equações matemáticas que representem aquele fenômeno
 Design de Algoritmos
o Automatização da resolução de um problema
o Passo a passo para solução do problema.
o Algoritmo: Dada uma entrada (input) acontece uma sucessão de operações que vão ser executadas
sequencialmente ou dependendo de uma condição e vão gerar um resultado. Se o resultado é
esperado ou não, depende da formulação do algoritmo.

Exemplo de utilização dos 4 pilares:


Decompomos o problema, reconhecemos padrões que poderiam ser interessantes pra encontrar a solução,
abstraímos para uma forma generalista e então definimos as instruções passo a passo pra determinar a solução
daquele problema.
Processo Contínuo
Uma vez encontrada a resolução de um problema é preciso entender se é a melhor maneira possível, testar e
aperfeiçoar.
Teste -> Análise -> Refinamento
 Definir uma solução
 Testar a solução
 Aperfeiçoar a solução encontrada
Não são pilares, mas são inerentes ao processo de resolução de um problema:
Raciocínio Lógico ↔ Decomposição ↔ Reconhecimento de Padrões ↔ Abstração ↔ Design de Algoritmos ↔
Refinamento

Aperfeiçoamento

 Encontrar solução eficiente (melhor uso de recursos)


 Otimizar processos (melhor uso de recursos)
 Simplificar linhas de códigos (melhorar códigos e algoritmos)
 Funções bem definidas (melhorar códigos e algoritmos)
RACIOCÍNIO LÓGICO

Forma de pensamento estruturado que permite encontrar a conclusão ou determinar a resolução de um problema.
Classificação:
 Indução
o Acontece a partir de um fenômeno observado e a partir do fenômeno se consegue determinar leis e
teorias relacionadas àquele fenômeno. Dedução que algo acontece a partir de uma observação.
 Empirismo
 Ciências Experimentais
 Dedução
o Trabalho inversão da indução, a partir de leis e teorias se consegue deduz explicações e previsões
pra um fenômeno.
 Ciências Exatas
 Abdução
o Com uma conclusão se tira a premissa, ou seja, a partir de algo observado você supõe outra coisa.
 Exemplo: A grama está molhada (conclusão), logo deve ter chovido (premissa).
 Investigativo
 Diagnóstico
A partir de uma inferência, temos um pensamento por síntese (construção) e um pensamento analítico.
Sintética → Abdução e indução
Analítica → Dedução.
PILARES: DECOMPOSIÇÃO
Dado um problema complexo, devemos quebrá-lo em problemas menores. Portanto, problemas mais fáceis e
gerenciáveis.
Estratégia
Análise → Processo de quebrar e determinar partes menores e gerenciáveis
 Estudar e explorar o contexto tentando decompor os elementos constituintes de forma de realizar um
exame detalhado do que precisa ser feito e resolvido.
Síntese → Combinar os elementos recompondo o problema original
 É um passo a passo, primeiro é feita a parte da análise e depois recombinado os elementos de forma que
faça sentido.
 Reunir os elementos distintos de em um grande elemento dentro de um processo de reconstrução e fundir
os elementos de maneira coerente dando sentido a solução encontrada.

Ordem de execução de tarefas menores


 Sequencial
o Dependência entre tarefas, executadas em fila. As vezes um problema depende de outro, pois uma
variável está inserida dentro do contexto do outro e pra você resolver aquele problema precisa do
problema anterior resolvido.
 Paralelo
o Tarefas podem ser executadas concomitantemente, recorrentemente. São isoladas independente e
depois de serem resolvidas elas são agregadas de maneira que faça sentido resolver o problema.
o Mais eficiência e menos tempo.

Dentro da decomposição temos as variáveis presentes dentro dos problemas pequenos que são determinadas pela
segmentação do problema maior. Existem maneiras diferentes de decompor o mesmo problema.
Como decompor?
Identificar ou coletar os dados relacionados ao problema, a partir da identificação e segmentação das
informações/problemas menores, agrega-se os dados e depois entrega-se a funcionalidade/resolução do problema.
Exemplo:
 Identificar os ingredientes
 Determinar as etapas (sequencial ou paralelo)
 Executar cada etapa
 Agregar os ingredientes para finalizar (recompor com coerência)
PILARES: RECONHECIMENTO DE PADRÕES
Modelo base e que determina uma estrutura invariante e que pode determinar uma repetição. A partir de um
modelo, se pode determinar objetos diferentes em que se repita a estrutura.
Exemplo: tenho um modelo de cadeira, ela tem assento, encosto, pés e pode ter braços, então o tipo de pé pode
variar, o material também, o tamanho do encosto, se tem braço ou não. Existe uma variação, mas existe um modelo
de referência pra que se possa considerar que é uma cadeira.
No contexto computacional, reconhecemos padrões através de similaridades e diferenças.
Exemplo2: Fotos de redes sociais
As imagens são muito grandes, então elas passam por um processo de compressão pra que sejam salvas no servidor
de dados. Esse é um padrão utilizado por plataformas diferentes.
Por que determinar padrões?
Ao detectar padrões, conseguimos generalizar com objetivo de obter resolução para diferentes problemas.
O computador reconhece padrões através de comparações. Representar atributos pra que a máquina consiga
aprender através de um conceito associado ao objeto pra que armazene esses dados para consultas posteriores a
fim de determinar em qual categoria o objeto se encaixa e a partir disso temos as regras de decisão, ex: o elemento
A tem as características de uma determinada classe minha então provavelmente ele é esse tipo de objeto.
A detecção de padrão vem a da ideia de extrair características a fim de classificar os dados. E é possível utilizar
diferentes métodos de reconhecimento de padrões e aplicar a aplicações distintas. Ex de aplicações que utilizam
reconhecimento de padrão: classificação de dados e documentos, reconhecimento de imagem e fala, análise de
cenas. Áreas: IA, ciência de dados, machine learning.

PILARES: ABSTRAÇÃO/GENERALIZAÇÃO
Abstrair: Observar um ou mais elementos avaliando as características e propriedades separadas.
Abstração: Processo intelectual de isolamento de um objeto da realidade.
Generalização, na lógica, é a operação intelectual que consiste em reunir numa classe geral, um conjunto de seres ou
fenômenos similares. Quando generalizamos, conseguimos determinar classes e objetos que compõem essas
classes.
Como classificar dados?
Através de características que venham de encontro a definição de abstrair, detectar os pontos essenciais e
generalizar em detrimento dos detalhes. É preciso saber diferenciar as características dos detalhes.
PILARES: ALGORITMOS
O objetivo de um computador é receber, manipular e armazenar dados e processar os dados. O computador precisa
de instruções pra executar, ele não resolve problemas sem dizermos o que queremos, pra isso ele precisa de
instruções de detalhadas e essas instruções detalhadas são utilizadas do processamento dos dados dentro do
computador através dos programas. Os programas dão das instruções e essas instruções tem um passo a passo do
que o computador precisa fazer, o computador armazena e processa os dados.
Precisamos saber o que precisa ser feito e qual a ordem de execução pra determinar instruções.

Desenvolvimento do Programa
Análise – Algoritmo – Codificação
Instruções detalhadas – Algoritmo – Programa

Algoritmos
 Sequência de passos com objetivo definido
 Execução de tarefas especificas
 Conjunto de operações que resultam em uma sucessão de ações
 Instruções executadas passo a passo pra concluir a tarefa

Como construir um algoritmo?


Compreensão do problema
Definir dados de entrada
Definir processamento
Definir dados de saída
Utilizar um método de construção

Você também pode gostar