Em geral muitas pessoas têm a ilusão de que usar um computador já dá um conhecimento sobre o que ele é e o que é um programa. Nesta oficina fazemos uma introdução aos algoritmos, que são a base de toda a programação de computadores, não dependem destes últimos e constituem um aspecto fundamental da ciência da computação (que não é o que se costuma chamar de "informática", nome errado pois o computador processa dados, e não informações).
Proposição de um problema: ordenação de números. Resolução pelos participantes, em grupos de 2 ou 3, usando cartões e regras semelhantes às impostas por um computador. Classificação das soluções: métodos de seleção, da bolha e da inserção. Noção de complexidade no tempo, notação O() e análise desses métodos. Método da ordenação por árvore binária (os alunos constroem a árvore com eles mesmos). Análise da complexidade: O(nlogn). Comparação numérica com os 3 métodos iniciais. Noção de algoritmo ótimo. O que é um algoritmo? Descrição formal, programação. Corretude. Intratabilidade.
Estudantes do 3o. ano do ensino médio e professores. Alunos de curso superior onde não se estudam esses tópicos. Público em geral com os requisitos.
Duas horas, preferivelmente mais pelo menos meia hora. Ideal: 3 horas com intervalo.
Micro e datashow, quadro negro perto da tela, ou quadro branco, ou flip-chart.
No fim da aula, os participantes fazem uma breve avaliação por escrito ("one-minute paper") respondendo as seguintes perguntas:
1. Qual foi a coisa mais importante que aprendi?
2. Qual foi a maior dúvida que ficou?
3. Comentários.
Ver avaliações de participantes.
Artigo: Algoritmos e sua análise: uma introdução à ciência da computaçãoe: