Contextualização
Introdução
O mundo em que vivemos hoje é regido, em grande parte, pela informática. Desde o nosso telefone celular às mais sofisticadas supermáquinas, tudo funciona com base em linguagens de programação e, a base destas linguagens são os algoritmos, que são nada mais do que uma sequência lógica e finita de ações a serem executadas.
Os algoritmos são como receitas que o computador usa para executar operações e resolver problemas. Eles não só são usados na tecnologia, como também são uma parte importante da matemática e seu estudo pode ajudar a desenvolver habilidades essenciais de resolução de problemas.
A noção de algoritmo é extremamente antiga, anterior até à invenção dos computadores, e surge frequentemente no dia a dia quando aprendemos ou ensinamos a realizar uma tarefa passo a passo. Na matemática, eles são utilizados, por exemplo, para realizar operações de soma, subtração, multiplicação e divisão.
Contextualização
Toda vez que você segue uma receita, dirige para casa ou monta um quebra-cabeça, você está usando algoritmos. Compreendê-los e saber como construí-los é uma habilidade essencial não só para programadores, mas também para qualquer pessoa que queira trabalhar no mundo moderno.
Entender algoritmos pode ajudá-lo a tomar decisões melhor informadas e a desenvolver estratégias mais eficientes para resolver problemas em sua vida pessoal e profissional. Além disso, muitos dos maiores problemas que enfrentamos como sociedade, como a mudança climática ou a gestão de recursos limitados, também exigem algoritmos para serem resolvidos.
Atividade Prática
Título da Atividade: "Criando e Resolvendo Labirintos com Algoritmos"
Objetivo do Projeto:
Este projeto visa a aplicar os conceitos de algoritmos para resolver problemas práticos. Nesse caso, os estudantes terão a missão de criar e resolver um labirinto.
Descrição Detalhada do Projeto:
Os alunos, divididos em grupos de 3 a 5 integrantes, deverão desenhar seu próprio labirinto numa folha de papel quadriculado. O labirinto deverá ser construído levando em consideração que cada quadrado da folha representa uma "célula" do labirinto. A ideia é, utilizarem-se de algoritmos de busca, para encontrar o caminho do início ao final do labirinto.
Os algoritmos de busca utilizados podem ser o “Busca em Largura” (ou Breadth First Search, BFS) e o “Busca em Profundidade” (ou Depth-First Search, DFS). Estudar estes dois algoritmos é parte crucial do projeto, e os alunos devem entender o funcionamento destes para aplicá-los ao labirinto.
Este documento deverá ser entregue em até um mês após a data de início do projeto. Cada aluno deve investir de cinco a dez horas na execução do projeto.
Materiais Necessários:
- Papel quadriculado para desenho do labirinto.
- Canetas ou lápis coloridos.
- Os recursos didáticos para estudo, como livros, sites e vídeos.
Passo a Passo Detalhado:
- Divisão dos alunos em grupos de 3 a 5 estudantes.
- Estudo dos conceitos de algoritmo e os algoritmos de busca (BFS e DFS), utilizando-se dos recursos didáticos sugeridos.
- Desenho do labirinto em folha quadriculada conforme as regras estabelecidas.
- Aplicação dos algoritmos de busca para encontrar o caminho do início ao fim do labirinto.
- Registro da sequência de passos da resolução do labirinto utilizando-se de um fluxograma.
- Cada grupo deve produzir um relatório contendo Introdução, Desenvolvimento (teoria estudada, detalhamento da atividade, metodologia e resultados), Conclusões e Bibliografia.
- Entrega do Relatório final.
Entregas do Projeto:
No final do projeto, os alunos devem entregar:
- O labirinto original desenhado.
- O fluxograma representando a sequência de passos dos algoritmos de busca.
- O relatório final.
No relatório final, eles devem explicar todo o processo do projeto, incluindo o entendimento sobre os algoritmos, a construção do labirinto e a aplicação dos algoritmos para resolução do labirinto. Os alunos devem destacar os desafios encontrados e as soluções utilizadas para superá-los. No documento, devem estar claras as habilidades de gestão de tempo, comunicação e resolução de problemas adquiridas durante a execução do projeto.