Atividades sobre Projetos com programação com gabarito — 7º ano (EF07CO03)
Quando recebo a EF07CO03 no planejamento do 7º ano, a primeira dúvida que aparece é bem prática: como sair do “vamos programar” e propor um projeto que realmente mostre o raciocínio dos estudantes? Na sala, percebo que criar uma tela bonita ou fazer o personagem andar não basta para evidenciar a habilidade.
Eu preciso observar as escolhas que a turma faz: como organiza informações, como decide a regra de funcionamento e como revisa a solução quando algo não funciona. Abaixo reuni caminhos possíveis e questões que ajudam a avaliar isso sem transformar a aula em uma prova de definição.
O que a habilidade EF07CO03 pede, de verdade?
A EF07CO03 pede que o estudante construa soluções computacionais para problemas de áreas diferentes, trabalhando sozinho e com colegas, e escolhendo estruturas de dados e técnicas que façam sentido para cada situação. Na prática, não é só “codar”: é entender um problema concreto, decidir como guardar e consultar informações, testar uma solução e aperfeiçoá-la. Um sistema de empréstimos, uma campanha de vacinação, o monitoramento de aves ou uma rota de emergência podem virar bons contextos. Eu espero que a turma consiga justificar, por exemplo, por que uma fila atende pedidos por ordem de chegada, por que um conjunto evita códigos repetidos, por que uma tabela cruza duas informações ou por que uma rede de estradas pode ser representada por conexões. Também vale observar a colaboração: dividir funções, comparar ideias, registrar decisões e melhorar o projeto após os testes.
“Construir soluções computacionais de problemas de diferentes áreas do conhecimento, de forma individual e colaborativa, selecionando as estruturas de dados e técnicas adequadas, aperfeiçoando e articulando saberes escolares.”
Esta habilidade pertence à unidade temática Pensamento Computacional, no objeto de conhecimento Projetos com programação. Para ver o detalhamento e o acervo disponível, consulte a consulta completa do código EF07CO03.
Como trabalhar EF07CO03 em sala?
- Fila da cantina ou da biblioteca: proponho que grupos desenhem e depois programem, em blocos ou pseudocódigo, o atendimento por chegada. Em seguida, incluo prioridade e peço que comparem uma fila única com duas filas.
- Empréstimo de materiais: a turma cria um controle de livros, kits de robótica ou bolas. O desafio é impedir que o mesmo item apareça duas vezes como emprestado; daí surge a necessidade de um conjunto.
- Tabela de observação: em Ciências, registro com a classe dados como ponto de coleta e período do dia. Eles montam uma grade e criam consultas do tipo “quantas aves foram vistas no ponto B à tarde?”.
- Mapa de rotas da escola ou do bairro: no papel já funciona. Os estudantes representam locais e caminhos, marcam trechos bloqueados e investigam se ainda existe rota até um ponto definido.
- Rodada de melhoria: depois de cada grupo apresentar, entrego um caso novo: chegou mais um pedido, uma estrada fechou ou houve duplicidade. O grupo precisa revisar sua solução e explicar a mudança.
Como avaliar essa habilidade?
Uma boa questão de EF07CO03 apresenta um problema e pede uma decisão justificável sobre a organização dos dados ou a técnica usada. O estudante deve ler as regras: há prioridade? A ordem importa? Pode repetir? Existem cruzamentos entre duas categorias? Há caminhos entre pontos? Só então escolhe a estrutura adequada.
Um erro comum é cobrar apenas vocabulário, como “defina fila”. Outro é usar contexto longo, mas oferecer alternativas que não dialogam com a necessidade descrita. Eu também evito avaliar apenas o produto final do grupo: um projeto que roda pode esconder uma organização inadequada. Vale considerar a explicação da escolha, os testes feitos e as revisões realizadas.
Questões prontas de EF07CO03 (com gabarito comentado)
1. Rotas disponíveis até os abrigos
Em uma simulação de cheia, o sistema deve indicar se há caminho liberado entre localidades e abrigos, atualizando bloqueios e registrando cada estrada uma única vez. Qual organização é adequada?
- ✅ A) Representar localidades como nós e estradas como ligações com o estado de cada trecho. Isso modela a rede e permite atualizar bloqueios e buscar rotas.
- ❌ B) Lista por habitantes. Organiza uma sequência, mas não mostra ligações entre localidades.
- ❌ C) Registros isolados de abrigos. Descrevem atributos, não os caminhos intermediários.
- ❌ D) Pilha de avisos. Ordena avisos recentes, mas não representa rotas.
- ❌ E) Fila de atendimentos. Organiza pedidos, não conexões geográficas.
2. Pedidos prioritários de kits
Pedidos de kits de higiene devem atender primeiro os prioritários e, dentro de cada categoria, respeitar a chegada. Qual estrutura usar?
- ❌ A) Lista por bairro. Bairro não define prioridade nem chegada.
- ❌ B) Pilha única. Retira o último pedido, contrariando a regra.
- ❌ C) Conjunto de códigos. Não preserva a sequência necessária.
- ✅ D) Duas filas, retirando primeiro a prioritária e respeitando a chegada em cada uma. Preserva as duas regras de atendimento.
- ❌ E) Matriz por horário. É rígida e não resolve prioridade de chegadas contínuas.
3. Contagem de aves por ponto e período
Uma ferramenta precisa consultar o número de aves em cada combinação de ponto A, B, C ou D e manhã, tarde ou noite. Qual organização é adequada?
- ❌ A) Pares de pontos vizinhos. Não contempla todas as combinações.
- ✅ B) Grade com pontos nas linhas e períodos nas colunas. Cada célula representa uma combinação única e facilita a consulta.
- ❌ C) Lista única de números. Perde a associação direta com ponto e período.
- ❌ D) Fila. Prioriza chegada, não cruzamento de dados.
- ❌ E) Pilha. Destaca o último registro, sem localizar combinações.
4. Códigos de livros emprestados
Uma biblioteca precisa impedir códigos repetidos, verificar rapidamente se um livro está emprestado e removê-lo na devolução. Qual estrutura atende?
- ❌ A) Tabela com linhas repetidas. Aceita justamente a duplicidade que se quer evitar.
- ✅ B) Conjunto de códigos. Não aceita duplicados e permite verificar a presença de um código.
- ❌ C) Fila. A devolução não ocorre necessariamente na ordem de empréstimo.
- ❌ D) Lista. Permite repetição e torna a busca mais trabalhosa.
- ❌ E) Pilha. Só retira naturalmente o último item inserido.
5. Senhas do mutirão de vacinação
O atendimento deve chamar prioritários antes, mas manter a ordem de chegada dentro de cada grupo. Qual organização permite entradas e saídas rápidas?
- ❌ A) Fila única. Respeita chegada, mas ignora prioridade.
- ❌ B) Pilha única. Chama quem chegou por último.
- ❌ C) Matriz fixa. É rígida para uma chegada contínua e variável.
- ✅ D) Duas filas, escolhendo a prioritária quando ela não estiver vazia. Mantém prioridade e ordem em cada grupo.
- ❌ E) Lista por nome. Nome não informa prioridade nem horário de chegada.
6. Pedidos de kits de robótica
Os pedidos de empréstimo devem ser atendidos na ordem em que foram enviados; ao chamar alguém, o próximo passa a ser o primeiro da espera. Qual estrutura representa essa situação?
- ❌ A) Árvore. Organiza hierarquias, não a sequência de chegada.
- ❌ B) Tabela. Armazena dados, mas não define a regra de atendimento.
- ❌ C) Conjunto. Não mantém ordem entre elementos.
- ❌ D) Pilha. Retira o último pedido enviado.
- ✅ E) Fila. O primeiro a entrar é o primeiro a ser atendido.
Próximos passos para a aula
Eu começaria com uma dessas situações no papel, pediria que a turma defendesse a escolha da estrutura e só depois passaria para a programação. Para montar uma avaliação com outros contextos, há 64 questões alinhadas à habilidade no acervo e no gerador de provas do GeraProva. Se ainda não usa a plataforma, faça seu cadastro grátis.
Use estas questões como ponto de partida e adapte o contexto à realidade da sua turma. O mais importante é dar espaço para os estudantes explicarem, testarem e melhorarem as soluções que criaram.
