Skip to content
Aplicações Informáticas B · 12.º Ano

Ideias de aprendizagem ativa

Algoritmos de Ordenação

A aprendizagem ativa é especialmente eficaz nestas atividades porque os alunos confrontam diretamente a ineficiência dos algoritmos simples com dados reais. Ao manipular listas de números ou strings e medir tempos de execução, criam memórias visuais e motoras que fixam conceitos abstratos de complexidade algorítmica.

Aprendizagens EssenciaisDGE: Secundário - Algoritmia e ProgramaçãoDGE: Secundário - Pensamento Computacional
20–45 minPares → Turma inteira4 atividades

Atividade 01

Ensino pelos Pares25 min · Pares

Ensino pelos Pares: Codificação do Bubble Sort

Em pares, os alunos escrevem código em Python para implementar Bubble Sort numa lista de 20 elementos aleatórios. Contam o número de trocas e comparações. Testam com lista já ordenada e registam diferenças.

Avalie a performance de diferentes algoritmos de ordenação em conjuntos de dados variados.

Sugestão de FacilitaçãoDurante a atividade de pares de codificação do Bubble Sort, peça aos alunos para registarem cada troca em colunas separadas de uma tabela para visualizar o padrão quadrático.

O que observarApresente aos alunos um pequeno conjunto de dados (ex: 5 números). Peça-lhes para descreverem os passos exatos que o algoritmo Selection Sort seguiria para ordenar esses números, focando-se nas trocas e comparações.

CompreenderAplicarAnalisarCriarAutogestãoCompetências Relacionais
Gerar Aula Completa

Atividade 02

Jogo de Simulação45 min · Pequenos grupos

Pequenos Grupos: Comparação de Tempos

Grupos de quatro implementam Selection Sort e Insertion Sort. Executam em listas de tamanhos 100, 500 e 1000 elementos. Medem tempos com timeit e constroem gráfico comparativo.

Analise as vantagens e desvantagens de algoritmos de ordenação simples versus complexos.

Sugestão de FacilitaçãoPara a comparação de tempos em pequenos grupos, forneça datasets com 50, 200 e 1000 elementos para que os alunos testem a escalabilidade em conjunto.

O que observarColoque a seguinte questão para discussão em pequenos grupos: 'Se tivessem de ordenar uma lista de 1000 nomes de utilizadores que já se encontra 80% ordenada, qual dos algoritmos (Bubble, Selection, Insertion) escolheriam e porquê? Justifiquem a vossa escolha com base nas características de cada um.'

AplicarAnalisarAvaliarCriarConsciência SocialTomada de Decisão
Gerar Aula Completa

Atividade 03

Jogo de Simulação30 min · Turma inteira

Turma: Debate de Escolhas

A turma discute em plenário casos reais, como ordenação em e-commerce. Votam no melhor algoritmo por cenário e justificam com dados das atividades anteriores.

Explique como a escolha do algoritmo de ordenação pode afetar a experiência do utilizador.

Sugestão de FacilitaçãoNo debate de turma sobre escolhas de algoritmos, desafie os alunos a defenderem posições opostas usando dados dos seus próprios testes.

O que observarEntregue a cada aluno um pedaço de papel. Peça-lhes para escreverem o nome de um algoritmo de ordenação simples, uma frase que descreva a sua principal desvantagem e um cenário onde ele poderia ser aceitável de usar.

AplicarAnalisarAvaliarCriarConsciência SocialTomada de Decisão
Gerar Aula Completa

Atividade 04

Jogo de Simulação20 min · Individual

Individual: Otimização Pessoal

Cada aluno modifica um algoritmo para dados quase ordenados. Testa performance e propõe uma melhoria simples, registando antes/depois em relatório curto.

Avalie a performance de diferentes algoritmos de ordenação em conjuntos de dados variados.

Sugestão de FacilitaçãoNa atividade individual de otimização pessoal, sugira que os alunos anotem as estratégias que experimentaram e os resultados obtidos para partilharem depois.

O que observarApresente aos alunos um pequeno conjunto de dados (ex: 5 números). Peça-lhes para descreverem os passos exatos que o algoritmo Selection Sort seguiria para ordenar esses números, focando-se nas trocas e comparações.

AplicarAnalisarAvaliarCriarConsciência SocialTomada de Decisão
Gerar Aula Completa

Algumas notas sobre lecionar esta unidade

Comece por demonstrar os algoritmos com uma lista pequena em projetor, destacando as trocas e comparações passo a passo. Evite explicar a complexidade teórica antes de os alunos a experienciarem. Pesquisas mostram que os alunos retêm melhor quando descobrem padrões por si mesmos. Use analogias simples, como ordenar cartas de baralho, mas não substitua a experimentação prática pela teoria.

Os alunos demonstram compreensão ao implementarem corretamente os três algoritmos, compararem os seus desempenhos empiricamente e justificarem escolhas com base em dados concretos. A expectativa é que consigam explicar por que motivos diferentes algoritmos se adequam a diferentes cenários de dados.


Atenção a estes erros comuns

  • Durante a atividade de comparação de tempos em pequenos grupos, watch for alunos que assumam que todos os algoritmos têm a mesma eficiência.

    Peça aos grupos para calcularem o número médio de operações (trocas + comparações) para cada algoritmo nos seus datasets e desenharem um gráfico simples para visualizar o crescimento quadrático.

  • Durante a atividade de pares de codificação do Bubble Sort, watch for alunos que acreditem que a quantidade de trocas rápidas torna este algoritmo eficiente.

    Relembre-os de que as trocas em Bubble Sort são sempre O(n²) no pior caso e peça-lhes para compararem com o código de Insertion Sort, que faz menos trocas em listas parcialmente ordenadas.

  • Durante o debate de turma sobre escolhas de algoritmos, watch for alunos que priorizem a complexidade espacial em vez da temporal.

    Solicite que analisem a memória extra usada por cada algoritmo em tabelas fornecidas e discutam por que motivo a eficiência temporal é mais crítica nestes casos.


Metodologias usadas neste resumo