O Microprocessador de 8 Bits, que até pode ser considerado como um infográfico interativo, é uma aplicação computacional que implementa um microprocessador com estrutura e funcionalidades bem simples; podendo executar apenas 5 operações entre registradores e/ou constantes inteiras, a saber: i) movimentação de dados (MOV); ii) adição (ADD); iii) subtração (SUB); iv) multiplicação (MUL) e; v) divisão (DIV).
Para usar o aplicação, basta clicar no botão de "Comando" e selecionar a operação desejada. Após isso o usuário deve definir os dados necessários à operação, clicando nos botões abaixo do comando - os quais serão devidamente ajustados, dependendo da operação selecionada. Feito isso, basta clicar em "Exec" e observar o processo de execução do comando.
Esta oficina, através da execução de pequenos programas (em diferentes plataformas computacionais), tem como objetivo, conduzir o aluno à observação de elementos e características que possivelmente permitirão a estes, a observação dos elementos da organização e da arquitetura das plataformas de programação usadas.
São cinco pequenos programas (1 em linguagem de máquina, 3 em Assembly e 1 em C++). O programa em C++ é encontrado diretamente no link, para execução via Web. Os outros programa, assim como as instruções de uso, são disponibilizados como comentários ao programa em C++. Basta seguir as orientações encontradas logo após o cabeçalho do programa. A seguir você pode observar o programa.
No mundo da computação, dados podem ser definidos como quaisquer elementos que serão "manipulados/usados" por um programa de computador. Para serem usados, os dados necessitam ser armazenados na memória do computador. O local onde cada elemento de dado (p.ex. o peso de uma pessoa) é armazenado chama-se variável.
A figura a seguir mostra um pequeno programa que manipula dados numéricos (valor1, valor2, valor3, soma e média) e de caracteres (mensagem). O programa calcula e exibe o resultado da média aritmética entre valores.
A janela a seguir permite a execução do programa apresentado na figura anterior - é só clicar na bandeira verde.
Observa-se que os dados são apenas apresentados, fazendo com que para outro conjunto de dados haja a necessidade de alterar o programa ou inserir comandos de entrada de dados - o que será mostrado no próximo exemplo.
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.
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.
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.
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
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;
Sendo o controlador isolado do grupo de programadores, estes últimos devem receber um cartão de objetivo (selecionado ou sorteado pelo instrutor);
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;
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;
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;
O robô deve ser posicionado pelo controlador na primeira casa do tabuleiro, com sua frete posicionada na mesma direção da seta ali encontrada;
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.
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.