Um algoritmo é uma sequência de raciocínios, instruções ou operações para alcançar um objetivo, ou resolver um problema(s), ou executar tarefas, sendo necessário que os passos sejam finitos e sistemáticos. Um algoritmo conta com a entrada (input) e saída (output) de informações mediadas pelas instruções.
Alguns exemplos de algoritmos:
Se pensarmos na receita culinária, por exemplo, vemos que ela tem os ingredientes necessários - entrada (input), os passos para realizar a receita (processamento ou instruções lógicas) e atinge um objetivo (o prato finalizado).
A complexidade do algoritmo vai depender do objetivo. Uma sequência de instruções simples pode tornar-se mais complexa conforme a necessidade de considerar outras situações e o algoritmo pode crescer ficando mais complexo para prever todos os cenários possíveis. Por vezes o algoritmo ao receber determinadas informações “encrava” porque não foram previstos todos os cenários.
Também é relevante que a estrutura siga uma lógica sistemática. Por exemplo, ao fazer um bolo, se saltarmos a etapa de inserir farinha, não conseguimos fazer o bolo.
Um algoritmo não representa, necessariamente, um programa de computador mas os passos necessários para realizar uma tarefa.
Diferentes algoritmos podem realizar a mesma tarefa usando diferentes instruções em mais ou menos tempo, espaço ou esforço do que outros. Por exemplo, um algoritmo para se vestir pode especificar que primeiro se deve calçar as meias e os sapatos antes de vestir as calças enquanto outro algoritmo pode especificar que se deve primeiro vestir as calças e depois as meias e os sapatos. É claro que o primeiro algoritmo é mais difícil de executar que o segundo apesar de ambos levarem ao mesmo resultado.
É um procedimento de pensar e resolver problemas de forma lógica e metódica, aplicando conceitos e princípios da computação. É uma capacidade fundamental no mundo moderno, realizada de forma individual ou colaborativa, onde as tecnologias de informação e a automação estão cada vez mais presentes em praticamente todos os aspetos do quotidiano.
Geralmente divide-se o pensamento computacional em quatro pilares:
Dividir o desafio em problemas menores facilita a compreensão.
Reconhecer o que é mais importante num problema e deixar de lado o que não for essencial.
Identificar as repetições e similaridades dos problemas para facilitar a resolução;
Propor uma ordem ou uma sequência de passos para resolver o problema.
O pensamento computacional aplica competências como a capacidade de decompor
grandes problemas em partes menores, encontrar padrões e relações aplicando
algoritmos e estruturas de dados para resolver problemas e atingir objetivos.
Envolve a capacidade de pensamento abstrato e por vezes criativo, utilizando
conceitos computacionais (sistematização, volume de dados, rapidez...) para
resolver problemas em áreas, como matemática, ciência, marketing e finanças...
O pensamento computacional está na génese da criação de aplicações e sistemas,
e também na análise de grandes quantidades de dados e na tomada de decisões
baseadas em dados.
Na educação o pensamento computacional é cada vez mais importante na preparação
dos estudantes para o futuro na medida em que ajuda os alunos a desenvolver
competências como a resolução de problemas e o pensamento lógico, fomentando o
pensamento criativo. Os alunos desenvolvem outras competências como as de programação e
de análise de dados. Estas competências são valiosas em qualquer área é
dever da escolas fomentar a sua aplicação para que os futuros profissionais
sejam detentores destas competências para a sua plena realização e para o desenvolvimento da sociedade.
O pensamento computacional na educação possibilita o acesso e a oportunidade para
que TODOS os estudantes tenham acesso à educação em tecnologia e informática e às profissões emergentes.
O pensamento computacional pode ser trabalhado com ou sem a utilização de máquinas. No segundo caso os estudantes podem realizar atividades de decomposição, abstração, reconhecimento de padrões e de codificação.
Na nossa escola existem diversas opções de trabalho. O Matatalab, o KUBO e o Spike Prime são algumas das soluções que permitem realizar aprendizagens na área das STEAM (Ciências, Tecnologia, Engenharia, Artes e Matemática). A maioria das atividades na nossa escola são contextualizadas em áreas do currículo e baseadas na vida real. Incentivam à aplicação do raciocínio lógico, da criatividade, da resolução de problemas e da programação. Os alunos realizam deste modo aprendizagens significativas.
O kit Matatalab consiste num conjunto tabuleiro/torre/robô em que o código é criado
através da disposição de blocos de codificação num tabuleiro que são reconhecidos por
uma torre. A torre de controle usa a tecnologia de reconhecimento de imagem para identificar as
informações dos blocos de codificação e, em seguida, transmite para o robô via Bluetooth.
É um kit de programação básica que não possui ecrãs e em que se criam programas simples
que controlam um robô, realizando desafios divertidos.
Através de diversos complementos que a escola possui, as atividades podem ser
muito enriquecidas. Com o “Sensor Artist”, por exemplo, por meio de programação básica,
os alunos podem desenhar imagens e através de programação mais avançada podem criar
figuras geométricas.
O KUBO é um kit Plug-n-Play, ideal para iniciantes e
extremamente fácil de usar pelos docentes. É um robot simples e intuitivo,
tornando a programação fácil e divertida.
Ao usar o KUBO, os alunos aprendem na prática a codificar, sem ecrãs e sem software,
praticando e depurando o código criado à medida que avançam, substituindo ou
alterando a sequência dos TagTiles® e observando o que acontece conforme
O KUBO executa os comandos.
A sintaxe torna-se imediatamente transparente e, desta forma, os alunos podem
familiarizar-se com a codificação.
Ao aprender desta forma podem obter uma base sustentada e eficaz para codificar, entendendo o significado do código.
Os alunos aprendem competências transversais com a codificação prática, como
trabalho colaborativo, comunicação, resolução de problemas
e facilmente desenvolvem as suas capacidades imaginativas e criativas em diversos projetos.
Da mesma forma, os alunos aprendem vocabulário básico de codificação, como funções,
loops e sub-rotinas.
A depuração é uma parte importante da codificação e fornece habilidades valiosas. É uma forma de conhecer a sintaxe durante a solução de problemas e durante o processo de codificação.
Durante a programação é preciso que o docente se certifique de que os seus alunos estão cientes de três comportamentos principais no processo de depuração:
O Spike Prime é uma kit de aprendizagem STEAM que pode abranger alunos do 2º e 3º ciclo.
Combina peças LEGO com hardware (motores e sensores) e software fáceis de usar.
Usa um linguagem de programação drag-and-drop baseada em Scratch (blocos), embora possa ser
programado também em Pyton.
O SPIKE Prime através da realização de atividades lúdicas de aprendizagem baseadas na resolução de problemas, contribui para o desenvolvimento de diversas competências como o pensamento crítico e a resolução de problemas simples e complexos, independentemente do nível de escolaridade nos anos já referidos.
Os alunos aprendem a programar, a testar a ajustar projetos, a depurar e a otimizar.
Através da utilização deste kit, em grupo, os alunos evoluem no seu pensamento criativo,
aprendem a gerir o trabalho colaborativo, aplicam o pensamento computacional e crítico,
desenvolvendo competências do século XXI. Esta tecnologia é um meio para as promover.
Este kit é acompanhado de diversos documentos digitais de apoio aos dinamizadores.
Constituído por: