sábado, 7 de setembro de 2019

Pensamento Computacional @ Educação 4.0

Testar apps de realidade aumentada no workshop da Filomena Miguel 

O desafio veio do Externato Cooperativo da Benedita, e era irresistível: partilhar algumas ideias sobre pensamento computacional num painel formativo, em conjunto Marco Neves, a falar de Inteligência Artificial, Filomena Miguel, a partilhar as suas experiências com realidade virtual e aumentada, e o sempre interessante trabalho de Manuel Moreira (Arte Transformer) no domínio das STEAM, com uma ponte excecional entre os mundos das artes e tecnologia. Estamos mais à vontade no domínio do 3D, mas o ser um desafio fora da zona de conforto foi uma sedução adicional. O resultado foi um excelente dia de partilha, entre o debate da manhã e um produtivo workshop de realidade aumentada depois de almoço, que me deu pistas do estado da arte desta tecnologia. Como é habitual, deixo aqui o registo da apresentação e respetivas notas.


Slide 1 - Pensamento Computacional

Gostaria de começar a nossa conversa com esta imagem. Retirei-a de um livro elementar de introdução ao computador publicado em 1986. A estética anda mais pelo final dos anos 70, mas o interessante, para mim, nesta imagem é ver como na altura se antevia a vida digital, e o quanto é parecida com a nossa realidade contemporânea. Reparem. O homem aprende a tocar guitarra vendo vídeos no televisor - troquem pelo YouTube, e quem nunca foi lá procurar um tutorial em vídeo para aprender a fazer qualquer coisa? As crianças brincam com um brinquedo digital pedagógico. Bem, nos dias de hoje, será mais uma sessão de Fortnite ou partilhas em redes sociais. A mulher trabalha no seu terminal, ligada a um serviço de partilha de informação. A esta visão apenas falta a conectividade trazida pela internet, a mobilidade dos dispositivos móveis e, claro, os nossos estilos e modas contemporâneas.

O que considero mesmo interessante na imagem é o como nos mostra que as nossas preocupações, sonhos e visões sobre a forma como integramos a tecnologia nas nossas vidas, e como ela nos transforma como indivíduos e sociedade, segue uma longa linha de continuidade. Estas visões não são exclusivas do nosso tempo, e se os adereços e estéticas mudam, o essencial mantém-se.

Slide 2 - Pensamento Computacional

‘Computational Thinking  the thought processes involved in formulating a problem and expressing its solution(s) in such a way that a computer—human or machine—can effectively carry out.’

Esta é a primeira definição, dada por Jeanette Wing no seu seminal artigo de 2006. Mas o campo não se esgota nesta visão. Há outras, que complementam ou abrem novas áreas de exploração. Destaco a de Wing por ser sintética, apontando para a generalização e transposição como competências para a vida do uso de estruturas e formas de pensamento e análise trazidas das ciências da computação. Mas também a interligação entre o homem e a máquina, não no sentido de sujeição, mas da nossa compreensão profunda da computação, para melhor tirar partido dela.

Quando queremos definir pensamento computacional, preferimos começar pelo que ele não é. Não se trata de ensinar as crianças a pensar como computadores, ou rotinar mecanismos de utilização de ferramentas digitais. Trata-se de aproveitar as estruturas e conceitos das ciências da computação para resolver problemas, conceber sistemas e compreender comportamentos humanos. Resulta como atividade mental na formulação de problemas resolvidos com meios computacionais, por humanos, ou não.

O pensamento computacional utiliza conceitos de computação como estruturas abrangentes, de desenvolvimento de competências para a vida, que ultrapassam os limites das ciências da computação. Nesta visão, conceitos como pensar com recursividade, processamento paralelo, verificar código e dados, utilizar abstração e decomposição em tarefas complexas, pensar em prevenção/proteção/recuperação, desenvolver raciocínio heurístico para descobrir soluções, planear, aprender, planificar no meio de incerteza e tirar partido de dados para desenhar estratégias de atuação saem, decididamente, do campo abstrato da computação e entram na vida diária.

Slide 3 - Componentes essenciais:

Pensamento Lógico: compreender e aplicar conceitos de lógica.
Pensamento Algorítmico: compreender e saber usar estruturas algorítmicas, não necessariamente complexas..O seguir uma receita simples é um exemplo habitual.
Decomposição: identificar os elementos em que um problema complexo pode ser dividido, focando-se na resolução dos elementos e não na complexidade geral.
Generalização e Reconhecimento de Padrões: analisar problemas em busca de padrões, perceber o que é único e o que se repete, podendo ser automatizado.
Modelação: elaborar modelos mentais sobre sistemas, dependente da capacidade de Abstração.
Avaliação: analisar problemas situações, avaliar soluções, detetar erros, em processos cíclicos.

Estas são componentes que se intererrelacionam, trabalhados por si só não são eficazes. Dentro de projetos, desafios significativos, são competências mobilizadas para solucionar um problema. Por exemplo, conceber um jogo (até pode ser unplugged), requer uso de estruturas lógicas, decompor a tarefa nos seus elementos constituintes, analisar padrões e generalizar soluções, abstrair e modelar mentalmente o problema a resolver, avaliar em tempo real as soluções que encontra e despistar potenciais erros.

Slide 4 - Ramificações: 

Representação de dados, Pensamento Crítico, Ciências da Computação, Automação, Simulação/visualização. Estas são áreas específicas, que beneficiam do desenvolvimento do pensamento computacional, ou utilizam estratégias de atuação similares.

Slide 5 - Raízes

Esta ideia do pensamento computacional, de usar a lógica da computação noutros tempos, parece-nos nova e muito recente, mas tem raízes profundas. Apontaria três:

McLuhan em 1967 e as suas ideias das tecnologias como extensões dos sentidos humanos, a sua intuição de que as ferramentas que construímos alteram a nossa forma de percecionar e agir sobre o mundo, essencialmente modificando-nos: "All media are extensions of some human faculty — psychic or physical".

McLuhan, M., Fiore, Q. (1967). The Medium is the Massage: An Inventory of Effects. Londres: Penguin Books. Disponível no Internet Archive: https://archive.org/details/pdfy-vNiFct6b-L5ucJEa/page/n23

Seymour Papert, 1980 e sua intuição de que nas mãos das crianças, o computador seria um potente meio de possibilitar aprendizagens profundas, muito para lá do simples manuesar de tecnologias, em vertentes  pedagógicas de base construtivista, assentes em colaboração, criação, construção orientada de conhecimento e experimentalismo criativo. Creio que sem o seu trabalho seminal, dificilmente estaríamos aqui a ter esta discussão.

Seymour Papert (1997). A Família em Rede. Lisboa: Relógio D'Água.

Jonassen em 1995, e a sua análise detalhada a diferentes aplicações informáticas, observando-as como ferramentas cognitivas, que exigem que os alunos pensem de forma significativa de modo a usarem a aplicação para representar o que sabem. Sublinhou que o ppel das ferramentas cognitivas na sociedade é o de envolver alunos em aprendizagens significativas, e auxiliar na aquisição de competências de pensamento superior.

Jonassen, D. (2007). Computadores, Ferramentas Cognitivas. Porto: Porto Editora.

Slide 6 - Estratégias: Programação

O pensamento computacional não tem obrigatoriamente que passar por atividades de programação e robótica, há outras dimensões que podem ser exploradas. No entanto, uma das grandes ferramentas de estímulo às competências de pensamento computacional está no uso de linguagens de programação visual, não só para aprender a programar, mas para desenvolver projetos.

Algo que se tornou possível com o surgir de ferramentas de programação para crianças. Ou, sendo mais rigoroso, ferramentas que permitem às crianças programar. Há um mundo de diferença entre ser para crianças, e apropriado pelas crianças.

Esta revolução começou com o Scratch. A sua abordagem low floor/high ceiling, visão construtivista e programação por blocos deram a faísca ao que se veio a tornar uma revolução educacional. Uma revolução que tem uma longa história, datando dos anos 60. De uma altura em que o computador não era tão omnipresente como hoje, e, no entanto, no MIT  Seymour Papert tinha a visão que estas máquinas poderiam ser poderosas ferramentas de aprendizagem, nas mãos das crianças, estimulando competências cognitivas profundas. Hoje, a programação por blocos é usada para despertar o interesse sobre programação e desenvolver competências de pensamento computacional.

Com estas linguagens, é fácil para os nossos alunos criarem jogos, narrativas digitais ou outras atividades que envolvam programação. Os comandos e estruturas das linguagens de programação, difíceis de memorizar, são visualmente codificadas como blocos arrastáveis que se ligam, simplificando o processo de programação.

Que ferramentas podem ser usadas? O Scratch é um excelente, e gratuito, ponto de arranque, suporta uma comunidade muito aberta  que encoraja todos os criadores a partilhar os seus projetos. Não por acaso, o seu interface e princípios de utilização são imitados por todas as outras apps de programação para iniciantes Há hoje muitas outras aplicações para dispositivos móveis ou baseadas na web que utilizam princípios similares. Algumas, como o MIT Appinventor ou o Thunkable, podem ser usadas para desenvolver aplicações mobile.

Slide 7 - Estratégias: Jogos e Narrativas Digitais

Como usar estas ferramentas de forma eficaz para promover o desenvolvimento de competências de pensamento computacional? O essencial é manter em mente que o programar não é o fim em si mesmo, que o que interessa não é aprender linguagens de programação, mas sim estimular as crianças a desenvolver o tipo de raciocínio algorítmico inerente à programação através de projetos abrangentes.

Jogos são uma forma divertida de desafiar os alunos, e tiram partido direto de um dos seus principais interesses. À procura de ideias? Pesquisem no site do Scratch , e divirtam-se com os projetos partilhados pela comunidade. Os jogos não têm de ser muito complexos. Basta uma ideia, alguns personagens, e alguns cenários. O resto consegue-se com programação simples, levando os alunos a aprender sobre ações, ciclos, condições, e variáveis para os pontos.

Outra excelente forma de usar linguagens de programação por blocos visuais é a criação de narrativas ou apresentações digitais. São projetos mais fáceis de implementar do que em vídeo, e.muito mais ricos que uma apresentação clássica do PowerPoint. Para conseguir desenvolver este tipo de atividades, os alunos terão que fazer pesquisas sobre o tema, selecionar o conteúdo multimédia apropriado, estruturar uma maneira de o apresentar (como uma história ou como uma apresentação seqüencial) e programá-lo. Em simultâneo, estão a aprender sobre os temas curriculares, e a desenvolver as suas capacidades de programação e pensamento computacional.

Slide 8 - Programação Unplugged

Para mim, uma das vertentes mais interessantes que junta introdução à programação, pensamento computacional e outras atividades é o da programação unplugged, sem computador. Em essência, são atividades práticas que recorrem onde se pode utilizar elementos de computação, mas aplicados a contextos físicos. Pode passar por jogos corporais, jogos de cartas, ou outras explorações offline de conceitos. Mostra que o pensamento computacional não precisa de ser trabalhado recorrendo unicamente a meios digitais.

Como fazer? Repositórios como o CS Unplugged ou o Barefoot Computing têm uma grande quantidade de projetos planificados que abordam computação sem computadores. O jogo de cartas Cody & Roby é um excelente recurso para trabalhar sequências, estruturas lógicas, e por arrasto competências sociais.

Slide 9 - Robótica

A diversidade de soluções de robótica disponíveis hoje no mercado é crescente. Dificilmente, nos nossos contextos educativos, teremos financiamento que nos permita trabalhar com sistema de topo com o Não; mesmo as soluções da Lego, bastante populares entre nós, têm esse problema. Resta o crescente mundo das soluções baseadas em arduino e outras tecnologias low cost e open source, onde há um pouco de tudo, desde produtos especificamente desenvolvidos a plataformas abertas de partilha, onde qualquer um pode contribuir, modificar e recriar.

Qualquer que seja a solução de robótica disponível, há um princípio a ter em mente. As boas soluções de robótica na sala de aula têm de incorporar o princípio que possibilitou o sucesso das abordagens à programação na educação, o princípio low floor/high ceiling. Ser simples e fácil de compreender, mas com amplitude para desenvolver projetos avançados

Slide 10 - Cenários de Aprendizagem

Apesar de ser excelente para aprender conceitos de programação, mecânica, a robótica aprofunda pensamento computacional de forma mais eficaz se não se ficar pelo construir e programar robots. É aqui que o criar cenários de aprendizagem mostra o seu potencial. O cenário, a história, o objetivo, é a faísca que será traduzida em construções tangíveis, mobilizando conhecimento de diferentes áreas, utilizando estruturas de pensamento computacional.

Um cenário de aprendizagem é uma abordagem integrada que mistura conteúdos de diferentes áreas curriculares. Tapetes de atividades são um dos métodos mais comuns, quer com quadrados modulares ou mapas. O desafio é programar a deslocação dos robots em percursos específicos, sequencialmente, seguindo linhas, desviando de obstáculos.

Slide 11 - 3D (abordagens STEAM)

E porque não trabalhar áreas de pensamento computacional usando outros meios de expressão? Explorar conceitos de algoritmos, decomposição, resolução de problemas a partir da criação de um desenho, ou de um objeto? Destaco aqui o 3D. Poderia fazer com outras aplicações na área da imagem digital e multimédia. Espero não estar a cometer o erro de sobregeneralização, de achar que tudo pode ser pensamento computacional. Mas, quando estamos a criar, estamos simultaneamente a mobilizar os algoritmos das técnicas de expressão, quer seja desenho, pintura, modelação 3D, edição de vídeo; a decompor o que queremos criar ou recriar nos seus elementos, priorizando e decidindo como avançar no trabalho criativo; procurando soluções para os problemas que surgem no ato de criação; procurando padrões que simplifiquem o trabalho, abstraindo as formas no processo mental de as recriar.

Este tipo de ferramentas traz ainda a vantagem adicional de permitir que os alunos se tornem criadores, expressando ideias através de ferramentas digitais. E isso tem repercussões. Especificamente na área do 3D, se desde cedo lhes mostrarmos como usar ferramentas 3D e CAD, e potencialmente imprimindo em 3D as suas criações, em projetos significativos, mostrando-lhes que estas tecnologias lhes estão próximas e podem ser apropriadas, do que é que serão capazes, futuramente?

Slide 12 - Aplicações 3D

Quais as melhores portas de entrada para o mundo do 3D? Deixo aqui três sugestões, gratuitas e simples, embora permitam criações complexas. Um elemento comum é respeitarem o princípio low floor/high ceiling. E uma delas funciona em dispositivos móveis. Porquê esta sugestão? Recordem, qual é o objeto que todos os vossos alunos têm no bolso, e provoca o caos se lhes for retirado? Exato, dispositivos móveis. Então, porque não arriscar tirar partido deles em contexto educativo?

3DC.io: Pessoalmente, adoro esta app. Não é complexa, e na verdade é bastante limitada, quando comparada a outros softwares 3D. E, no entanto, é extremamente simples de usar num dispositivo móvel. Podemos criar modelos bastante complexos com os dedos num tablet ou smartphone.

Onshape: CAD na ponta dos dedos? Sim, é possível. Baseado na web, o Onshape permite fazer modelação 3D avançada em qualquer dispositivo, tablet, smartphone ou computador. Só é necessário ter instalada a aplicação móvel, ou um navegador, e uma ligação à Internet.

Tinkercad: Concebido para crianças, esta aplicação utiliza técnicas de modelação por primitivos. É uma ferramenta poderosa, mas muito simples de utilizar. Os modelos 3D podem ser criados com medidas rigorosas, combinando formas primitivas em operações booleanas de corte e união.

Sketchup: Versão online do popular e intuitivo software de modelação 3D. Mistura CAD com subdivisão de superfícies. Literalmente, permite desenhar em 3D.

Slide 13 - Projetos 3D

Nos projetos 3D, tal como nos de programação e robótica, o importante não é usar a tecnologia por si só, aprendendo metodologias técnicas. Estas são importantes, são elementares, mas o que permite o desabrochar de criatividade, o aprofundar criativo, é a sua integração em projetos significativos. Quer dentro de trabalhos disciplinares, interdisciplinares, DAC ou outro tipo de projetos. E através disto, plantar sementes de curiosidade, ciência, tecnologia e criatividade.

Como é que estes projetos se relacionam com o estímulo ao pensamento computacional? Recriar um objeto em 3D obriga quem está a criar a gerar um modelo mental do que se quer modelar. Tem de se identificar padrões, elementos que se repitam e cuja modularização simplifique o trabalho efetivo a desenvolver. É preciso estruturar uma abordagem ao projeto, saber por onde começar e que esquema geral seguir. E o ato de modelar em si depende do uso de técnicas específicas, essencialmente algoritmos com passos e sequências de ações.

Slide 14: Pensamento Computacional, Porquê?

Porque é que é importante o desenvolvimento do pensamento computacional? Any sufficiently advanced technology is indistinguishable from magic, escreveu Arthur C. Clarke em 1973. Não creio que nos possamos dar ao luxo que a nossa relação com a tecnologia seja feita desta forma. Temos de a compreender, e isso implica perceber quais as suas bases conceptuais. O importante não é o aprender a programar, a construir computadores. É perceber o potencial da tecnologia, a não ter medo dela , ou não a aceitar passivamente e de forma acrítica. Atrevo-me a dizer que hoje, as competências digitais deixaram de ser meramente técnicas, passaram a ser competências sociais. Numa sociedade onde a economia se automatiza, entre a robótica e inteligência artificial ; onde a cultura, a informação, é mediada por ecrãs, por detrás dos quais estão algoritmos que condicionam o que vemos, precisamos de ter uma visão profunda sobre as tecnologias que a sustentam para perceber potenciais e perigos, formas de defesa, e apropriação.

A economia e sociedade dependem cada vez mais de tecnologias avançadas que requerem pessoas bem preparadas para tirar partido delas. Como é que estamos a preparar as crianças, hoje, para fazer face aos desafios futuros?  Estas são questões complexas, que não têm uma solução única. Dependem da conjugação de tendências e modos de intervenção. É uma ideia que se tornou um lugar comum, especialmente nos meios ligados à inovação e educação. Sabemos que as crianças que estão hoje nas escolas vão enfrentar futuros insondáveis, dos quais apenas conseguimos antever tendências. Analistas, futurólogos e cientistas sociais apontam para alguns padrões. As tecnologias emergentes nos domínios da robótica, automação e inteligência artificial vão ser a base da indústria e trabalho no futuro próximo, e já influenciam a economia global nos dias de hoje.

Sabemos que vivemos numa sociedade de fluxos tecnológicos. As transformações geradas pela aplicação de novas tecnologias em constante e rápida evolução seguem ciclos cada vez mais acelerados. São assinalados e sentidos, atualmente, impactos éticos, económicos, laborais, sociais e industriais das tecnologias digitais A educação não tem estado alheia a estas tendências. Mas a visão que dela temos não abona muito a seu favor. Os sistemas e modelos educativos, das técnicas pedagógicas à organização de salas de aula, são apontados como profundamente enraizados nos pressupostos sociais e técnicos do século XX. Sente-se que o modelo de transmissão e memorização de conhecimento, medido por exames, não desenvolve nas crianças e jovens o tipo de competências que se suspeita virem a ser essenciais para o seu futuro. A diferença começa logo aí, pela necessidade expressa de evoluir da aquisição de conhecimento para desenvolvimento de competências.

É de notar que competência depende de conhecimento, mas implica encontrar formas de o colocar em ação. Hoje, sabemos que saber, por si só, não chega, é o que fazemos com o conhecimento que nos dá vantagens competitivas, permite ser criador, compreender e tirar partido do impacto da tecnologia. Sabendo que a robótica e automação irão transformar irremediavelmente o mundo laboral, esta questão não é meramente académica. Torna-se uma condição de sobrevivência.

Perante os inúmeros desafios trazidos pelas tendências que estão a moldar o nosso futuro, robótica, automação, inteligência artificial , desafios sociais e ambientais, compreender profundamente a computação . é mais do que uma competência, técnica, é uma competência social para cidadania ativa.

Reparem nisto: os exploradores do amanhã, os futuros criadores de aplicações inovadoras, os designers das futuras tecnologias, são nossos alunos, hoje.

The explorers of tomorrow, the creators of killer apps, the designers of future space technologies, are our students, today.

Slide 15: Recursos.

Computer Science Unplugged: https://csunplugged.org/en/
Barefoot Computing: https://www.barefootcomputing.org/
Cody & Roby: http://codeweek.it/cody-roby-en/
Scratch: https://scratch.mit.edu
Code.org: https://code.org/
Tynker: https://www.tynker.com/
OpenRoberta: https://lab.open-roberta.org/
Micro:Bit: https://makecode.microbit.org/#editor
Cenários de Aprendizagem FTELab: http://ftelab.ie.ulisboa.pt/tel/gbook/exemplos-de-cenarios-de-aprendizagem/
Cenários Teach With Europeana: https://teachwitheuropeana.eun.org/learning-scenarios/
Cenários Hour of Code: https://hourofcode.com/pt/pt/learn
Da Robótica ao Pensamento Computacional: Educação para o Século XXI: https://bit2geek.com/2018/11/05/da-robotica-ao-pensamento-computacional-educacao-para-o-seculo-xxi-299183904/
Seis Livros Para Descobrir a Inteligência Artificial: https://bit2geek.com/2019/02/14/seis-livros-para-descobrir-a-inteligencia-artificial-99684386874/

Beecher, K. (2017). Computational Thinking: A Beginner's Guide to Problem Solving and Programming. Swindon: BCS Learning.
BRIDLE, J. (2018). New Dark Age: Technology and the End of the Future. Londres: Verso
RAMOS, J., ESPADEIRO, R. (2014). Os futuros professores e os professores do futuro. Os desafios da introdução ao pensamento computacional na escola, no currículo e na aprendizagem. http://eft.educom.pt/index.php/eft/article/view/462/208
WING, J. (2006) Computational Thinking. In Communications of the ACM. Volume 49, n.º 3, março de 2006. https://www.cs.cmu.edu/~15110-s13/Wing06-ct.pdf

2 comentários: