Baixe o app para aproveitar ainda mais
Prévia do material em texto
PENSAMENTO COMPUTACIONAL Introdução 1 Motivação As dez habilidades essenciais do profissional do futuro (Fórum Econômico Mundial) 1. Resolução de problemas complexos 2. Pensamento crítico 3. Criatividade 4. Gestão de pessoas 5. Coordenação 6. Inteligência Emocional 7. Capacidade de julgamento e de tomada de decisões 8. Orientação para servir 9. Negociação 10. Flexibilidade cognitiva 2 Motivação ● Inclusão ○ Para exercer cidadania, as pessoas saber lidar com soluções computacionais, presentes em todas as áreas ■ Química - propriedades das diferentes matérias, e reações química - entender melhor o mundo ao seu redor ■ Física - conhecer e entender melhor os fenômenos da natureza ● Produtividade ○ Agilidade e velocidade na execução das tarefas ○ Solução de problemas de forma muito mais rápida e até mesmo aumentando a escala do problema com demandas mais complexas 3 Motivação ● Spotify ● Netflix ● Booking ● Google ● Trivago ● Whatsapp ● Midias sociais ● Uber ● OLX ● Smartphone ● Zip Car ● E-mail ● Waze ● Nuvem ● Youtube ● Facebook ● Tinder e similares ● Banco Online Vamos em frente... Não porque atrás vem gente.. Mas, porque já tem muita gente na nossa frente!! 4 ● Seymour Papert (1972) destaca os benefícios do uso do computador na educação (LOGO) ● O termo Pensamento Computacional (Computational Thinking) foi apresentado por Seymour Papert em 1980 ● O termo ganhou repercussão e disseminação com o artigo de Jeannette Wing (2006) Pensamento Computacional (PC) 5 ● Jeannette Wing (2006) “Pensamento Computacional é uma habilidade fundamental para todos, não somente para os cientistas da computação” ● Adicionar o Pensamento Computacional na habilidade analítica de cada criança (juntamente com a leitura, a escrita e a aritmética) ● Diversas definições Wing (2006 a 2014) ○ “são os processos de pensamento envolvidos na formulação de um problema e que expressam sua solução ou soluções eficazmente, de tal forma que uma máquina ou uma pessoa possa realizar” Pensamento Computacional 6 ● “É o processo de reconhecer aspectos da computação em um mundo que nos cerca e, aplicar ferramentas e técnicas da Ciência da Computação para entender e argumentar sobre sistemas e processos naturais e artificiais” (FURBER, 2012) ● “Mesmo após diversos estudos e quase uma década de esforços para definir o PC, ainda existem críticas que sugerem que não sabemos o que o PC significa ou sua forma de medir” (KURSHAN, 2016) ● “É uma abordagem usada para solução de problemas utilizando o que se sabe sobre Computação.” (GOOGLE FOR EDUCATION, 2015) Outras Definições do PC 7 ● "O Pensamento Computacional é uma distinta capacidade criativa, crítica e estratégica humana de saber utilizar os fundamentos da Computação nas mais diversas áreas do conhecimento, com a finalidade de identificar e resolver problemas colaborativamente através de passos claros, de tal forma que uma pessoa ou uma máquina possam executá-los eficazmente" (BRACKMANN, 2017) Outras Definições do PC 8 ● É um processo de resolução de problemas que inclui (não somente) as seguintes características: (CSTA, 2015) ○ formulação de problemas de forma que computadores e outras ferramentas possam ajudar a resolvê-los; ○ organização lógica e análise de dados; ○ representação de dados por meio de abstrações como modelos e simulações; ○ automatização de soluções a partir do pensamento algorítmico; ○ identificação, análise e implementação de soluções visando a combinação mais eficiente e eficaz de etapas e recursos; ○ generalização e transferência de soluções para uma ampla gama de problemas Definição Operacional do PC 9 ● “É saber usar o computador como um instrumento de aumento do poder cognitivo e operacional humano” (BLIKSTEIN, 2008) ● Dividido em duas etapas: a) Identificação das tarefas cognitivas que podem ser executadas com mais rapidez e eficiência fazendo o uso da computação b) Programação do computador para que este realize as tarefas cognitivas identificadas na etapa anterior Outras Definições do PC 10 Pensamento Computacional ● Na revisão sistemática elaborada por (KALELIOGLU, 2016), foram analisados 125 artigos, na tentativa de definição do termo 11 Pensamento Computacional ● Capacidade de sistematizar, representar, analisar e resolver problemas (Diretrizes para ensino de Computação na Educação Básica - SBC) ● É aplicado para descrever, explicar e modelar o universo e seus processos complexos 12 O que não é PC ● Pensamento Computacional não é saber navegar na internet, enviar e-mail, publicar um blog, operar um processador de texto ou planilha eletrônica ● Pensamento Computacional pressupõe a utilização do computador como um instrumento capaz de aumentar o poder cognitivo e operacional humano ● Não envolve apenas conceitos de Computação para solução de problemas em suas raízes, pois também agrega práticas de projetar sistemas, entender o comportamento humano e o pensamento crítico (WING, 2010) ● Não é apenas uma atividade de programação de computadores (Computação Desplugada) 13 Habilidades do PC Coleta de dados: capacidade de coletar informações de forma adequada Análise de dados: dar sentido aos dados encontrando padrões e obtendo conclusões Representação de dados: exibir dados através de gráficos, imagens e tabelas Decompor problemas: separar uma tarefa em partes menores e gerenciáveis Abstração: diminuir a complexidade do problema para poder identificar o elemento principal 14 Habilidades do PC Algoritmos e procedimentos: definir um conjunto de passos para resolver um problema ou tarefa Automação: fazer uso de computadores e máquinas para execução de tarefas repetitivas Paralelização: organizar recursos com o fim de realizar tarefas simultaneamente com o intuito de alcançar um objetivo comum Simulação: representar ou modelar um processo 15 Contribuições do PC ● Pensamento Algorítmico ● Aprendizagem Colaborativa ● Resolução de Problemas ● Criatividade ● Raciocínio Lógico ● Interpretação Textual 16 Próxima aula: Pilares do Pensamento Computacional 17 PENSAMENTO COMPUTACIONAL Introdução 18 PENSAMENTO COMPUTACIONAL Pilares do Pensamento Computacional 1 Pilares do Pensamento Computacional ● O PC identifica um problema e o decompõe em elementos menores, que são analisados individualmente, focando apenas em detalhes importantes, e assim criar soluções Fonte: "Introduction to Computational Thinking" , BBC Bitesize, 2015 O pensamento computacional se baseia em quatro pilares que orientam o processo de solução de problemas 2 Decomposição ● Processo que divide os problemas em partes menores para facilitar a resolução, desenvolvimento e gerenciamento ● Análise dos problemas para identificar as partes que podem ser separadas e formas como podem ser reconstituídas para solucionar o problema como um todo ● Possibilita resolver problemas complexos de forma mais simples, facilita a compreensão de novas situações e possibilita projetar sistemas de grande porte 3 Decomposição - Exemplo 1 A decomposição pode ser aplicada no planejamento de uma aula, e as seguintes partes propostas: ○ identificação de conteúdos ○ definição de objetivos educacionais ○ levantamento do conhecimento prévio dos alunos ○ proposta de atividades individuais ou grupo ○ definição do plano de mediação ○ seleção de recursos materiais ○ planejamento da avaliação das aprendizagens 4 Decomposição - Exemplo 2 ● Como calcular a área de um polígono irregular, ou seja, que não tem uma forma conhecida? ● Geoplano: Para determinar a área, a decomposição em partes regulares é fundamental! 5 Decomposição - Exemplo 3 ● Resolver um crime pode ser um problema muito complexo, pois há muitos elementos a serem considerados 6 Reconhecimento de Padrões ● Os padrões são similaridades ou características que algunsproblemas compartilham ● O hábito de identificar padrões nos acompanha desde a infância, é uma construção continuada e o nosso repertório de padrões não para de crescer e de se reconstruir ● No reconhecimento de padrões ao encontrar similaridades ou padrões entre pequenos problemas decompostos ● Quanto mais padrões encontrarmos, mais fácil e rápida será a nossa tarefa geral de solução de problemas 7 Aplicações de Reconhecimento ● Prever o próximo número em uma dada sequência de números ● Identificar uma espécie de pássaro pelo seu padrão de voo ● Estimar a hora a partir da posição do sol ● Antecipar uma possível chegada de chuva a partir da configuração das nuvens ● Identificar o sentido do vento, olhando para os galhos de uma árvore 8 Aplicações de Reconhecimento ● Escolher uma fruta pela cor de sua casca ● Diagnosticar uma doença com base em sintomas, aparências e comportamentos ● Perceber a chegada de uma pessoa pelo ritmo do som de sua pisada ● Identificar uma música pelo padrão de notas músicas de seu início (popularmente conhecido por jogo das sete notas) 9 Reconhecimento - Exemplo 1 ● Identificação de similaridades entre espécies de pássaros ● A partir de um padrão, pode-se descrever outros, simplesmente seguindo o padrão e alterando as características 10 Reconhecimento - Exemplo 2 ● A sequência de padrões e cores pode ser decomposta em subpadrões (A, B, C, D, E e F). 11 Padrões - Exemplo 3 ● Várias situações críticas que podem levar à morte podem ser atenuadas pelo reconheci- -mento de padrões ○ AVC (Acidente Vascular Cerebral) Fonte: https://www.cardiopulmonar.com.br/conhecendo-o-avc/ 12 Reconhecimento - Exemplo 4 ● Reconhecimento de padrões com balões coloridos 13 Abstração ● Filtragem e classificação dos dados, criando mecanismos que permitam separar apenas os elementos essenciais em determinado problema, ignorando detalhes irrelevantes ● Permite criar uma representação (ideia) do que está se tentando resolver ● Essencial é escolher o detalhe a ser ignorado para que o problema seja mais fácil de ser compreendido sem perder nenhuma informação que seja importante para tal 14 Abstração ● É o conceito mais importante do Pensamento Computacional, pois o processo de abstrair é utilizado em diversos momentos (WING, 2006) a) Na escrita do algoritmo e suas iterações b) Na seleção dos dados importantes c) Na escrita de uma pergunta d) Na natureza de um indivíduo em relação a um robô e) Na compreensão e organização de módulos em um sistema 15 ● Coleta seletiva - abstrações podem ser criadas para facilitar a tarefa, ao invés de enumerar todos os itens que podemos encontrar no lixo, agrupamos os resíduos pelo tipo de tratamento que pretendemos dar a eles, como plástico, metal, papel, vidro, orgânico, etc. Abstração - Exemplo 1 16 Abstração - Exemplo 2 ● Mapa do metrô como exemplo de abstração do mundo real Fonte: https://www.metrocptm.com.br/ 17 Algoritmo ● É uma sequência finita de etapas (passos), cada qual executável em um tempo finito, por um agente computacional, natural (humano) ou sintético (computador) ● Um algoritmo é um plano, uma estratégia ou um conjunto de instruções ordenadas para a solução de um problema ou execução de uma tarefa ● A formulação de um algoritmo passa pelo processo de decomposição, reconhecimento de padrões e abstração ● Na execução seguirão os passos pré-definidos, não havendo a necessidade de criar um novo algoritmo para cada uma de suas execuções posteriores ● É o pilar que agrega os demais pilares (WING, 2014) 18 Algoritmo ● As instruções podem ser escritas em formato de diagrama, pseudocódigo (linguagem humana) ou em linguagem de programação (códigos) ● Programa: é uma sequência de instruções escritas em uma determinada linguagem de programação Início enquanto (Condição 1) faça realizar Ação 1 Fim Início Fim Ação 1 Condição 1 Falso Verdade Begin While (x <> 0) do Var := random(10); End; 19 Algoritmo - Exemplo 1 ● Fritar um ovo, não é somente colocar o ovo na frigideira e pronto!! Há uma sequência de passos!! 20 Algoritmo - Exemplo 2 ● Escovar os dentes 21 Algoritmo - Exemplo 3 ● Como chegar ao Kartódromo da Cidade da Criança? Fonte: http://www.cidadedacriancaprudente.com.br/ 22 http://www.cidadedacriancaprudente.com.br/ Exemplo Interdisciplinar ● DECOMPOSIÇÃO: identificar os diferentes aspectos a serem considerados na manutenção de nossa saúde; identificar as categorias de alimentos e as especialidades profissionais que podem nos ajudar ● RECONHECIMENTO DE PADRÕES: reconhecer situações adversas, como peso incompatível com altura e idade ● ABSTRAÇÃO: identificar, para cada aspecto, os índices (por exemplo: índice de massa corporal) e as características a serem consideradas, na escolha de um profissional da saúde. Selecionar os atributos importantes dos alimentos ● ALGORITMOS: importante para definir diversas rotinas, tais como as relativas à alimentação, como distribuir os alimentos ao longo do dia, as rotinas de exercícios, a preparação dos alimentos, a visita aos especialistas, etc. 23 Próxima aula: Como e quando ensinar o Pensamento Computacional 24 PENSAMENTO COMPUTACIONAL Pilares do Pensamento Computacional 25 PENSAMENTO COMPUTACIONAL Como e quando ensinar o Pensamento Computacional 1 Pensamento Computacional ● Capacidade de sistematizar, representar, analisar e resolver problemas ● Baseado em 4 Pilares: ○ Decomposição ○ Reconhecimento de Padrão ○ Abstração ○ Algoritmos 2 ● "Todas as pessoas deveriam aprender a programar computadores, porque isso ensina a pensar." - Steve Jobs - fundador da Apple ● Habilidades do PC estão inseridas entre as dez habilidades do Profissional do Futuro (independentemente da atividade profissional) ● É a nova alfabetização (juntamente com a leitura, a escrita e a aritmética) ● O Ensino do Pensamento Computacional deve impactar a sociedade e o desenvolvimento das pessoas! Por que ensinar PC? 3 Como ensinar o PC ● A resposta está em construção (sempre estará) ● A maioria dos elementos do pensamento computacional são processos e não conteúdos ● Remonta uma discussão antiga, mas sempre atual, sobre formas de relacionar tecnologia e educação ○ O computador pode ser usado na educação como máquina de ensinar ou como máquina para ser ensinada Instrucionismo X Construcionismo 4 Instrucionismo ● O uso do computador como máquina de ensinar consiste na informatização dos métodos de ensino tradicionais (VALENTE, 2016) ● Informações são implementadas no computador e passadas ao aluno na forma de um tutorial, exercício-e-prática ou jogo ● O computador é usado para informatizar os processos de ensino já existentes informação 5 Construcionismo ● Estudante é protagonista da aprendizagem e constrói algo do seu interesse usando o computador (computador com máquina para ser ensinada) ● O computador requer certas ações que são bem efetivas no processo de constru- -ção do conhecimento ● Deriva das ideias de Seymour Papert ● Linguagem Logo 6 ● Diversos países já praticam o ensino do pensamento computacional para crianças e adolescentes ○ Japão, Finlândia, Inglaterra, Estados Unidos e Espanha, entre outros. ● Inserção do Pensamento Computacional na Educação Básica ○ Alunos com aptidão para programação terão descoberto em um estágio inicial ○ Os menos talentosos terão compreensão do mundo digital em que vivem Quando ensinar PC? 7 Iniciativas ● Livro Computação Desplugada (BELL et al, 2011) ○ Estruturado: “Representando as Informações”, “Algoritmos” e “Representando Procedimentos”. 8 Iniciativas ● CODE.ORG é uma organização sem fins lucrativos cujo objetivo é divulgar e ensinar programação a pessoas de todas as idades ○ Recursos para que professores e gestores - campanha de ampliar o ensinode computação nas escolas ● HORA DO CÓDIGO - movimento global que busca mostrar a crianças, jovens, adultos que programar pode estar ao alcance de todos! ○ No Brasil é apoiado pelo Programaê! 9 Iniciativas ● Hora do Código: Tutoriais de uma hora baseados em desenhos animados 10 Iniciativas ● O Programaê! visa disseminar questões relacionadas ao universo dos computadores, como organização de informações, abstração e solução de problemas simples e complexos, e multiplicar experiências educativas de programação entre professores e educadores, aproximando este universo de crianças e jovens de todo o Brasil ○ Fundação Telefônica e Vivo ● Conjunto de sequências didáticas que propõem a inserção de professores e estudantes na cultura digital e na lógica computacional ○ Planos de Aulas para professores 11 Iniciativas ● Pesquisadores, Grupos de Pesquisa e Universidades Laboratório de Inovação Tecnológica na Educação 12 PENSAMENTO COMPUTACIONAL Como e quando ensinar o Pensamento Computacional 13 PENSAMENTO COMPUTACIONAL 1 Algoritmo e Lógica de Programação Algoritmo ● Um algoritmo é um conjunto de INSTRUÇÕES e procedimentos LÓGICOS para a solução de um PROBLEMA ou execução de uma TAREFA ● A implementação do algoritmo pode ser feita por um computador, por outro tipo de autômato ou mesmo por um ser humano ● A formulação de um algoritmo passa pelo processo de decomposição, reconhecimento de padrões e abstração 2 Algoritmo ● As instruções podem ser escritas em formato de diagrama (fluxograma ou blocos), pseudocódigo (linguagem humana) ou em linguagem de programação (códigos) Início enquanto (Condição 1) faça realizar Ação 1 Fim Início Fim Ação 1 Condição 1 Falso VerdadeBegin While (x <> 0) do Var := random(10); End; 3 ● É um Tema ou Questão, em qualquer área do conhecimento, cuja solução ou resposta requer considerável pesquisa, estudo, reflexão e grande esforço para ser solucionado (MICHAELIS) ○ Faz parte do nosso cotidiano ● Buscar o procedimento para solucionar o problema Problema 4 ○ Pegar a escada ○ Posicionar a escada embaixo da lâmpada ○ Buscar uma lâmpada nova ○ Subir a escada ○ Retirar a lâmpada antiga ○ Colocar a lâmpada nova Problema - Trocar uma lâmpada 5 ● Acionar o interruptor ● Se a lâmpada não acender, então: ○ Buscar uma escada ○ Posicionar a escada embaixo da lâmpada ○ Subir na escada ○ Retirar a lâmpada queimada ○ Inserir a lâmpada nova ○ Enquanto a lâmpada não acender, faça: ■ Retirar a lâmpada queimada ■ Colocar uma lâmpada nova ○ Descer da escada; ○ Guardar a escada; 6 Trocar uma lâmpada com teste ● Ir para a escola ○ acordar cedo ○ ir ao banheiro ○ lavar o rosto ○ escovar os dentes ○ abrir o armário para escolher uma roupa ○ escolher uma roupa ○ vestir a roupa escolhida ○ tomar café ○ pegar uma condução ○ descer próximo à escola Problema 7 ● Um homem precisa atravessar um rio com um barco que possui capacidade de transportar apenas ele mesmo e mais uma de suas três cargas, que são: um lobo, um bode e uma caixa de alfafa ● Quais as ações necessárias para que o homem consiga atravessar o rio sem perder suas cargas. ○ O lobo não pode ficar sozinho com o bode, senão ele o come ○ O bode não pode ficar sozinho com a alfafa, senão a come 8 Problema ● Para resolver um problema é necessário raciocinar de maneira lógica ● A lógica é a arte do “bem pensar”, é a ciência que trata das formas do pensamento em termos de racionalidade e coerência ● A lógica trata da correção do pensamento - faz distinção entre raciocínios válidos e não válidos, determinando o processo que leva ao conhecimento verdadeiro Lógica 9 ● Partes Fundamentais ○ PROPOSIÇÃO: Afirma que algo é verdadeiro ou que algo é falso. As frases que afirmam alguma coisa ○ PREMISSAS: São as proposições (frases afirmativas) que se usa para provar alguma coisa, para defender uma ideia ○ CONCLUSÃO: É a proposição que é obrigatória, caso você tenha concordado com as premissas 10 Lógica ● Silogismo Todo mamífero é um animal. (Premissa) Todo cavalo é um mamífero. (Premissa) Portanto, todo cavalo é um animal. (Conclusão) O crocodilo é um animal. Podemos concluir que o crocodilo é um mamífero? Lógica 11 ● Silogismo Enzo é mais velho que Murilo (Premissa) Murilo é mais velho que Henrique (Premissa) Portanto, Enzo é mais velho que Henrique (Conclusão) 12 Lógica ● Técnica de encadear pensamentos para atingir determinado objetivo ● Permite definir a Sequência Lógica para a solução de um problema ● Sequência Lógica: ○ Passos executados até se atingir um objetivo ou solução de um problema ○ Pensamentos descritos como uma Sequência de INSTRUÇÕES que devem ser seguidas para cumprir uma determinada tarefa 13 Lógica de Programação ● Exemplo: ○ A gaveta está fechada ○ A caneta está dentro da gaveta ○ Precisamos primeiro abrir a gaveta para depois pegar a caneta ● Sequência ordenada de passos que deve ser seguida para a realização de uma determinada tarefa 14 Lógica de Programação ● Conjunto de regras ou normas definidas para a realização ou emprego de algo ● Em um programa indica uma ação elementar a ser executada ● É importante ressaltar que uma ordem isolada não permite realizar o processo completo, para isso é necessário um conjunto de instruções colocadas em ordem sequencial lógica. 15 Instruções ● Para a tarefa “fazer omelete” ○ Instruções: quebrar ovos; bater ovos; adicionar sal; acender fogo; colocar óleo na frigideira; levar a frigideira ao fogo; fritar ovos batidos; etc. ● Quanto às instruções isoladas ○ Só “quebrar ovos”, ou só “colocar óleo na frigideira”, não é suficiente para cumprir a tarefa “fazer omelete” ● Quanto à sequência lógica ○ Se “fritar ovos batidos” antes de “bater ovos”, ou pior, antes de “quebrar ovos”, a tarefa de “fazer omelete” não será efetivada 16 Exemplo de Instruções Linguagem de Programação ● O algoritmo deve ser “escrito” em uma linguagem de programação para que o computador saiba executá-lo ● É uma linguagem escrita e formal que especifica um conjunto de instruções e regras usadas para gerar programas (softwares) 17 Linguagem de Programação ● Exemplo de código fonte na Linguagem Python 18 Programas de Computador ● São sequências de instruções escritas em uma determinada linguagem de programação ● PROCESSO é a atividade de executar um programa e, consequentemente, também é a atividade de executar um algoritmo ● Um software pode ser desenvolvido para ser e executado em um computador, dispositivo móvel ou em qualquer equipamento que permita sua execução 19 Representação dos Algoritmos 20 ● As formas de representação de algoritmos mais conhecidas: ○ Descrição Narrativa ○ Pseudocódigo ○ Fluxograma ou Diagrama de Blocos PENSAMENTO COMPUTACIONAL 21 Algoritmo e Lógica de Programação PENSAMENTO COMPUTACIONAL SCRATCH 1 Introdução • Programa de Computador é um conjunto de instruções que dizem o que um computador deve fazer • Instruções são escritas por meio de uma linguagem de programação • Linguagens de programação têm regras de sintaxe e podem ser um desafio para iniciantes • Scratch é um ambiente de programação visual baseado em blocos gráficos, desenvolvido pelo MIT • No Scratch não é necessário digitar nenhum comando complicado - tornando o aprendizado de programação mais fácil e divertido 2 Introdução • Objetivos: • Criação de projetos interativos: jogos, histórias, projetos de ciência, simulações, músicas e artes, etc. • Criação de Objetos de Aprendizagem • Permite exercitar a criatividade e o raciocínio lógico e matemático - desenvolvimento das habilidades relacionadas à resolução de problemas (Pensamento Computacional) • Comunidade Scratch (Compartilhar os projetos de forma simples e intuitiva http://scratched.gse.harvard.edu/ 3 http://scratched.gse.harvard.edu/Exemplo: Lobo, bode e repolho https://scratch.mit.edu/projects/368018044 Um homem precisa atravessar um rio com um barco que possui capacidade de transportar apenas ele mesmo e mais uma de suas três cargas, que são: um lobo, uma ovelha e uma caixa de repolho. 4 https://scratch.mit.edu/projects/368018044 Exemplo: Jogo Pong https://scratch.mit.edu/projects/363060474 5 https://scratch.mit.edu/projects/363060474 Motivação - Computação ● Ensino de Lógica de Programação ○ Dificuldade no desenvolvimento do raciocínio lógico e na capacidade de abstração no processo de resolução de problema ● Diversas pesquisas têm apontado fatores favoráveis à inserção do Scratch como método de apoio ao ensino de programação ○ Na introdução dos conceitos, em conjunto com linguagens de programação tradicionais, pode aumentar a motivação do aluno e, consequentemente, favorecer seu aprendizado. 6 Motivação - Licenciaturas ● Quando ensinada de forma contextualizada, pode ser uma grande aliada para o processo de ensino e aprendizagem ● Produção de recursos didáticos - professor desenvolve e aplica esses recursos ou alunos produzem seus conteúdos ● Programação está presente nas escolas de diversas formas e em várias disciplinas ● A intenção é contribuir para a inovação nas práticas pedagógicas dos futuros professores 7 Motivação - Licenciaturas ● Matemática: Construção de objetos de aprendizagem - formas algébricas, noções geométricas, plano cartesiano, etc. ● Língua portuguesa: programação como suporte na alfabetização ou produção de textos - nova forma de abordagem - aproxima o envolvimento do aluno com o conhecimento e sua interação com o objeto de estudo 8 Habilidades do conhecimento ● Com o Scratch é possível atingir nove habilidades de aprendizagem para o século XXI: 1. habilidade de tratar informações e trabalhar com mídias 2. habilidades de Comunicação 3. habilidade de pensar criticamente e sistematicamente 4. habilidade de identificar, formular e solucionar problemas 5. habilidade de ser criativo e ter habilidade intelectual 6. habilidade de autodirecionar 7. habilidades interpessoais e colaborativas 8. habilidade de ser responsável e adaptável 9. habilidade de ser responsável socialmente 9 Instalação ou Versão online • Acesse online: https://scratch.mit.edu/ • Realizar o cadastro para salvar seus projetos e visualizar os projetos compartilhados. • Está disponível para download em https://scratch.mit.edu/download • Disponível em vários idiomas 10 https://scratch.mit.edu/ https://scratch.mit.edu/download Ambiente de Programação do Scratch https://scratch.mit.edu/ Área de comando Scripts Área (Área de Scripts - código) Stage (Palco) Sprite List (Lista de Atores) 11 https://scratch.mit.edu/ Palco (Stage) 12 Palco (Stage) • Apresenta o resultado da execução do programa (simulador) • Local em que os Atores (Sprites) se movimentam e interagem • É possível acrescentar cenários (Panos de Fundo) ao palco • Possui 480 passos de largura (X) e 360 passos de altura (Y) - centro - coordenada 0,0 13 Palco - Cenários 14 Aba Cenários (Backdrops) • Criar e editar cenários com o Paint Editor • Organiza as imagens de fundo do palco 15 Atores (Sprites) 16 Atores (Sprites) • Cada projeto pode ter um ou mais atores (Lista de Atores) • Cada ator do projeto tem seus próprios códigos (scripts) e fantasias 17 Aba Fantasias (Costumes) • Criar e editar fantasias com o Paint Editor • Organiza as fantasias de um ator - guarda-roupa 18 Aba Blocos ou Código 19 Aba Blocos ou Código • Os Blocos são os elementos para construção dos programas • São usados para organizar os comandos a serem executados • Estão divididos em 10 categorias de comandos mais utilizados (diferenciados pela cor) • Associados ao ator ou palco que está selecionado 20 Área de Scripts - Programação 21 Área de Scripts - Programação • Local onde os blocos de comandos são arrastados para a construção dos projetos - ordem de execução - sequência - associados ao ator ou palco que está selecionado • É possível testar os blocos à medida em que são criados 22 Aba Sons 23 Aba Sons • Palcos e atores podem reproduzir sons • Inserção, edição ou gravação de áudio vinculado ao ator ou palco selecionado 24 Mochila (Backpack) 25 Mochila (Backpack) • Permite compartilhar o projeto e usar atores e códigos de outros projetos existentes • Disponível somente para usuários logados • O conteúdo da mochila é salvo no servidor do Scratch 26 Inicialização e movimentos Bandeira verde: inicializa a execução do programa Botão vermelho: encerra o programa 27 Atividade 1 - Iniciando ●Na área de Blocos, selecione “Eventos”, arraste o bloco “quando clicar em ” para a área de programação ●Selecione o comando indicado na figura da sessão “Aparência” e também arraste ●Na sessão “Movimento”, selecione o comando. indicado ●Faça o mesmo na sessão “Som” ●Para testar, clique em https://scratch.mit.edu/projects/368054685/ 28 https://scratch.mit.edu/projects/368054685/ Atividade 2 - Atores conversando https://scratch.mit.edu/projects/368012560 Insira dois atores a sua escolha e crie um diálogo entre eles. Eles não devem falar ao mesmo tempo, um deve esperar a fala do outro para então responder 29 https://scratch.mit.edu/projects/368012560 Atividade 2 - Atores conversando https://scratch.mit.edu/projects/368012560 30 https://scratch.mit.edu/projects/368012560 PENSAMENTO COMPUTACIONAL SCRATCH 31 PENSAMENTO COMPUTACIONAL Scratch – Parte 2 1 Categoria de blocos de comandos ● Organizadas pela cor e pelos tipos de ações e funcionalidades ● Existem 10 categorias de comandos mais utilizados 2 Tipos de blocos ● A maioria dos blocos exigem uma ou mais entradas (também chamadas de argumentos): texto editável, menu suspenso, ou área de encaixe de outro bloco ● Blocos de comando: podem ser unidos na forma de pilha ● Blocos de função: são utilizados como entradas para outros blocos 3 Tipos de blocos ● Blocos de trigger: executam blocos que estão abaixo deles ● Blocos de controle: armazenam outros blocos 4 Categoria Movimentos ●Proporcionam dinâmica aos atores: deslocamentos, giros e deslizamentos de acordo com a posição e direção do ator. 5 Categoria Movimentos 6 Categoria Aparência ●Permite alterar a aparência do Ator ou Palco ●Possibilita a comunicação do ator (diga e pense) https://scratch.mit.edu/projects/368012560 7 https://scratch.mit.edu/projects/368012560 Fantasias 8 Categoria Som • Permite tocar, mudar volume ou efeito, remover efeitos ou parar o áudio 9 Categoria Eventos • A ocorrência de um evento pode estar condicionada à outra ação ou evento 10 Categoria Sensores • Utilizado para identificar toques, cores, distâncias e normalmente são combinados com outros comandos 11 Controle de colisão ●Definir ações quando ocorrer colisões entre os atores 12 Pong 13 Algoritmo Calcular Média Programa Calcular_Media Var nota1, nota2, media Início ESCREVA "Digite a nota 1:" LEIA nota1 ESCREVA "Digite a nota 2:" LEIA nota2 media = (nota1 + nota2)/2 ESCREVA "Sua média foi:" ESCREVA media SE media >= 7 ENTÃO ESCREVA "APROVADO" Senão ESCREVA "REPROVADO" Fim Digite a nota 1: 7 Digite a nota 2: 7 Sua média foi: 7 Aprovado 14 Categoria Variáveis ● Variável é a estrutura para armazenar algum valor na memória do computador ● Tipos de dados no Scratch • Numérico: inteiros e reais • Textual: strings • Lógico: booleanos ● Escopo das variáveis 15 Categoria Variáveis ●Comandos ●Visualização e entrada de dados 16 Alterando Variáveis ●Atribuir um novo valor (set to) ●Adiciona uma quantidade específica ao valor atual (change) 17 Entrada de dados ●Permite ler dados digitados pelo usuário (ask and wait) ●Armazena os dados no bloco resposta (answer) 18 Categoria Operadores ●Permiteoperações aritméticas, expressões lógicas e funções trigonométricas, logarítmicas e exponenciais 19 Operadores Aritméticos ●Conjunto de símbolos que representa as operações básicas da matemática ●Podem ser usados com variáveis ou com valores fixos 20 Expressões Lógicas ●São expressões que resultam em valores lógicos: verdadeiro ou falso ●São compostas por operadores relacionais, operadores lógicos, e por identificadores variáveis ou constantes do tipo lógico ●As expressões lógicas também podem ser compostas por resultados de expressões aritméticas 21 Operadores Relacionais ●São utilizados para realizar comparação entre dois valores do mesmo tipo (variáveis ou expressões) ●Resulta em um valor lógico (verdadeiro ou falso) ●Podem ser utilizados com variáveis ou com valores fixos 22 Retorna verdadeiro se ambos operandos forem verdadeiros, senão retorna falso Retorna verdadeiro se um dos operandos for verdadeiro, senão retorna falso Inverte o valor de uma variável ou expressão, de verdadeiro para falso e vice-versa Operadores Lógicos ●Utilizados para unir expressões lógicas ●Combina resultados e testes de expressões ●Retorna um valor verdadeiro ou falso 23 Tabela Verdade ●Resultado das combinações de entradas X Y X e Y X ou Y verdadeiro verdadeiro verdadeiro verdadeiro verdadeiro falso falso verdadeiro falso verdadeiro falso verdadeiro falso falso falso falso 24 Categoria Controle Possui comandos pré-definidos, responsáveis pela estrutura lógica de conexão entre outros comandos 25 Estruturas de Seleção (Decisão) ●Utilizada para representar o desvio no fluxo normal de comandos ●Permite a execução de um bloco de comandos, quando expressões lógicas são satisfeitas F V 26 Verificando intervalos numéricos ●Condição: X >= 10 ● Implementação: 7 8 9 10 11 12 13 14 27 Verificando intervalos numéricos ●Condição: 8 <= X < 12 ● Implementação: 7 8 9 10 11 12 13 14 28 Estruturas de Repetição ●É uma estrutura utilizada quando um determinado conjunto de ações deve ser executado várias vezes 29 Atividade 3 - Calcular média na disciplina ● Sua professora de português quer calcular a sua média na disciplina, você precisa informar para ela: o seu nome, a sua nota da prova 1 e a nota da prova 2 ● A professora deverá somar as duas e dividir essa soma por 2 para chegar ao resultado https://scratch.mit.edu/projects/372250363 30 https://scratch.mit.edu/projects/372250363 Atividade 4 - Calcular a idade ● Após informar o ano corrente e o ano em que nasceu, o programa deverá identificar se a pessoa é maior ou menor de idade https://scratch.mit.edu/projects/372247998 31 https://scratch.mit.edu/projects/372247998 PENSAMENTO COMPUTACIONAL Scratch – Parte 2 32 PENSAMENTO COMPUTACIONAL Scratch – Parte 3 1 Manipulando Strings ●String é uma sequência ordenada de caracteres tratada como uma unidade ●Acesso individual aos caracteres da String ● Informe o tamanho da String 2 Atividade 5 - Quantidade de vogais na frase https://scratch.mit.edu/projects/372744094 3 https://scratch.mit.edu/projects/372744094 Extensão Caneta ●Todo ator tem uma caneta invisível ●Caneta pode ser utilizada para desenhar formas geométricas (triângulo, quadrado, retângulo, etc) 4 Extensão Caneta 5 Procedimentos ●Decomposição: processo que divide os problemas em partes menores para facilitar a resolução, desenvolvimento e gerenciamento ●Procedimentos: o programa é dividido em partes menores, responsáveis por executar determinadas tarefas cujo comportamento pode ou não variar de acordo com parâmetros de entrada ●Trechos de códigos repetidos para a execução de uma instrução ou conjunto de instruções n vezes seguidas 6 Atividade 6 - Procedimentos ●Blocos Caneta https://scratch.mit.edu/projects/375153792 7 Variáveis do tipo Listas ●Listas são coleções de variáveis do mesmo tipo agrupadas e acessadas por um único nome, ou melhor, um único identificador ●Uma lista é como um contêiner em que pode armazenar e acessar vários valores ●Os itens são referenciados por meio de sua posição (índice) 8 Criando Listas 9 Adicionando dados na Lista 10 Acessando itens da Lista ●Primeiro item tem o índice igual a 1 11 Atividade 7- Busca linear ●A Busca Linear (ou Busca Sequencial) realiza pesquisa em listas (ordenada ou não) ● O método compara o valor-alvo (X) com cada elemento da lista - dependendo da quantidade de elemento na lista pode consumir muito tempo ● Não é eficiente para listas ordenadas lista[i] == X 12 Atividade 7- Busca linear ● Procedimento Busca Linear, executado ao clicar no Ator (Botão Inserir) https://scratch.mit.edu/projects/375123019 13 https://scratch.mit.edu/projects/375123019 Broadcast de mensagens ●Pode ser utilizado para coordenação de Atores. ●Trechos de scripts podem ser executados após receber uma mensagem de broadcast ●Atores podem enviar e receber broadcast 14 Atividade 8 - Broadcast de mensagens Ator 2 Ator 3Ator 1 https://scratch.mit.edu/projects/363223951 15 https://scratch.mit.edu/projects/363223951 Exemplos livro Majed Marji 16 Mão na massa!!! Explore sua criatividade, desenvolva o seguinte script: Insira dois atores a sua escolha e crie um diálogo entre eles. Lembre-se que eles não devem falar ao mesmo tempo, um deve esperar a fala do outro para então responder Durante o diálogo, os atores poderão se movimentar e trocar suas fantasias aleatoriamente. Posteriormente, insira mais personagens na sua história e faça com que todos eles conversem Agora, adicione sons aos seus personagens. Você poderá ver os áudios disponíveis no Scratch na aba "Sons". 17 Mão na Massa!! ● Palíndromo é uma palavra ou frase que tenha a propriedade de poder ser lida tanto da direita para a esquerda como da esquerda para a direita. ● Crie uma script para verificar se uma frase ou palavra é Palíndromo ●Exemplos: • A grama é amarga • Socorram-me, subi no ônibus em Marrocos • Arara • Missa é assim • 02/02/2020 18 Mão na Massa!! ● Crie um script que, dado um número de 1 a 12 diga o mês correspondente a esse número. Por exemplo, se o usuário digitar 2, o programa deve responder "O mês 2 é Fevereiro". Se o usuário digitar um número fora do intervalo de 1 a 12 o programa deve dizer que o número é inválido. 19 PENSAMENTO COMPUTACIONAL Scratch – Parte 3 20 PENSAMENTO COMPUTACIONAL Letramento Digital 1 Roteiro 1. Conceitos básicos 2. Computadores 3. Dados e Informação 4. Sistema Computacional 5. Hardware 6. Software 7. Sistemas Operacionais 8. Programas da Aplicação 9. Processamento de Dados 10. Representação de Dados 11. Armazenamento de Dados 12. Redes de Computadores e a Internet 13. Largura de Banda 14. Hipertexto 15. Portais na web, Blog, Wiki, Domínio 16. Protocolo HTTP e HTTPS 17. Buscas na Web 18. Correio Eletrônico 19. Computação em Nuvem 20. Armazenamento em Nuvem 21. Organização de arquivos em Pastas 22. Editores de Documentos, Apresentações e Planilhas 23. Compartilhamento de Documentos 24. Formulários Online 25. Gravação e Edição de Vídeos 26. Comunicação na Internet 27. Redes Sociais 28. Segurança na Internet 29. Internet das Coisas 30. Big Data 31. Inteligência Artificial - IA 32. Ambiente Virtual Aprendizagem 2 ● COMPUTAÇÃO: ciência que estuda o processo de resolução de problemas através da construção de algoritmos, desenvolvendo o Pensamento Computacional. ● COMPUTAÇÃO: ciência que explica o que é e como funciona o Mundo Digital. ○ Contribui para a evolução do conhecimento científico e tecnológico, e utilizar esse conhecimento em atividades de desenvolvimento, avaliação de métodos, ferramentas e soluções computacionais. Conceitos básicos 3 Conceitos básicos ● COMPUTADOR: é uma máquina composta de elementos eletrônicos, capaz de realizar uma grandequantidade de tarefas com alta velocidade e precisão, desde que receba as instruções adequadas. ○ Processa informações na forma de dados, podendo ser programado para a realização de diversas tarefas ● INFORMÁTICA: é o conjunto de métodos e técnicas para o tratamento automático da informação com o uso do computador. 4 ● LETRAMENTO DIGITAL: é o domínio de técnicas e habilidades para acessar, interagir, processar e desenvolver multiplicidade de competências na leitura das mais variadas mídias. ● Utiliza de forma eficiente e crítica diversas ferramentas que nos auxiliam a obter, analisar, organizar e repassar informações com diversos formatos e objetivos. Conceitos básicos 5 ● Letramento Digital é a capacidade de utilizar um sistema de símbolos e uma ferramenta tecnológica para compreender, gerar, comunicar e expressar ideias ou pensamentos [Mariana Bers]. ● O indivíduo não só aprende a usar a tecnologia e o meio digital, mas a utilizar suas funções da melhor forma, em seu proveito e com respeito pelos demais. Conceitos básicos 6 ● DADOS: Códigos que representam a matéria-prima da informação. São um conjunto de letras, números ou dígitos que, isoladamente, não contém significado claro. ● INFORMAÇÃO: Qualquer fato ou conhecimento do mundo real, possui significado, pode ser analisada para tomada de decisão ou fazer afirmação. ● EXEMPLO: ○ Dado: 38° C ○ Informação: Está muito quente hoje! Dados e Informação 7 ● Atualmente as pessoas interagem com diversos tipos de dados. Dados e Informação 8 ● TIPOS DE DADOS: ○ Número ○ Texto ○ Áudio ○ Imagem ○ Vídeo ● As pessoas precisam realizar o processamento desses diferentes tipos de dados para obter informações. No contexto, os computadores são os responsáveis por realizar esse processamento. Dados e Informação 9 Computadores 10 ● A execução de tarefas por parte do computador é fundamentada pela composição de Hardware e Software. Essa composição também é chamada de Sistema Computacional. Sistema Computacional Sistema Computacional Hardware Software 11 ● A execução de tarefas por parte do computador é fundamentada pela composição de Hardware e Software. Essa composição também é chamada de Sistema Computacional. ● HARDWARE: Representa a parte física de um computador, equipamento físico, parte que é possível tocar, por exemplo: fios, placas, telas, botões, chips, entre outros. ● SOFTWARE: Representa a parte lógica, não física de um computador. Composto por programas, conjunto de instruções que logicamente executam uma tarefa computacional. Sistema Computacional 12 Hardware ● Todo computador é formado por um conjunto de componentes de Hardware, os principais são: ○ Processador: Realiza o processamento de dados. ○ Memória: ■ RAM: Armazena dados e programas que estão sendo usados pelo usuário. Memória Volátil!! ■ ROM: Armazena dados do fabricante, necessário para fazer o computador funcionar. ■ HD: Armazena todos os dados e programas do usuário que não estão sendo usados. Memória não Volátil!! ○ Fonte/Bateria: Permite o funcionamento do Computador, passagem de eletricidade. ○ Placa-mãe: Interliga e permite a comunicação entre todos os componentes do computador. 13 Hardware 14 Hardware 15 ● O Software é dividido em duas categorias: Software Software Sistema Operacional Programas da Aplicação 16 ● O Software é dividido em duas categorias: ● Sistema Operacional: É um programa que controla todo o sistema computacional, ou seja, todas as atividades do computador. Atua como um administrador e facilita a execução de outros programas e acesso aos recursos de hardware e software. ● Programas da aplicação: São programas controlados pelo Sistema Operacional. Destinados para solucionar uma tarefa específica para o usuário. Exemplo: Calculadora. Software 17 ● Exemplos de Sistemas Operacionais: Sistemas Operacionais 18 ● Exemplos de Programas da Aplicação: ○ Editores de Texto: Programa básico para edição de textos, permite criar, editar e salvar textos simples. ○ Calculadora: Programa que simula uma máquina de calcular, permitindo que o usuário efetue operações matemáticas através da tela do computador. ○ Gravadores e Reprodutores de Vídeo: Programas que permitem criar arquivos de vídeo e reproduzir um conjunto de vídeos (imagem e som). ○ Compactadores: No computadores existem arquivos de tamanho muito grande, os programas compactadores permitem comprimir o tamanho desses arquivos e facilitar a transmissão rápida por exemplo para um pen-drive. Programas da Aplicação 19 ● Exemplos de Programas da Aplicação: Programas da Aplicação 20 ● O processamento de dados é realizado de acordo com a esquematização da figura abaixo. ○ Os Dados entram no computador, é realizado um processamento específico e o resultado ou informação de saída é exibida para o usuário. Processamento de Dados 21 ● Os dados são armazenados no computador em um formato uniforme e depois são processados. ○ Formato uniforme: Padrão Binário. ● Após o processamento os dados armazenados são recuperados e transformados novamente para seu formato original. Representação de Dados 22 ● PADRÃO BINÁRIO: Representação universal dos dados armazenados em um computador. ○ O formato utiliza dois dígitos, ZERO e UM, que representam o estado do dispositivo. ● 0 - Desligado ou ausência de pulso elétrico ● 1 - Ligado ou presença de pulso elétrico ● O Computador é uma máquina elétrica, assim funciona com base em pulsos elétricos. ● O padrão binário é a linguagem que o computador consegue entender. Representação de Dados 23 ● PADRÃO BINÁRIO: Formato uniforme, representação universal dos dados armazenados em um computador. ○ Bit é a menor unidade de dados que pode ser armazenada em um computador. ■ Um Bit pode ter o valor de 0 ou 1. ○ Entretanto os dados presentes são ○ armazenados e representados por uma sequência de bits. ● Exemplo: 8 bits, combinação de 0s e 1s, totalizando 8 bits. 10001011 Representação de Dados 24 ● EXEMPLO PADRÃO BINÁRIO: ○ Sistema decimal ■ Números de base 10, formados por símbolos: 0, 1, 2, 3, 4, 5, 6, 7, 8 e 9. ○ Sistema Binário ■ Números de base 2, formados pelos símbolos 0 e 1. ○ Exemplo: O número 19 no sistema decimal é representado como 10011 no sistema binário. Representação de Dados 25 ● EXEMPLO PADRÃO BINÁRIO: ○ Exemplo: O número 19 no sistema decimal é representado como 10011 no sistema binário. ■ Como obter representação binária de um número inteiro decimal? ● Método das divisões sucessivas por 2. Representação de Dados 26 ● EXEMPLO PADRÃO BINÁRIO: ○ Exemplo: O número 19 no sistema decimal é representado como 10011 no sistema binário. ■ Como obter representação binária de um número inteiro decimal? ● Método das divisões sucessivas por 2. Representação de Dados 27 ● Para facilitar a manipulação, processamento e quantificação dos dados, foram criadas unidades de medidas para tipos de dados e arquivos. De modo análogo ao: ○ Peso (gramas, quilogramas...) ○ Distância (centímetros, metros, quilômetros...) ○ Tempo (segundos, minutos, horas…) ● O Conjunto de 8 bits é chamado de byte. ● Quanto maior a quantidade de dados maior a quantidade de bits necessária para armazenar esses dados no computador. Armazenamento de Dados 28 ● O Conjunto de 8 bits é chamado de byte. Armazenamento de Dados Unidade Equivalência 1 Byte 8 bits 1 Kilobyte (KB) 1024 Bytes 1 Megabyte (MB) 1024 Kilobytes 1 Gigabyte (GB) 1024 Megabytes 1 Terabyte (TB) 1024 Gigabytes 1 Petabyte (PB) 1024 Terabytes 29 ● Espaço de armazenamento: ○ Desktops e Notebooks ■ Memória RAM: 4GB - 16GB ■ HD: 120GB - 2TB ■ SSD: 120GB - 500GB ○ Smartphones ■ Memória RAM: 4GB - 8GB ■ Armazenamento interno: 16GB - 512GB Armazenamento de Dados HD SSD 30 Armazenamento de Dados Tamanhos de arquivos: Vídeos: Em geral, são os arquivos que ocupam maiorespaço de armazenamento. Quanto maior a duração e resolução do vídeo, maior será o tamanho do arquivo que deverá ser armazenado. Exemplo: Resolução: Full HD (1920 x 1080) Duração: 1 min Tamanho do arquivo de vídeo: 144 MB 31 Armazenamento de Dados Tamanhos de arquivos: Fotos: Quanto maior a resolução da imagem maior será o tamanho do arquivo que deverá ser armazenado. Exemplo: Resolução: 4096 x 2304 Tamanho do arquivo de imagem: 1,61 MB Documentos: Em geral, são arquivos que não demandam muito espaço de armazenamento. Exemplo: Texto de 5 páginas com 1846 palavras Tamanho do arquivo de texto: 12 KB 32 PENSAMENTO COMPUTACIONAL Letramento Digital 33
Compartilhar