Education Technology

Posted 05 August 2021 by Raul Aparício Gonçalves (Agrupamento de Escolas de Ermesinde) e Eduardo Cunha (Agrupamento de Escolas de Barcelos), membros do Grupo de Trabalho T3 da Associação de Professores de Matemática.

O conceito de Pensamento Computacional, relacionado com a resolução de problemas suscetíveis de serem traduzidos por uma linguagem de programação, assume um papel muito importante no ensino, em particular no ensino da matemática, para proporcionar uma aprendizagem motivadora e mais significativa em torno de competências chave para o futuro. Nesse sentido, integramos há muito tempo atividades nas nossas escolas, sejam elas de caráter mais geral ou num contexto de trabalho mais matemático, usando o que nos proporciona a tecnologia TI-Nspire CX, em especial a aplicação TI-Python que a Texas Instruments adicionou a esta tecnologia, seja através do software de computador ou com as calculadoras gráficas.

As calculadoras são as mesmas que os alunos utilizam no dia a dia, nas mais diversas aplicações de matemática ou de física e química, e a vertente de programação em Python proporciona uma excelente oportunidade de explorarem os seus dispositivos e no futuro esta funcionalidade fará mesmo parte das Aprendizagens Essenciais definidas pelo Ministério da Educação. Neste blog damos alguns exemplos de atividades que podem apoiar o seu trabalho com os seus alunos.

Maior foco em Pensamento Computacional e programação na escola

Em Portugal têm sido dados passos importantes no sentido de levar o Pensamento Computacional e a programação à experiência dos alunos, embora não seja integrado com outros conteúdos disciplinares da matemática. No ensino secundário regular, há oportunidades de integração curricular em Matemática da algoritmia, desde logo na disciplina de Matemática Aplicada às Ciências Sociais.

Alem disso, desde a publicação das Aprendizagens Essenciais do ensino secundário, a vigorar desde 2019/2020, a programação e a implementação de algoritmos surgem explicitamente na Matemática A como oportunidade de proporcionar experiências de aprendizagem enquadradas com o Perfil dos Alunos à Saída da Escolaridade Obrigatória.

A acrescentar às recomendações referidas anteriormente, surgiram as que constam na versão final das “Recomendações para a melhoria das aprendizagens dos alunos em Matemática”, de 27 de março de 2020, que certamente vão balizar os futuros programas da disciplina de matemática.

Está assim reunida, mais do que nunca, a possibilidade da abordagem à algoritmia e programação deixar a timidez, o que é de todo desejável. Será também uma oportunidade de se avançar corajosamente e fazer-se uma aproximação, ao que deve ser um cidadão do século XXI, versado nas áreas STEM, como é, aliás, defendido ao nível da comunidade europeia. Está não só em causa a formação dos cidadãos, mas a competitividade a nível global, a todos os níveis.

Defendemos que não se pode pretender que se ensine programação, mas sim que a programação seja uma ferramenta para aprendizagens matemáticas mais significativas e mais ricas. Também nos parece que a programação não deverá ser uma ferramenta exclusiva às aprendizagens matemáticas, mas sim uma ferramenta transversal a outras as áreas curriculares e não curriculares.

Linguagem de Programação – porquê o Python?

O Python é uma linguagem concisa, de sintaxe simples e clara, o que facilita a transição de uma linguagem por blocos para uma linguagem de texto. Por outro lado, há uma grande comunidade de utilizadores, em particular no contexto educacional, e uma grande riqueza de recursos disponíveis. Além disso, é open source, portanto gratuita, e funciona em vários sistemas operativos. A linguagem Python possuí ainda uma enorme quantidade de bibliotecas disponíveis, que podem ser úteis à matemática, mas também a outras áreas disciplinares, sendo esta a via da continuidade da sua evolução.

Neste sentido, procurando proporcionar aos alunos do Ensino Secundário a oportunidade de trabalho com esta linguagem de programação, a Texas Instruments adicionou uma nova aplicação às suas calculadoras gráficas, a aplicação TI-Python.

Alguns exemplos

Nos exemplos, simples, que apresentamos de seguida reforçamos a importância da necessidade do conhecimento matemático para a construção do algoritmo e do programa, isto é, a programação requer a mobilização e reforça os conhecimentos matemáticos.  Quando proposto ao aluno como projeto, de preferência em trabalho colaborativo com colegas, a tarefa de planear e criar a estrutura do programa possibilita o desenvolvimento de competências, como por exemplo, entre muitas outras, o simples testar, descobrir o erro e retificar.

Divisores de um número natural

No ecrã da TI-Nspire CX II ao lado, pode observar-se um exemplo de programação associada à matemática, onde se pretende apresentar uma lista dos divisores de um dado número natural.

Este exemplo com conteúdos do ensino básico poderá ser explorado no ensino secundário como revisão de um conteúdo e uma primeira experiência na linguagem Python. Permitirá ao aluno conhecer alguns dos operadores algébricos do Python e ciclos repetitivos.

Ressaltos de uma bola

Neste exemplo, adaptado do que consta da publicação da Texas Instruments, “10 minutos de código com Python”, pode observar-se um contexto com maior aproximação à Física. Pretende-se obter o número de ressaltos realizados por uma bola até que esta atinja uma altura estritamente inferior a 1 cm, sabendo que a bola é largada de uma determinada altura (em centímetros) e que ressalta no solo atingindo uma altura que é uma percentagem da altura do ressalto anterior.


Note-se que, se o dado de saída fosse a altura da bola nos seus vários ressaltos, então poder-se-ia ter uma exploração das progressões geométricas num contexto matemático. Neste caso bastaria alterar a variável de saída (return) para altura e definir o argumento altura inicial muito próxima de zero, podendo-se ainda explorar o conceito de limite.

Neste exemplo torna-se ainda evidente o conceito de função, de argumento (objeto), e de saída (imagem), sendo, no caso, um exemplo de uma função de duas variáveis.

Métodos numéricos de resolução de equações e recursividade

Há cerca de 40 anos, o grande pedagogo Sebastião e Silva, referia-se às vantagens da integração curricular precoce do cálculo de aproximações numéricas num contexto de uma certa crítica ao “ensino tradicional” à época (Gonçalves, 2014). As suas reflexões não caducaram e a título de exemplo, observe-se a ideia do método de Newton-Raphson.

Neste método, considera-se uma função  da qual se pretende obter uma aproximação de uma solução e uma aproximação inicial dessa solução. Em condições não muito exigentes obtemos a cada aplicação de uma função iteradora uma melhor, muito melhor, aproximação do zero, utilizando cada aproximação obtida. Dada a aproximação inicial , a aproximação seguinte, , é a abcissa do ponto de interseção da reta tangente ao gráfico de  no ponto de abcissa  com o eixo das abcissas.  Cada nova aproximação resulta da anterior aplicando o mesmo procedimento, ilustrado na representação gráfica da figura.

Pode ser um momento interessante o trabalho algébrico para determinar uma aproximação a partir da anterior e com isso perceber que tal pode ser gerado pela fórmula (função iteradora) .

Um processo destes pode traduzir-se em linguagem de programação Python como nas figuras seguintes:

Ao integrarmos tarefas deste género no trabalho dos alunos, proporcionamos uma aprendizagem matemática realizada com entusiasmo e como tal, significativa e orientada para a adaptação que os atuais alunos terão no futuro como cidadãos plenos. Por isso e porque os documentos curriculares começam a reconhecer a importância do pensamento computacional e da programação na formação dos alunos, continuaremos certamente a utilizar metodologias de aprendizagem que integram a capacitação de resolução de problemas com estas características.  

Veja também:

O poder de Python explicado pelo criador Guido van Rossum

10 Minutos de Código

Boas práticas em França: como começar a programar com o BBC micro:bit e as calculadoras gráficas TI