quinta-feira, 31 de janeiro de 2019

Ensinando Matemática com o Scratch

Você já tentou ensinar para alguém o que é uma equação? Que método você utilizaria? Falar, escrever no papel, pesquisar um vídeo, "fugir para as colinas"(zoas)? Que tal construir um tutorial em Scratch, muito parecido com um pequeno ambiente virtual de aprendizagem que fale sobre o que é uma equação (você pode escolher outro conceito)? Vamos lá!?


No projeto O que é uma equação? (https://scratch.mit.edu/projects/258597800/) temos um tutorial construído para explicar:

  • O que é uma equação? (em vermelho). Apresenta a definição matemática do que é uma equação por meio das falas do personagem.
  • Como calcular? (em azul). Em conjunto com o personagem falando, aparece os passos descritos de uma equação sendo resolvida.
  • Exemplificando. (em verde). Traz um exemplo de um problema matemático sendo resolvido utilizando o método de Polya, onde é extraída uma equação e a mesma é resolvida e encontrada a resposta.
Cada uma das opções será apresentada por meio de um botão a ser clicado, que nada mais é do que um ator que foi desenhado e usado a opção "Quando este ator for clicado". O restante é tudo baseado em programação de falas do personagem professor e com o uso de fantasias para mostrar as equações ou problemas no quadro com uso de mensagens.
Você deve ter notado que existem 4 atores do professor (destacados em vermelho), um pra apresentação inicial (bandeira verde) e os outros 3 para cada um dos botões com as falas separadas para cada um. Seria por acaso um meio de organizar as programações? Na realidade é devido a um problema de cliques e de respostas no Scratch, onde o que ocorre é que se a fala do personagem professor estiver em execução, com a explicação sobre "Como calcular?" e o usuário clicar em "O que é uma equação?", as falas vão ficar se sobrepondo, o que é péssimo em um tutorial. Portando a estratégia é fazer várias cópias do personagem ou ainda ter um personagem diferente para cada um dos botões e, cada um deles ter o "esconda" e "mostre" inseridos (destacados em verde).


Gostou do tutorial? Acha que é possível ensinar sobre o que é uma equação para um amigo seu? Que tal construir tutoriais sobre outros conceitos matemáticos? Hora de criar e, deixe nos comentários o que você aprendeu e quais novidades que você implementou no seu tutorial. Até a próxima!

sexta-feira, 25 de janeiro de 2019

A Programação em papel.

Programar no Scratch é muito divertido e interativo. Mas existem situações que você não tem a possibilidade de programar em um computador, mas isso não significa que seja impossível utilizar esse recurso. Hoje vamos brincar e aprender a programar no papel.
Ser você der um bom zoom (Rolar mouse + Crtl) é possível dar prints nos blocos que estão disponíveis no site do Scratch (ou usar alguns que já foram separados nesse post) e após isso imprimir e recortar os blocos para usar nas suas atividades, lembrando de não esquecer de imprimir  ou usar um personagem pronto.
Uma atividade a ser desenvolvida é brincar de "mova _ passos'' e "gire _ graus (horário e anti-horário)" lembrando de deixar anotado o tracejado que seu personagem irá percorrer, para melhor entender o que está sendo realizado.


A seguir, é muito interessante acrescentar os comandos de lógica de programação de "Quando Bandeira for clicado (Iniciar)" e "repita _ vezes" que servem para iniciar suas programações e fazer repetições e economias nos seus códigos.


Uma outra possibilidade é trabalhar com os conceitos de plano cartesiano com o comando "vá para x:_ e y:_ . Usando um papel milimetrado, pode-se ir anotando os pontos e vendo as figuras que são formadas. Que tal o desafio de construir um quadrado de lado 4 cujo uns dos vértices está em no ponto (3,4).

Finalizando, essa é uma atividade que você pode fazer como introdução a diversos conceitos matemáticos como comprimentos, ângulos e pontos em um plano cartesiano para engajar estudantes ou amigos a aprenderem programação. Existem outras atividades que usam esse conceito de aprender ciência da computação sem tecnologia, que é denominada de Unplugged Science, e que pode ser conferida diversas atividades no site: https://csunplugged.org/en/. Gostou? Deixe nos comentários suas impressões e descobertas. Até a próxima!

quarta-feira, 9 de janeiro de 2019

Prime Game: o aplicativo de fatoração.

Hoje o nosso foco é construir um game de fatoração usando os números primos. Os números naturais podem ser escritos através da multiplicação de números primos (que são números que podem ser divididos apenas por 1 e por eles mesmos, a exemplo o 2, 3, 5, 7 e assim continua). Veja abaixo como funciona a fatoração:


Entendendo isso, vamos a programação do aplicativo Prime Game cujo projeto está disponível em: ai2.appinventor.mit.edu/?galleryId=5816819630866432


Para construir esse aplicativo houve a necessidade da criação de uma variável global Primos que gera números aleatórios entre 2 e 30. Além disso, existe outra variável global que é a do Placar, que adiciona um ponto sempre que você for bem sucedido ao fatorar o número proposto. Existe ainda o botão que aparece sempre que você faz uma fatoração correta e em seguida gera um novo número aleatório no intervalo de 2 a 30. Temos também a programação do procedimento que vai ser encaixado em cada botão de divisão de número primo, que faz o processo para gerenciar quando a variável global chega a 1 e a contagem de pontos, conforme podemos ver abaixo:


Agora vamos ao grande problema a ser resolvido no aplicativo. Como podemos ver acima, a fatoração é uma série de divisões sucessivas por números naturais primos e que temos de ter sempre um número inteiro como quociente. Para evitar que tenhamos divisões por números que nos remetam a quocientes não naturais, foi usada a opção de resto de divisão (em verde) que analisa a divisão do número gerado pelo que você quer dividir. Exemplificando, se temos o número 15 e dividirmos por 2, temos o valor 7 de quociente e resto 1 e que não é uma divisão exata, logo a programação acusa que você errou e perde o jogo. Caso tivesse dividido 15 por 3, teríamos o quociente 5 e resto da divisão 0, ou seja, uma divisão exata (que é o que a fatoração pede) e a programação permite continuar dividindo. Abaixo você verá a programação da divisão pelo número primo 2 (sendo que se você alterar os valores destacados em vermelho, você terá as demais possibilidades para os outros primos):


É possível melhorar esse aplicativo ainda mais. Que tal aumentar o intervalo dos valore aleatórios para números maiores? Lembre-se que você irá precisar implementar os botões para os demais primos que compreendem esse intervalo maior ou excluir os valores desse primos e seus múltiplos. Que tal esse desafio? Deixe nos comentários as suas descobertas e produções. Até a próxima.

terça-feira, 8 de janeiro de 2019

Vamos desafiar?

Que tal construir um aplicativo de desafios? O post de hoje é dedicado a entender como funciona a construção e a personalização do aplicativo "Desafiando seu amigo" (você encontra o código fonte em: ai2.appinventor.mit.edu/?galleryId=5223454241587200).


O aplicativo é basicamente um conjunto de telas personalizadas com um contador. Conforme você avança muda a tela com um desafio diferente, por isso não existe dentro dele uma unidade de controle de resposta certa ou errada, é algo que quem está usando o aplicativo fará as verificações, ou seja, um aplicativo para diversão em grupos de amigos.
Além do uso de botões de avanço de tela (destacados em verde), a programação apresenta um valor de contador (em vermelho) que pode ser mudado de acordo com o tempo em segundos que você quer estipular que aquele desafio seja cumprido. Apenas lembre-se de mudar o valor na opção Legenda na área de desenvolvimento de Designer, para o valor máximo que você estipulou.


Resumindo, esse contador funciona com base no uso de um temporizador, que a partir do momento que inicia a tela, ele começa uma contagem regressiva. Se atingir o valor zero redireciona para a página do fim de jogo, caso a pessoa acerte o desafio antes, é possível ir para o próximo desafio clicando no botão "Próximo Desafio".
Na área de desenvolvimento de Designer, é que colocaremos os desafios produzidos em um software de edição de imagens (Paint, Canvas, dentro outros) com a função da Imagem de Fundo da Tela (destacada em vermelho abaixo). Ao fazer upload da sua imagem, procure deixar as escritas já centralizadas e o formato da imagem conforme o tamanho retangular de um celular padrão, para não desfocar muito. 


Finalizando, você irá compilar o aplicativo com a opção "App (compilar o QR code para o .apk) e com um leitor de QR Code você irá instalar seu aplicativo personalizado de Desafio e começar a desafiar seus colegas. Curtiu? Deixe nos comentários abaixo o link do seu aplicativo de desafios. Até a próxima.

Como não perder nenhum compromisso: Meu App Agenda

No nosso dia a dia a agenda é um instrumento de grande importância que as pessoas utilizam para fazer anotações de compromissos ou informaçõ...