[EXTRA] Raciocínio Lógico: O que é Algoritmo?

Objetivos de Aprendizagem

(1A-IC-17) – Trabalhar de maneira responsável e segura com outros de maneira online.

Competências da Base Nacional Curricular Comum (BNCC) Utilizadas

Esse plano de aulas tem como objetivo de conscientizar o aluno sobre os riscos da comunicação online e como podemos fazer isto de maneira segura.

Esta aula compõe os pilares de Letramento Tecnológico e Letramento Científico da metodologia Flylab da Barco Voador.

Contexto

Algoritmos no dia a dia 

Tempo sugerido: 15 minutos

Orientações:

Inicie a aula dizendo que nesta sequência didática, vocês relacionarão a noção de algoritmo com as atividades do dia a dia. O objetivo é traduzir as atividades da vida diária em sequências de instruções. Neste caso, não trabalharemos com o computador nem escreveremos programas. Vocês se familiarizarão com a tarefa de detalhar instruções, compreender a importância de como elas são organizadas e distinguir entre as etapas necessárias, irrelevantes e erradas.

Pergunte aos alunos: “O que vocês fizeram de manhã para se prepararem para vir para a escola?” Algumas respostas possíveis são: “Tomei banho”, “Coloquei o material na mochila”, “Fui ao ponto de ônibus”, entre outras. À medida que os alunos respondem, nós escrevemos suas respostas no quadro e colocamos números nelas para indicar uma ordem lógica em que essas ações ocorreriam. Se os alunos nos derem respostas desordenadas, começamos uma discussão para concordar com uma ordem.

Esta é uma boa oportunidade para destacar que, em alguns casos, a ordem é importante, enquanto em outros não. Por exemplo, uma pessoa poderia tomar um banho primeiro e depois tomar o café da manhã, e outra poderia fazer o contrário, o que não implicaria em um problema de ordem. Porém, o mesmo não ocorre se considerarmos as ações de se vestir e ir ao ponto de ônibus; aqui, a ordem dessas duas ações é relevante.

A seguir, falaremos sobre a maneira como fazemos as coisas todos os dias e como podemos fazer uma descrição passo a passo de como as fazemos. Por exemplo, os alunos podem descrever ações tão simples como preparar o café da manhã, escovar os dentes ou calçar os sapatos.

Peça aos alunos para abrirem nas páginas 17  e 18 do material, ou imprima aqui: Folheto 1 e 2. Instrua que formem grupos de quatro membros. O arquivo mostra um exemplo de algoritmo para calçar.

A questão 1 é pedir a cada equipe que escolha uma tarefa diária e relacione as etapas necessárias para realizá-la. Em seguida, pedimos a cada grupo que explique os passos para realizar a tarefa escolhida, mas sem mencionar aos demais a que atividade corresponde. O resto da classe deve adivinhar qual atividade cada grupo escolheu.

Na questão 2, os alunos devem reconhecer as ações por meio de imagens que apresentam instruções desordenadas para uma tarefa. Nesse caso, é um menino escovando os dentes. Após escrever a ação representada por cada imagem, eles devem conectar por linhas a imagem com a ordem correspondente, para que o algoritmo de escovação dos dentes siga uma sequência lógica.

Discuta com a turma:

Escreva a palavra algoritmo no quadro. A seguir, explique aos alunos que um algoritmo é uma sequência ordenada de instruções para atingir um objetivo. Mostre, então, que eles escreveram algoritmos para realizar atividades cotidianas. Aqui é importante observar que, em alguns casos, a ordem das instruções do algoritmo pode mudar sem afetar o resultado, enquanto em outros isso não é possível.

Desafio

Plantando sementes

Tempo sugerido: 15 minutos

Orientações: 

 Uma das atividades que os alunos costumam fazer durante o ano é o plantio de uma semente. Vamos usar essa prática para trabalhar na noção de algoritmo. Para isso, propomos trabalhar com uma folha com 9 imagens, cada uma associada a uma instrução. Peça para os alunos abrirem o material nas páginas 19, 20 e 21, ou imprima aqui: Folheto 1, 2 e 3. Escolha um aluno para ler as instruções da página 19. Depois fale para formarem grupos de até 4 pessoas.

Depois de distribuir a folha de atividades aos alunos, começamos a discutir as diferentes etapas e perguntamos se todas elas são necessárias para plantar uma semente. Existem 3 ações que não são: abraçar um elefante, colocar cola na semente e despejar o refrigerante na panela. A seguir, pedimos que cortem as imagens e eliminem etapas desnecessárias. Eles devem recortar e colar as 6 instruções necessárias em uma folha em branco.

Assim que concluírem a tarefa, perguntamos se todas as etapas ignoradas são do mesmo tipo. Seríamos capazes de plantar a semente se abraçássemos um elefante antes de regá-la? Embora seja desnecessário, ainda podemos atingir a meta. Por outro lado, se colocarmos cola na semente, a tarefa falhará porque a semente não germinará. E se colocarmos refrigerante em um vaso de flores?

Pedimos aos grupos que troquem seus algoritmos para ver se algum tem erros e requer correção. Por fim, pedimos aos alunos que plantem uma semente seguindo os passos do algoritmo.

Discuta com a turma:

Destacamos a diferença entre etapas desnecessárias e etapas erradas. Por outro lado, comentamos que, para resolver um problema, não existe um algoritmo único. Conforme visto no exercício, se tivéssemos incluído o abraço ao elefante, o algoritmo teria sido igualmente correto para plantar a semente. Na verdade, o número de algoritmos para realizar uma tarefa é infinito.

Mão na Massa

A máquina de desenho

Tempo sugerido: 45 minutos

Orientações: 

Nesta aula, iniciaremos um pequeno projeto de programação para construir uma máquina de desenho, que será retomado em atividades posteriores neste capítulo. Uma implementação completa está disponível em: Scratch.

Peça para os alunos abrirem o material nas páginas 22 e 23, ou imprima aqui: Folheto 1 e 2

Trabalharemos com uma bola que, ao pressionarmos as setas do teclado, poderá traçar linhas na tela. De uma forma mais técnica, iremos programar como a bola irá lidar com os eventos que acontecem quando pressionamos certas teclas. De uma perspectiva mais geral, faremos o que sempre fazemos quando programamos no Scratch: determinar como alguns objetos se comportam em resposta a diferentes eventos.

Começamos pedindo aos alunos para carregar o Scratch. Se você usar o editor online, recomendamos que você inicie uma sessão primeiro e depois clique na opção Criar do menu superior.

Para um melhor aspecto gráfico, é aconselhável não utilizar o gato Scratch como protagonista desta atividade. Em vez disso, sugerimos usar o objeto Ball, que tem o formato de uma bola. Para fazer isso, primeiro excluímos o gato da cena pressionando o botão direito do mouse no gato da galeria Objetos.

A seguir, adicionamos um novo objeto da biblioteca. Para o resto da atividade, usaremos o objeto Ball da Biblioteca de Objetos como exemplo. Os alunos podem querer usar algum outro objeto. Isso apenas modificaria a visualização, mas a essência da atividade permanece.

Uma vez que a bola é incorporada à cena, nos concentramos em programar como o objeto deve reagir aos eventos que consistem em pressionar cada uma das setas do teclado. É importante ter sempre em mente que, na hora de programar, definimos as ações que o objeto de galeria atualmente selecionado realizará.

Dizemos aos alunos que vamos fazer um programa de desenho. Explicamos que a bola amarela será a ponta de um lápis e a parte inferior da tela, uma folha de papel branco. Quando você pressiona uma seta no teclado do computador, deve fazer a bola se mover na direção indicada pela seta e desenhar uma linha. À medida que trabalham, abordamos seus bancos e, se necessário, esclarecemos as dúvidas que surgirem. Para resolver o desafio proposto, devemos levar em conta, por um lado, o que queremos que aconteça ao iniciarmos o nosso programa, e por outro, devemos saber pintar com a bola.

É preciso ter sempre em mente que a bola deve se comportar como um lápis; ou seja, cada vez que ela se move, ela traça uma linha. Na categoria Caneta está o bloco de use a caneta . Uma estratégia prática é usá-lo em conjunto com o bloco quando (bandeira verde) for clicado da categoria Eventos. Em geral, pressionaremos a bandeira verde para iniciar uma execução de nossos programas. Portanto, é o momento adequado para a bola abaixar o lápis e deixá-lo pronto para desenhar.

As execuções sucessivas de um programa Scratch deixam um rastro. Se usarmos o programa para desenhar algumas linhas e depois pressionar a bandeira verde, nem a bola voltará à sua posição original nem a folha será limpa. Se queremos que isso aconteça, temos que cuidar nós mesmos. Cada posição de um objeto em uma cena Scratch é identificada por duas coordenadas x e y. Eles representam as posições em um eixo de coordenadas que posiciona o centro da tela na posição x = 0 e y = 0. Os valores positivos de x identificam o lado direito da tela e os valores negativos o lado esquerdo. Da mesma forma, os valores positivos de y compreendem a parte superior da tela e os valores negativos a parte inferior. Para reposicionar nosso objeto no centro, devemos usar o bloco ir para x: [ ] y: [ ] e os valores 0 e 0.

A seguir cuidaremos da limpeza do papel dos desenhos residuais. Lembre-se que, para programar, devemos selecionar o objeto apropriado na galeria de objetos. Nesse caso, o plano de fundo. Indicamos que ao pressionar a bandeira verde, tudo o que estiver desenhado no papel é limpo. Para fazer isso, usamos o bloco apague tudo da categoria Lápis.

Agora nos concentramos em dizer à bola o que fazer cada vez que uma flecha é pressionada. É importante observar que os objetos em uma cena de Scratch estão apontando em uma direção o tempo todo. Os endereços são representados por um número. Nesta atividade, usamos valores para indicar apenas direções horizontais e verticais. Usamos os valores 90, -90, 0 e 180, que representam as direções direita, esquerda, para cima e para baixo, respectivamente.

Uma alternativa possível é fazer a bola apontar na direção correta de acordo com cada seta e depois movê-la. Assim como usamos números para indicar direções, também temos que usá-los para mover a bola, neste caso, para indicar o número de passos que ela dará. A variação deste valor resulta em linhas mais longas e mais curtas. 

Cada vez que movemos a bola, um traço de sua passagem permanece. A instrução 3 do material na página 23 propõe que os alunos façam a bola se mover sem pintar. Especificamente, ao pressionar 1 a máquina apóia a bola no papel para poder desenhar e ao pressionar 2, levanta-a e move-se sem deixar vestígios. Para isso, basta combinar os blocos de abaixar caneta e levantar o caneta com o bloco ao pressionar a tecla [  ] da categoria Eventos.

Convidamos os alunos a usar as máquinas programadas por eles próprios. Espera-se que eles provem experimentalmente que podem usar a bola para desenhar e se mover pintando e sem pintar.

Discuta com a turma: 

Por fim, pedimos que mantenham seus programas, pois os retomaremos em outras atividades. Para isso é conveniente primeiro dar-lhes um nome; isso pode ser feito no bloco de texto na parte superior da tela. Então, usando a opção Salvar agora do menu superior do ambiente, o projeto pode ser preservado.

Sistematização

Tempo sugerido: 5 minutos

Orientações: 

Neste capítulo, os alunos aprenderam o significado de algorítimo e como utilizá-lo, também aprenderam a utilizar o programa Scratch.  

Os alunos serão capazes de:

• Entender o que é algorítimo.
• Criar uma máquina de desenhos no Scratch.


Referências Bibliográficas:

CASTELAN, J.; BARD, R. D. Implementação das metodologias ativas de
aprendizagem nos cursos presenciais de graduação. Revista Vincci, v. 3, n. 1,
p. 2-22, 2018.

MATTAR, J. Metodologias Ativas para a educação presencial blended e a
distância. São Paulo: Artesanato Educacional, 2017.

ZWICKER, M. R. G. A aprendizagem ativa e o cérebro: contribuições da
neurociência para uma nova forma de educar. In: SANTOS, C. M. R. G.;

Websites:

https://www.commonsense.org/