Commit inicial - add do repo privado para o repo NT style: changes header's logo and colors style: changes home page first session layout feat: creates about us home page section chore: creates home page section for whom chore: creates student materails home page section chore: creates teachers materials home page section chore: creates teacher materials home page section style: changes primary color style: changes color at activities page style: changes about page color style: changes name to Decoda fix: changes route to about page at footer fix: changes background color style: changes game page header colors style: changes footer colors chore: adds home page sections title style: changes main font family to Lato style: adds title font fix: changes sizes to be more responsive for mobile ajuste no build vercel atualiza regras envio homol Adiciona instrucoes de uso add JupyterLite fix solucao turtle Add Mole Mash e Modal de Falhas Add Progress Bar na pagina de Atividades fix game name chore: atualiza lockfile removendo vercel analytics inclusão de efeito ao mudar de fase add mecanismo de solução de fases em debug vite config test add BaseGame e refator do MoleMash refatoração turtle refatoração automato refatoração automato add tag bug 1 e 2 automato mostrar apenas games em homologação na pagina de atividades aumentar timeout das fases finais do Turtle fix bug scroll add video refactor semaforo arrumar ordem das cores add build docs update vercel update vercel update vercel update vercel update vercel add vercel jupyter add vercel jupyter fix deploy Vercel fix deploy Vercel fix deploy Vercel add cripto add cripto refatoração fix tour Mole Mash . remover arquivos de controle chore: adds development tag for activity card remover arquivos de status indevidamente versionados atualizar cores nas atividades add Quebra Cabeças add Quebra Cabeças add iniciativas add Iniciativas alteração de fotos pesadas fix menu mobile fix menu mobile fix menu mobile add Aspirador update icons update identidade visual documentação update jupyter add kernel python local add kernel python local add kernel python local feat: add health check feat: add primeiros passos add letramento mover letramento de lugar update path games update path games fix: ajuste clique rapido no botão executar remover dead code fix: refactor: extract shared utilities for storage, phase unlock and mobile detection stabilize context references and fix stale closure extrair GameProgressContext do GameStateContext (SRP) refactor(game): extrair usePhaser e useGameModals de GameBase + corrigir bugs descobertos refactor(game): remove todos os aliases PT/EN duplicados Remover aliases PT/EN da camada de modais refactor + tests security: add CodeSanitizer and integrate into GameInterpreter - CodeSanitizer.js: 4 built-in rules (max_length, infinite_while, infinite_for, excessive_nesting) with pluggable extra rules - GameInterpreter.executeCode: calls sanitizeCode() before js-interpreter, differentiates CodeSanitizationError (warn) from other errors (error) - 21 unit tests for CodeSanitizer (100% coverage) - 4 integration tests in GameInterpreter for sanitization paths add CodeSanitizer fix: fase 10 aspirador fix: bug semaforo teste feat: add version Ajusta a landing page para ficar mais próxima ao protótipo ajusta raio da borda do botão de Acesse nosso Laboratório pequenos ajustes de layout na página de iniciativas atualiza tabela de jogos educativos com os jogos disponíveis atualmente ajustados pequenos detalhes e informações do jogos na seção de guias pedagógicos troca nome playground para laboratório e adiciona imagens do lab adiciona documentação de conceitos básicos de programação ajustado pequenos erros de digitação adiciona tooltip com conceitos escondidos em hover na tag +N de conceitos update docs dev desativar tour setup matriz MoleMash setup matriz MoleMash fix: link update version update docs update docs mudou o layout de quem somos mudei as imgs dos icons e baixei o botao centraliza titulo com imagem e ajusta sessão com gradiente vermelho-rosa adiciona responsividade para a pagina quem somos ajusta botão de conheça nossa história ajustes ajustes na home + add. teclado update version security security feat: add tapume para telas pequenas v1.1.0 feat: decoda offline feat: doc offline offline fix: ajustes para release fix: navbar; config ordenação; versão fix: rotas docs e jupyter para pwa delete private files Co-authored-by: Indra Araujo <indra.araujo.santos@gmail.com> Co-authored-by: solange dos santos <sollangelive71@gmail.com>
6.2 KiB
title, slug
| title | slug |
|---|---|
| Programação | /recursos/atividades/programacao |
Atividades de Programação
As Atividades de Programação do Decoda organizam a aprendizagem em desafios curtos, progressivos e visualmente concretos. Em vez de começar por sintaxe textual, o estudante manipula blocos, observa efeitos imediatos na tela e passa a relacionar comando, regra e resultado. Isso reduz a barreira inicial de entrada e permite concentrar a atenção no raciocínio computacional.
Pedagogicamente, esse conjunto de atividades cobre um percurso bastante amplo: modelagem por propriedades, sequência de comandos, repetição, condicionais, eventos, coordenadas, variáveis, memória de estado, funções e noções iniciais de criptografia. Cada atividade enfatiza um recorte do pensamento computacional e pode ser usada tanto em trilhas sequenciais quanto em intervenções pontuais, de acordo com o objetivo da aula.
Objetivo pedagógico
O principal objetivo desta trilha é desenvolver pensamento computacional com progressão didática: partir de desafios concretos e visuais, avançar para estruturas de controle e, gradualmente, chegar a problemas que exigem mais abstração, planejamento e revisão de estratégia.
Além de aprender blocos ou comandos isolados, espera-se que o estudante compreenda como construir soluções passo a passo, comparar alternativas, identificar padrões e justificar decisões. Com mediação adequada, as atividades também fortalecem autonomia, linguagem para explicar raciocínio e confiança para lidar com erro como parte do processo de aprendizagem.
Como conduzir em sala
Uma forma simples e eficaz de condução é trabalhar em ciclos curtos de exploração, execução e reflexão:
flowchart TD
A[Selecionar atividade e objetivo da aula] --> B[Explorar o desafio e prever estratégia]
B --> C[Montar solução em blocos]
C --> D[Executar e observar resultado]
D --> E[Discutir o que funcionou e o que precisa ajuste]
E --> F[Refinar a solução]
F --> C
Esse formato ajuda a manter o foco pedagógico em raciocínio e tomada de decisão, e não apenas em chegar rapidamente ao fim da fase.
Boas práticas de mediação
- Comece pelo conceito-alvo da aula e escolha a atividade em função desse foco.
- Incentive o estudante a explicar a estratégia antes e depois de executar.
- Evite entregar a resposta pronta; prefira perguntas que levem à revisão do raciocínio.
- Valorize soluções diferentes quando forem corretas e discuta critérios de clareza e eficiência.
- Use o erro como evidência de aprendizagem em progresso, destacando o que já foi compreendido.
Como navegar nesta seção
Nesta subpasta, cada atividade possui uma página própria. Em cada uma delas você encontra:
- o foco pedagógico da atividade;
- os conceitos de programação mais evidentes;
- sugestões de mediação em sala;
- uma tabela com a progressão das fases;
- referências externas para aprofundamento.
Mapa das atividades
| Atividade | Foco principal | Conceitos mais evidentes |
|---|---|---|
| Quebra-cabeças | Modelagem de informações e atributos | propriedades, classificação, atribuição de valores |
| Aspirador | Navegação reativa e estratégia | sequência, repetição, condicionais, sensores, variáveis |
| Autômato | Construção de algoritmos de percurso | sequência, loops, condicionais, controle de fluxo |
| Semáforo | Programação orientada a eventos e segurança lógica | sequência temporal, eventos, sincronização, condicionais |
| Tartaruga | Programação como construção visual | movimento, repetição, funções, decomposição |
| Toupeira | Coordenadas, memória e aleatoriedade | matrizes, loops aninhados, variáveis, estado |
| Cripto | Representação simbólica e transformação de dados | laços, variáveis, condicionais, funções hash, cifra |
| Ordenação | Algoritmos de ordenação e análise de eficiência | listas, loops aninhados, variáveis, comparação, algoritmos clássicos |
Como escolher uma atividade
Se a turma ainda está começando, vale priorizar atividades em que a relação entre comando e efeito seja imediatamente visível, como Quebra-cabeças, Semáforo, Autômato e Aspirador. Elas ajudam a consolidar a ideia de que programar é construir instruções precisas para resolver um problema.
Se o objetivo é avançar para estruturas mais complexas, Toupeira e Cripto abrem espaço para discutir estados, regras condicionais, memória, representação de dados e transformação algorítmica de informação. Já Ordenação aprofunda essa progressão com algoritmos clássicos e noções de eficiência comparada, sendo a mais indicada quando o objetivo inclui discutir custo computacional e múltiplas estratégias para o mesmo problema. Já Tartaruga é especialmente útil quando se deseja trabalhar criatividade, abstração e decomposição ao mesmo tempo.
Sugestão de progressão
Uma progressão possível é:
- começar com modelagem e comando simples em Quebra-cabeças;
- avançar para navegação com Autômato e Aspirador;
- introduzir coordenação de regras e eventos em Semáforo;
- explorar criação visual e funções em Tartaruga;
- trabalhar memória, coordenadas e aleatoriedade em Toupeira;
- fechar com transformação simbólica e segurança em Cripto;
- avançar para algoritmos de ordenação e análise de eficiência em Ordenação.
Essa ordem não é obrigatória. Em muitos contextos, faz mais sentido escolher a atividade pelo conceito que se deseja observar ou reforçar na aula.