O documento discute como ensinar resolução de problemas utilizando tecnologia da informação. Ele apresenta três maneiras de resolver problemas: em N passos, através de algoritmos e em 4 passos. Também discute como definir um problema matematicamente e exemplos de como aplicar a resolução de problemas em diferentes áreas do conhecimento.
1. Reinventando o Ensino Médio
Tecnologia da Informação
Márcio Bunte de Carvalho
Luiz Chaimowicz
Mirella M. Moro
2. www.youtube.com/user/
KhanAcademyPortugues/videos
2 Reinventando o Ensino Médio - Tecnologia da Informação 10.fevereiro.2012
3. Problema = Objeto Matemátco
P = < D, R, c >
D R c
Dados Resultados Condição
possíveis
c = Relação binária caracteriza uma solução
satisfatória, associando a cada elemento do conjunto
de dados a Solução única desejada.
3 Reinventando o Ensino Médio - Tecnologia da Informação 10.fevereiro.2012
4. Problema : Exemplo
• P = problema de diagnóstico médico
• O conjunto de dados disponível d ∈ D, onde d
são os dados do paciente (observação da anamnese,
sintomas, resultados de laboratório, etc) que pertencem
ao conjunto D de dados possíveis.
• R é o conjunto de doenças possíveis.
• A condição que caracteriza uma solução
satisfatória consiste em encontrar o par <d, r>
onde r ∈ R é o diagnóstico desejado.
4 Reinventando o Ensino Médio - Tecnologia da Informação 10.fevereiro.2012
5. Como Definir um Problema?
• Enumeração exaustiva: procurar todos os pares <dado,
resultado>
– Só se aplica no caso que o conjunto de dados é finito
– Exemplo: agenda de telefones (associa telefone a cada
nome)
• Declarativamente: dar propriedades que devem ser
satisfeitas pela solução do problema.
– Exemplo: Dado um número real, associa dois números cuja
soma de seus quadrados é igual ao número real dado
• Por um algoritmo: (sequência de passos a serem
realizados por um programa de computador) define
correspondência entre dados e resultados sempre que
ele pára conseguindo chegar a uma solução.
– Exemplo: Formulário de Imposto de Renda
5 Reinventando o Ensino Médio - Tecnologia da Informação 10.fevereiro.2012
6. … Por um algoritmo
• Impossível saber se o programa pára a
solução é não computável.
Programa constante:
Leia x
Enquanto x ≠ 10 faça
x x + 1
Mostre na tela o valor de x
Fim Se o valor lido de x for
• PROBLEMAS?! maior do que 10, o
programa não vai parar.
6 Reinventando o Ensino Médio - Tecnologia da Informação 10.fevereiro.2012
7. Problemas…
• Problemas são fáceis e difíceis
• Entender o problema é problema
• Nem todo problema tem solução
• Problemas de hoje não têm uma
solução simples e única
7 Reinventando o Ensino Médio - Tecnologia da Informação 10.fevereiro.2012
8. Problemas de hoje
não tem uma
solução simples e
única
Solução de
Problemas
através da
Computação
1,2,3
Ênfase deve estar
no processo e não
na solução
8 Reinventando o Ensino Médio - Tecnologia da Informação 10.fevereiro.2012
9. Problemas de
Ênfase deve hoje não tem
estar no uma solução
processo e não simples e única
na solução
Solução de
Problemas
através da
Computação
1,2,3
Buscar a melhor solução (dentre várias)
para problemas de inúmeras áreas
(exatas, sociais, biológicas, etc)
9 Reinventando o Ensino Médio - Tecnologia da Informação 10.fevereiro.2012
10. Solução de Problemas através da Computação
AMBIENTE
Estudantes Múltiplas Falhar = parte
confortáveis Alternativas do processo
com o trabalho valorizadas e para encontrar
em grupo encorajadas a Solução
10 Reinventando o Ensino Médio - Tecnologia da Informação 10.fevereiro.2012
11. Solução de Problemas através da Computação
ESTUDANTES IRÃO APRENDER
Aplicar Criar novos
algoritmos algoritmos
Pensar
conhecidos para
abstratamente
onde problemas
apropriado complexos
11 Reinventando o Ensino Médio - Tecnologia da Informação 10.fevereiro.2012
12. Três maneiras de resolver problemas
1. Solução em N Passos
2. Solução em algoritmos
3. Solução em 4 Passos
12 Reinventando o Ensino Médio - Tecnologia da Informação 10.fevereiro.2012
13. 1. Solução de Problemas em N passos
• Coleta de Dados
• Análise de Dados
• Representação de Dados
• Decomposição de Problema
• Abstração
• Algoritmos & Procedimentos
• Automação
• Otimização através da paralelização
• Simulação
13 Fonte: CSTA & ISTE. Computational Thinking across the Curriculum. 2009.
Reinventando o Ensino Médio - Tecnologia da Informação 10.fevereiro.2012
14. Solução de Problemas em N passos
MATEMÁTICA
Coleta de Dados Encontrar uma fonte de dados para uma área de problemas, por exemplo,
cara ou coroa e jogo de dados
Análise de Dados Contar ocorrências de cara ou coroa e jogo de dados, e analisar os
resultados
Representação de Usar histograma, gráfico de pizza, gráfico de barras para representar dados;
Dados usar conjuntos, listas, grafos, etc para conter dados
Decomposição de Aplicar ordem de operações em uma expressão
Problema
Abstração Usar variáveis em Álgebra; identificar fatos essenciais em um problema com
palavras; estudar funções em álgebra comparadas às funções em
programação; usar iteração para resolver problemas de palavras
Algoritmos & Fazer divisões ou fatorações longas
Procedimentos
Automação Usar ferramentas tais como: Geometer Sketch Pad, Star Logo, Python
Paralelização Resolver sistemas lineares; fazer multiplicação de matrizes
Simulação Plotar uma função no plano cartesiano e modificar valores das variáveis
14 Reinventando o Ensino Médio - Tecnologia da Informação 10.fevereiro.2012
15. Solução de Problemas em N passos
CIÊNCIAS
Coleta de Dados
Coletar dados de um experimento
Análise de Dados
Analisar dados de um experimento
Representação de
Resumir dados de um experimento
Dados
Decomposição de
Fazer a classificação de espécies
Problema
Abstração
Construir um modelo de uma entidade física
Algoritmos &
Fazer um procedimento experimental
Procedimentos
Automação
Usar Probeware
Paralelização
Rodar experimentos simultaneamente com
parâmetros diferentes
Simulação
Simular movimento de um sistema solar
15 Reinventando o Ensino Médio - Tecnologia da Informação 10.fevereiro.2012
16. Solução de Problemas em N passos
ESTUDOS SOCIAIS
Coleta de Dados Estudar estatísticas de dados de batalhas ou
populações
Análise de Dados Identificar tendências em dados a partir das
estatísticas
Representação de Resumir e representar tendências
Dados
Decomposição de
Problema
Abstração Resumir fatos; deduzir conclusões a partir de fatos
Algoritmos &
Procedimentos
Automação Usar Excel
Paralelização
Simulação Jogar Age of Empires; Oregon Trail
16 Reinventando o Ensino Médio - Tecnologia da Informação 10.fevereiro.2012
17. Solução de Problemas em N passos
LETRAS E ARTES
Coleta de Dados Fazer análise linguística de sentenças
Análise de Dados Identificar padrões para diferentes tipos de
sentenças
Representação de Representar padrões de diferntes tipos de sentenças
Dados
Decomposição de Escrever um sumário
Problema
Abstração Usar semelhanças ou metáforas; escrever histórias
com bifurcações
Algoritmos & Escrever instruções
Procedimentos
Automação Usar um corretor ortográfico
Paralelização Traduzir parágrafos de texto simultaneamente
Simulação Fazer a encenação de uma história
17 Reinventando o Ensino Médio - Tecnologia da Informação 10.fevereiro.2012
18. 2. Solução em Algoritmos
• Quando as ações de um algoritmo obedecem à sintaxe de
uma linguagem de programação, passamos a chamá-lo de
programa.
• Qualidades de um bom algoritmo
– Perfeitamente Definido: descreve exatamente as instruções a
serem executadas e em que seqüência (a falta de alguma
informação pode levar a uma interpretação errônea do
algoritmo)
– Não Ambíguo
– Eficaz: consegue resolver o problema em qualquer situação.
Situações de exceção que possam alterar o resultado do
algoritmo devem ser descritas e tratadas.
– Eficiente: resolve o problema com o mínimo de recursos. No
caso de algoritmos para processamento de dados, os recursos a
serem considerados são espaço na memória, tempo de
processamento, entre outros.
18
Fonte: Glauco Amorim. Programação para Iniciantes. 2009.
Reinventando o Ensino Médio - Tecnologia da Informação 10.fevereiro.2012
19. Algoritmo
• Três maneiras básicas de definir algoritmo
– Descrição narrativa
– Fluxograma
– Pseudo-código (portugol) conceitos mais
avançados que podem ser deixados para estudar
quando for aprender uma linguagem de
programação
19 Reinventando o Ensino Médio - Tecnologia da Informação 10.fevereiro.2012
20. Algoritmo: Descrição Narrativa
algoritmo lavar_cabelo
1. Molhe o cabelo
2. Coloque o xampu
3. Massageie • não está definido quanto de
4. Enxágue xampu deve ser colocado;
5. Repita • não diz quanto tempo deve
• PROBLEMAS?! massagear;
• não diz quando paramos a
repetição;
• não diz até quando enxaguar.
20 Reinventando o Ensino Médio - Tecnologia da Informação 10.fevereiro.2012
21. Algoritmo: Descrição Narrativa
algoritmo lavar_cabelo_versão_melhorada
1. molhe o cabelo
2. repita duas vezes:
2.1. coloque a quantidade correspondente a
uma tampa de xampu no cabelo
2.2. massageie o cabelo até fazer espuma
2.3. enxágue até tirar o xampu
21 Reinventando o Ensino Médio - Tecnologia da Informação 10.fevereiro.2012
22. Algoritmo: Fluxograma
FASES:
como
construir
um
algoritmo
22 Reinventando o Ensino Médio - Tecnologia da Informação 10.fevereiro.2012
23. • Problema: questão proposta a ser resolvida.
• Análise Preliminar: entender o problema
com a maior precisão possível e identificar
os dados. Identificar os resultados
desejados.
• Solução: desenvolver um algoritmo para
resolver o problema.
• Teste de Qualidade: execute o algoritmo
desenvolvido com dados para os quais o
resultado seja conhecido. O ideal é que o
universo dos dados tenha todas as
combinações possíveis (a qualidade de um
algoritmo pode ser limitada por fatores
como o tempo para a sua confecção e
recursos disponíveis).
• Alteração: se o resultado do teste não for
satisfatório, altere o algoritmo e submeta-o
a um novo teste de qualidade.
• Produto Final: algoritmo concluído e
testado, pronto para ser aplicado.
23 Reinventando o Ensino Médio - Tecnologia da Informação 10.fevereiro.2012
24. 3. Solução de Problemas em 4 Passos
A. Entender o problema [próximos slides]
Ler ou escutar a definição do problema.
24 Reinventando o Ensino Médio - Tecnologia da Informação 10.fevereiro.2012
25. A. Entender o problema
Estratégias
• 5 Por quês. Começar com um por quê; após a
resposta, perguntar novamente (5 vezes).
– Ajuda a rapidamente determinar a causa principal do
problema
– É simples, fácil de aprender e aplicar
• Apreciação. Similar à anterior, consiste em
perguntar repetidamente “E então?” para se ter
uma ideia das causas e efeitos
• Análise da causa principal. Dividido em 4 partes:
definir o problema, coletar dados, identificar
possíveis fatores que causam o problema (com
base nos dados), identificar a(s) causa(s) central
25 Fonte: http://www.mindtools.com/pages/article/newTMC_00.htm
Reinventando o Ensino Médio - Tecnologia da Informação 10.fevereiro.2012
26. Entender o problema:
grafo de causa e efeito
• Identifique o problema central
Filial
Não Coopera
26 Reinventando o Ensino Médio - Tecnologia da Informação 10.fevereiro.2012
27. Entender o problema:
grafo de causa e efeito
• Identifique o problema central
Filial
Não Coopera
• Identifique os fatores principais
Filial
Não Coopera
27 Reinventando o Ensino Médio - Tecnologia da Informação 10.fevereiro.2012
28. Entender o problema:
grafo de causa e efeito
• Identifique possíveis causas
Filial
Não Coopera Razoavelmente
Moderno
Email for a do ar
às vezes
28 Reinventando o Ensino Médio - Tecnologia da Informação 10.fevereiro.2012
29. Entender o problema:
grafo de causa e efeito
• Identifique os fatores principais Maria
contagioso?
João
Filial
Não Coopera
Razoavelmente
Moderno
Email for a do ar
às vezes
29 Reinventando o Ensino Médio - Tecnologia da Informação 10.fevereiro.2012
30. Entender o problema: INÍCIO
Fluxo de Dados Responder
Telefonema
Info sobre produto
ou ajuda com compra Como posso Outro
ajudá-lo?
Entrega de Cobrança
Pegar nome e Produto Qual é o Indevida
empresa problema?
Problema c/
Produto?
Transferir para Pegar nome e
Vendas (ext 2203) empresa
Transferir para
FIM
HelpDesk (ext 2217)
30
FIM 10.fevereiro.2012
31. Solução de Problemas em 4 Passos
A. Entender o problema
Ler ou escutar a definição do problema.
B. Fazer um plano para resolver o problema
Utilizar figuras, gráficos, grafos, listas, objetos
Definir um algoritmo [já visto]
Pode-se definir várias alternativas neste passo.
Deve-se então avaliá-las e escolher apenas uma.
C. Realizar o plano
Uma vez que o plano esteja definido e entendido, deve-
se segui-lo. Se o plano foi bem feito, esta é a parte fácil.
D. Revisar e refletir sobre a solução adotada
Uma vez que o problema esteja resolvido, refletir sobre
como o mesmo foi utilizado.
31 Fonte: Joanna Goode, Gailo Chapman. Tecnologia da Informação
Reinventando Ensino Médio - Exploring Computer Science. 2011.
10.fevereiro.2012
32. ATIVIDADES EXEMPLO
SOLUÇÃO EM 4 PARTES
A. Entender o problema
B. Fazer um plano para resolver o problema
C. Realizar o plano
D. Revisar e refletir sobre a solução adotada
32 Reinventando o Ensino Médio - Tecnologia da Informação 10.fevereiro.2012