Você está na página 1de 12

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

(baseado na abordagem feita pela Mestra JULIANA MASCARENHAS)


==============================================================
Hi guys,

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

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!

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

Q U I Z - JULIANA MASCARENHAS
-----------------------------------------------------------------------------------
--

Qual das afirmações é falsa?

* Durante o processo de abstração o problema é particularizado, de forma que ele


seja aplicável a apenas um caso específico.

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

As informações são processadas pelo computador com objetivo de encontrar a solução


de um problema. As informações são classificadas em dois tipos. Quais são?

* Dados e instruções.

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

Qual das afirmações sobre é VERDADEIRA ?

* O pensamento computacional é uma habilidade generalista

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

O paradigma estruturado ainda é muito utilizado para tratar problemas mais simples
de maneira direta. Além disso, a maioria das pessoas aprendem programação através
deste paradigma. Aponte quais das características abaixo pertencem ao paradigma
supracitado.

* Sequência, decisão e iteração

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

Dentro de um ambiente computacional, o programador lida com diferentes tipos de


dados. Quais destes NÃO é um tipo básico de dados:

* Lista encadeada.

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

O processo de tradução de um programa gera um novo programa que é executado pelo


computador. Esse programa é denominado:

* Programa Objeto.
-----------------------------------

O que são funções?

* Bloco de instruções/operações com tarefas específicas que podem ser utilizadas


por todo programa principal.

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

Qual dos métodos de construção de algoritmo utiliza a linguagem natural para


expressar as instruções passo a passo?

* Narrativa.
----------------------------------------

O processo de aperfeiçoamento, ou refinamento é necessario ...

* para otimizar recursos e facilitar entendimento


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

Um algoritmo tem a função de verificar o estado de um cliente que pode ser ativo ou
inativo. Uma variável é definida no programa para armazenar este estado. A variável
recebe apenas os valores Verdadeiro e Ffalso, Ativo e Inativo repectivamente. Qual
dos tipos de dados abaixo é utilizado para este caso.

* Lógico
--------------------------------

Você também pode gostar