domingo, 13 de novembro de 2016

Aprendendo a Programar com o Scratch

O Scratch é um ferramenta que pode ser usado para conduzir o aluno iniciante à compreensão dos elementos fundamentais da programação de computadores. Este software utiliza de elementos gráficos para representar as principais estruturas de programação, assim e outros eventos necessários para execução de operações em um ambiente totalmente interativo e de fácil compreensão e utilização.


O software pode ser obtido em seu site oficial, na sua página de download, onde também pode ser encontrado um pequeno tutorial para instalação. O módulo de ajuda conta também com um completo guia de referência e outras informações úteis.

Para Saber Mais

domingo, 23 de outubro de 2016

Curso de Programação - Programação Sequencial

Este é o primeiro programa do curso de programação de computadores usando o Scratch. Entenda-se que este não é um curso de Scratch e sim um curso de programação que usa o Scratch como ferramenta de programação.

O conceito aqui exemplificado é o da Programação Sequencial (veja a figuras a seguir). Nesta modalidade de programação a principal característica é a execução das instruções em sequência, sem repetições ou seleção de linha a serem, ou não, executadas.

 Curso de Programação - Exemplo 1

Ressalta-se que por mais difícil que se possa imaginar, esta modalidade de programação é comumente encontrada em programas profissionais. A janela a seguir permite que seja executado o programa da figura anterior - é só clicar na bandeira verde.


Obviamente os programas completos não usam esta modalidade de programação. Entretanto, é muito usada nos atuais módulos da Programação Orientada a Objetos, como classes e métodos. 

Para Saber Mais

quinta-feira, 14 de abril de 2016

Jogo da Programação

Visão Geral e Objetivo

O ambiente simula, através de um jogo de tabuleiro, o processo de programação de um robô, sendo indicado como elemento lúdico tangível em aulas e/ou atividade de introdução à programação de computadores. O jogo tem como objetivo conduzir um robô pela trilha, do quadro inicial até o quadro final, executando um dos objetivos pré-determinado ou até mesmo criando novos objetivos.

Elementos do Jogo
  • Tabuleiro - contém a trilha composta por quinze casas, observando-se que o caminho a ser percorrida dependerá do objetivo selecionado;
  • Jogadores - três a cinco aprendizes, que serão divididos em programadores e controlador programável;
  • Peças - robô e marcadores amarelos e verdes (cinco de cada cor e podem ser substituídas por grãos ou moedas);
  • Cartões de Objetivo - descrevem qual objetivo deve ser alcançado em cada uma das rodadas do jogo;
  • Cartões de Programação - individualmente descrevem uma ação específica e logicamente agrupados descrevem como alcançar o objetivo.

O Jogo
  1. Inicialmente o instrutor (professor ou organizador da atividade) distribui aleatoriamente os marcadores pelo tabuleiro e organiza os jogadores em dois grupos, os programadores e o controlador programável, doravante chamado apenas de controlador;
  2. Sendo o controlador isolado do grupo de programadores, estes últimos devem receber um cartão de objetivo (selecionado ou sorteado pelo instrutor);
  3. Com base no cartão recebido, os programadores deverão traçar a melhor estratégia (caminho a ser percorrido) para alcançar o objetivo;
  4. Definido o caminho a ser percorrido, os programadores deverão selecionar ordenadamente os cartões de programação que orientarão o controlador quanto ao caminho a ser percorrido e como selecionar ou descartar os marcadores;
  5. O controlador deve ser trazido ao tabuleiro e a ele também devem ser passados os cartões de programação ordenados e empilhados, onde apenas a primeira instrução deve estar visível ao controlador;
  6. O robô deve ser posicionado pelo controlador na primeira casa do tabuleiro, com sua frete posicionada na mesma direção da seta ali encontrada;
  7. O controlador deve observar a carta visível da pilha, interpretar o seu conteúdo, executar a ação descrita e descartar a carta de programação, de maneira a poder visualizar a próxima instrução, podendo assim continuar a execução do programa.
O jogo será encerrado quando o robô alcançar a casa final, cumprindo com as determinação da carta de objetivo. Destaca-se que erros no programa, ou na execução das instruções, poderão fazer com que o controlador erre a trajetória e nunca chegue a casa final, sendo assim necessário definir um tempo máximo para execução da partida.

Observações
  • Este jogo exige dois tipos de habilidades para alcançar o objetivo: i) a lógica dos programadores para selecionar o caminho e para ordenar os cartões de programação e, ii) a destreza e precisão do controlador para executar as instruções;
  • Em ambientes com muitos aprendizes, estes devem ser divididos em grupos menores, de no máximo três aprendizes por grupo. Podendo haver uma competição, contabilizando o tempo de programação e o tempo de execução.
Possíveis Variações no Jogo
  • Mais de um controlador pode ser usado, onde as tarefas podem ser divididas;
  • Assim como podem ser personalizados os objetivos, os instrutores e aprendizes podem criar novas opções de tabuleiros;
  • Em ambientes amplos, o tabuleiro pode ser desenhado no chão, em tamanho suficiente para que o controlador programável personifique o robô.
Um Exemplo de Programa

Usando a distribuição mostrada à esquerda da figura a seguir, com o objetivo de "Coletar todos os marcadores amarelos e depositá-los na última casa do tabuleiro", uma das opções para programação é mostrada à direita da figura.


O vídeo a seguir apresenta uma demonstração das características e do uso da nova versão do Jogo. No vídeo são destacadas as principais funcionalidades do Jogo, assim como seus elementos e fases.


Download do Jogo

domingo, 24 de janeiro de 2016

Blockly-Games

O Blockly-Games é uma séria de jogos educacionais voltados ao ensino da programação. Desenvolvido pela Google for Education implementa tutoriais de programação visual por blocos lógicos, de maneira semelhante a aplicações profissionais como o AppInventor, ou educacionais como o Scratch.



Ao todo são sete tutoriais (jogos) que ao serem usados, progressivamente vão apresentando os fundamentos da programação e da ciência dos computadores. O Blockly-Games pode ser acessado via internet em https://blockly-games.appspot.com/, ou baixado de https://github.com/google/blockly-games/wiki/Offline.