Você está na página 1de 10

Tópicos de Introdução à Programação e Pensamento computacional

(baseado na abordagem feita pela Mestra JULIANA MASCARENHAS)


==============================================================

INTRODUÇÃO:

-------------------------------------

Pensamento computacional é?

Processo de pensamento envolvido na expressão de soluções em passos computacionais


ou algoritmos que possa ser implementados por computador

Não é uma disciplina acadêmica, é uma habilidade generalista que utiliza a


matemática, leitura, escrita com base em 4 PILARES:

Decomposição --> Dividir um problema com plexo em subproblemas

Padrões, reconhecimento de --> Identificar similaridades e diferenças entre


os problemas

Abstração --> Extrapolar o conceito do problema para uma forma generalista

(pegar do mundo concreto para o idealistas)

Algoritmos, design de --> Automatizar - definir passo a passo a solução do


problema

As habilidades inerente ao processo são:

Raciocínio Lógico

Decomposição

Padrões

Refinamentos

Exemplos:

Na Biologia - Modelagem e mapeamento do genoma humano

Computação: Simulação de problemas de alta ordem em supercomputadores


(matemática)

Competências geradas no processo:

Pensamento sistemático

colaboração dentro da equipe

criatividade e design

facilitador
------------------------------------------------

* Habilidades complementares

------------------------------------------------

Raciocínio lógico

pensamento estruturado, ou raciocínio, que permite encontrar a conclusão ou


determinar a resolução de um problema. Você adquiri esta habilidade através do
TREINAMENTO

Ele é estruturado(classificado) da seguinte forma:

INDUÇÃO - dado um fenômeno que estou observando, pego a particularidade


do cenário e extrapolo para os campos das ideias e determinar Leis e teorias =
ciências experimentais (tentativas e erros, observação)

DEDUÇÃO - Inversão da Indução - dada uma lei e teoria vou realizar uma
dedução e realizar previsões e explicações baseadas em uma Lei.

ABDUÇÃO - utiliza a conclusão para chegar a premissa "A grama está


molhada, logo choveu". (Utilizada em áreas investigativas, diagnósticos)

Para segmentar e entender a classificação do raciocínio lógico, devemos


utilizar a inferência:

INFERÊNCIA:

SINTÉTICAS (Abdução, indução)

ANALÍTICA (Dedução)

Aperfeiçoamento (A partir de uma solução, determinar pontos de melhorias e


refinamentos):

Melhor uso de recursos:

Encontrar solução eficiente

Otimizar processos

Melhorar códigos e algoritmos:


Simplificar linhas de códigos

Funções bem definidas

******************************************************************

Vamos agora compreender cada ETAPA de um pensamento computacional

_______________________________________________

--------------------------------------------------------------------------------

* Decomposição "By yourself"

==============================================

"Se você tem um problema que não consegue resolver, existe um problema mais fácil
que você pode resolver: Encontre-o!" George Polya - Prof. Matemático

Primeiro passo da resolução de problemas dentro do conceito de pensamento


computacional:

"Dado um problema complexo, devemos quebra-lo em problemas menores. Portanto,


problemas mais fáceis e gerenciáveis"

Processos:

Análise - Processo de quebrar e determinar partes menores e gerenciável

Você precisa estudar e explorar o seu contexto, tentando decompor


os elementos constituintes daquele seu problema de forma a realizar um exame bem
detalhado do que você precisa resolver

Síntese - Combinar elementos recompondo o problema original

É um processo passo a passo, quebrar o contexto para fazer a


análise e recompõem o problema original de forma que faça sentido.

Consiste em reunir elementos distintos de um único grande


elemento dentro de um processo de reconstrução e daí você fundir os elementos de
maneira coerente dando sentido a sua solução.

Quebrando em problemas menores


Ordem de execução de tarefas menores:

SEQUENCIAL - Existirá dependências entre as tarefas ou problemas


separados que foi determinada uma ordem para serem resolvidos

PARALELO - Tarefas podem ser executadas concomitantemente de


maneira que elas são isoladas independentes e depois que estas tarefas são
resolvidas serão agregadas de maneira que façam sentidos para resolver o problema

Você precisa treinar maneiras distintas de decompor o mesmo problema.

Como decompor?

Entenda o problema - identifique ou colete dados

Agregue os dados - recompor com coerência

Entregue Funcionalidade - resolução do problema

--------------------------------------------------------------------------------

* Reconhecimento de Padrões:

==============================================

Modelo de referencia que determina uma estrutura invariante e que pode gerar
repetição

Modelo base

Estrutura invariante

Repetição

É através da detecção de similaridades e diferenças entre os contextos e objetos


que reconhecemos um padrão.
A detecção de padrão ela aborda a ideia de você extrair características a fim de
classificar seus dados utilizando-se de diferentes métodos e aplicá-los em
diferentes contextos.

Ex.:

No modelo de armazenamento de uma rede social, as fotos estão associadas por


METADATA e utiliza-se uma técnica de "COMPRESSÃO(padrão)" para salvamento no
servidor de dados.

Os seres vivos utilizam o padrão de Similaridade para identificar seus


alimentos

Por que determinar padrões?

Para poder Generalizar. Com objetivo de obter resolução para problemas


diferentes

Como fazer um padrão?

Através de Classes e categorias:

Ex.:

Grau de similaridade,

Grupos conhecidos x objeto desconhecido

Como o computador reconhece padrões?

No computador precisamos

Fornecer atributos

Aprender por associação

Armazenar estes dados

e por fim Regras de decisão.


Onde utilizamos esses padrões?

Classificação de dados

Reconhecimento de imagem

Reconhecimento de fala

Análise de cenas

Classificação de documentos

Algumas áreas do reconhecimento que utilizam o reconhecimento de padrões:

Machine Learning

Redes Neurais

Inteligência Artificial

Ciência de dados

--------------------------------------------------------------------------------

* Abstração: Generalização / Abstração

==============================================

Abstrair é observar um ou mais elementos, avaliando características e propriedades


em separado

Abstração é um Processo intelectual de isolamento de um objeto da realidade

Abstrair X Abstração:

Detectar característica X Extrapolar o objeto do mundo concreto para o mundo


das ideias
Generalização - Tornar-se geral, mais amplo, extenso.

Nesse processo precisamos pegar os elementos principais de um determinado


objeto extrapolá-lo para um mundo abstrato de maneira que você o torne geral

Abstrair é generalizar!

Na lógica a generalização é a operação intelectual que consiste em reunir


numa classe geral, um conjunto de seres ou fenômenos similares.

Como classificar esses dados?

Avaliando suas características e separando-os por suas propriedades

Identificar os pontos essenciais(peculiaridades. ex. Nome completo,


matrícula, endereço)

Generalizar em detrimento dos detalhes

Exemplo:

Limpar o terreno:

1 - Preciso classificar? Não

2 - Preciso verificar a distância? sim

3 - Preciso identificar áreas preservadas? sim

--------------------------------------------------------------------------------

* Algoritmo "step by step"

==============================================

Principal pilar para o pensamento computacional:

Uma sequência de passos com objetivo definido para

Execução de tarefas específicas através de um


Conjunto de operações que resultam em uma sucessão finita de ações

Algoritmo é o processo de resolução de problemas "step by step" utilizando


instruções. Que precisa ser entendido pela máquina e pelo humano.

Onde se aplica um algoritmo:

Ao preparar um sanduiche, trocar uma lâmpada, traçar o trajeto ao trabalho,


desenvolver um sistema, entre outros.

Todas essas tarefas envolvem instruções executadas passo a passo para concluir uma
tarefa.

O Algoritmo descreve o problema por meio de ferramentas narrativas, fluxograma, ou


pseudocódigo

Como construir?

Compreender o problema

Definir dados de entrada

Definir processamento

Definir dados de saída

Utilizar um método de construção(refinamento),

Realizar teste e diagnóstico

Os métodos de algoritmos:

Narrativa(Linguagem natural) - Pode ser ambígua e fornecer diversas


interpretações

Fluxograma(símbolos pré-definidos) - conhecimento prévio da estrutura e


símbolos
Pseudocódigo(Portugol) - Passos a serem seguidos, próximo a uma linguagem de
programação

Codificação:

O algoritmo é codificado de acordo com a linguagem de programação escolhida

--------------------------------------------------------------------------------

Estudo de caso conceitual: perdido

==============================================

Como maximizar as chances de sobrevivência para uma pessoa que está perdida na
floresta!

Como resolver um problema utilizando o pensamento computacional?

Identificar mecanismos, os recursos comuns e detalhes mais importantes.

RESOLVENDO:

Decomposição do problema original

Reconhecimento de padrões (Verificar REPETIÇÃO)

Abstração (observando os detalhes cruciais a situação, sem


detalhamento)

Determinar instruções passo a passo

--------------------------------------------------------------------------------

Estudo de caso conceitual: soma de intervalo

==============================================
Decomposição do problema original

Reconhecimento de padrões (Verificar REPETIÇÃO)

Abstração (estrutura de repetição, variáveis)

Estruturar em algoritmo.

=============================================

A parte de Lógica, algoritmo e programação ficarão para outros tópicos.

Espero que ajude nos estudos!

Você também pode gostar