domingo, 14 de dezembro de 2014

Miguel Zapata-Ros

Miguel Zapata-Ros, professor, educador, mestre, dos MOOC, e do pensamento computacional, está a publicar no seu blogue Pensamiento computacional y alfabetización digital / Computational thinking and computer literacy uma série de artigos sobre as dimensões do pensamento computacional absolutamente incontornável para quem se interessa por estes problemas.


Os primeiros artigos versam os tópicos

  1. Porquê
  2. Problema
  3. Definição
  4. Domínio teórico
  5. Recursividade
  6. Iteração
  7. Tentativa-erro,

e a sua leitura é obrigatória, pelos conteúdos, pelo alinhamento de tópicos, pelas referências bibliográficas, pelos contributos que incorpora.
Daqui saúdo o Professor Miguel Zapata-Ros pelo seu trabalho notável.

segunda-feira, 8 de dezembro de 2014

A hora do código

A Khan Academy desafia os estudantes, os Pais e os professores a aprender a programar, seja a desenhar, através de páginas Web, ou da criação de bases de dados.

 Khan Academy

Desenho e páginas Web para os miúdos de 8 anos, bases de dados para os miúdos de 12 anos.
Criar espaço para o pensamento computacional, sem confundir com processamento de texto, folhas de cálculo, ou apresentações, ferramentas informáticas transversais, da vida corrente, presentes em todos os computadores, é absolutamente fundamental.
Apesar dos pequenos passos que têm sido dados, enquanto não se trabalhar a sério na formação de professores capazes de motivar os nossos miúdos para a descoberta do computador como ferramenta ao seu serviço, como máquina que podem programar para a execução de tarefas repetitivas ou complexas, ou para a realização de experiências de simulação, por exemplo, continuaremos a divergir do que está a acontecer em tantos outros países.

domingo, 29 de junho de 2014

Pencil Code

Pencil Code, by the Pencil Code Foundation, é uma aplicação para experimentar online pequenos programas que considero excelente para quem está a dar os primeiros passos na direcção de uma visão moderna da programação.
Baseia-se na ideia de um lápis que se desloca de acordo com o código.


Este código, por exemplo, ordena ao lápis para se mover à velocidade 20, escrever a verde, e repetir 4 vezes o seguinte par de instruções: andar 100 unidades para a frente, e rodar -90º (90º para a esquerda)


O resultado é um quadrado como o do exemplo anterior. Pode-se experimentar aqui.

quinta-feira, 26 de junho de 2014

Programar sem computadores 2

Agora que fizemos o primeiro programa, é altura de começar a pensar se as instruções que propusemos para mover o executante no tabuleiro gigante são as mais convenientes

Bom Jesus

Código:
origem: ir para a casa central e olhar para o Bom Jesus
fn: andar para a frente n casas
d: rodar 90º para a direita
p: parar
rn: repetir n vezes o que se segue


Olhemos para a instrução d: rodar 90º para a direita. E se quisessemos rodar 90º para a esquerda? Realmente, podíamos. Se rodarmos uma segunda vez para a direita, ficamos virados para trás, e se rodarmos uma terceira vez, ficamos virados para a esquerda.

Este programa funciona, e desenha um quadrado de lado 3
origem
r4
  f3
  d

  d
  d
p


Bom Jesus

Contudo não é muito elegante. Podemos talvez acrescentar uma instrução
e: rodar 90º para a esquerda,
ou, melhor, modificar a instrução
d: rodar 90º para a direita
para aceitar um parâmetro, ângulo, ficando
dn: rodar n graus para a direita

Rodar 90º para a esquerda é rodar -90º para a direita
origem
r4
  f3
  d-90

p

E aqui temos um programa bem mais compacto, como todo o código deve ser.

quinta-feira, 12 de junho de 2014

Programar sem computadores 1

Estamos a pensar em actividades para a CodeWeek. Os exercícios mais simples vão-se desenrolar num tabuleiro gigante com 11x11 casas e um conjunto de instruções (código) muito simples

Bom Jesus

Código:
origem: ir para a casa central e olhar para o Bom Jesus
fn: andar para a frente n casas
d: rodar 90º para a direita
p: parar


Um programa é um conjunto de instruções usando as palavras do código:
origem
f3
d
f3
d
f3
d
f3
d
p


Este programa conduz o executante exactamente à posição inicial, depois de desenhar um quadrado. Certo?

Bom Jesus

Certo, mas porque não acrescentar ao código uma instrução de repetição? Por exemplo,
rn: repetir n vezes o que se segue

Então, o mesmo programa poderia ficar
origem
r4
  f3
  d
p


Este programa, que é bem mais compacto e elegante, produz o mesmo resultado, não é?
Começamos a perceber o que é codificar...

quarta-feira, 11 de junho de 2014

CodeWeek

De 11 a 17 de Outubro de 2014 decorre em toda a Europa a CodeWeek, um conjunto de eventos onde novos e velhos, aprendizes e mestres, vão experimentar formas de ensinar e aprender a usar computadores no seu dia a dia.
No âmbito desta iniciativa, estamos a organizar na Católica Braga um evento a que chamamos "Programar sem computadores", em que vamos brincar à programação com os mais novos, através de um conjunto de acividades divertidas em que todos poderão desempenhar os papéis de programador ou de computador, isto é, daquele que escreve os programas ou daquele que os executa.
O nosso espaço, o nosso dispositivo de entrada saída, o nosso écrã, será todo o campus da FaCiS,


onde os participantes se movimentarão na execução ou na criação de "programas" que proponham movimentos ou interacções com outros objectos existentes.
Estamos na fase de preparação do projecto, e aceitamos todas as sugestões que nos queiram fazer no sentido de valorizar o evento.
Falem-nos!

segunda-feira, 14 de abril de 2014

Pós-graduação

É oficial.
Estão abertas as pré-inscrições para a primeira edição da pós-graduação em Pensamento Computacional e Ensino de Informática, na Católica Braga
O desafio está lançado.
Venham aprender conosco!

sábado, 12 de abril de 2014

Um exercício de pensamento computacional (2/2)

Retomamos aquele exercício de "somados somos um quadrado perfeito", para apresentar um pequeno programa capaz de explorar o espaço de soluções, 25! como sabemos, de uma forma organizada e com um esforço mínimo.
Este programa faz isto mesmo:
Começando com as 25 bolas, a operação realiza-se em 24 passos, em cada um dos quais se tenta acrescentar mais uma bola a cada fila de bolas já colocadas. Se não for possível, essa fila é abandonada.
Aqui estão as 20 soluções encontradas:
Tal como previmos, metade dessas soluções começa pelo número 18 e outra metade termina pelo número 18, uma vez que o número 18 só faz parelha com o número 7.

quarta-feira, 2 de abril de 2014

Pensamento computacional e ensino de Informática

Muitos professores de Informática não tiveram a formação necessária para trabalhar, e muito menos para ensinar a trabalhar, com as ferramentas informáticas do mundo de hoje, para compreender o mundo da Informática em toda a sua extensão, para perceber o papel da Informática na economia, para despertar nos jovens o gosto pelas questões informáticas.
Esta transformação de mentalidades é muito complexa, não se consegue com um simples clique, exige um enorme esforço de "desaprender", de ver a realidade de uma forma diferente, com um certo distanciamento, como algo com que temos de interagir todos os dias, e de que a tecnologia é apenas uma parte.
Basta olharmos para o modo intuitivo como jovens interagem com os telemóveis, com os jogos, com as bilheteiras automáticas, com uma quantidade de dispositivos à nossa volta, para o percebermos.
Por onde começar, então?
Não é fácil elaborar uma proposta segura. Pode ver-se o que outros fazem, pode olhar-se para as aplicações informáticas que nascem todos os dias, pode partir-se da nossa própria experiência, mas haverá sempre alguma incerteza.
Na Inglaterra, a iniciativa Computing at School tem vindo a dar muitas pistas, a Universidade de Manchester tem uma oferta de cursos para professores nesta área, e muitos outros existem, de que já falamos ou iremos falar.
Na minha opinião, um curso desta natureza poderia ser constituído por quatro módulos básicos,

  • Python (programação sem enfeites),
  • Informação, Computação e Redes (do bit à nuvem),
  • Visualização e Análise de Dados e Redes,
  • Projecto (Raspberry Pi/Android/iOS/Gephi),

ao longo de um semestre, que, uma vez concluídos com sucesso,  dariam a cada um uma base sólida para olhar para a Informática de uma outra forma e para abraçar novos desafios.
É só uma ideia. Alguém quer experimentar?
Reacções são bem vindas...

sábado, 29 de março de 2014

Um exercício de pensamento computacional (1/2)

Um dos meus desafios dos tempos de hoje consiste em ajudar a preparar uma nova geração de professores de Informática para as tarefas que lhes irão ser exigidas no futuro, num futuro em que já se percebeu que a Informática é uma disciplina estruturante do pensamento, em que todos teremos de estar mais preparados para ler a realidade de uma forma crítica, para identificar os problemas e o seu grau de complexidade, e para formular soluções, eventualmente com o recurso a computadores ou outras máquinas programáveis.
Na minha aula de ontem, propus aos alunos que olhassem para um problema que encontrei recentemente nas páginas do Público:
Cada aluno tinha um computador à sua frente.
Este problema, aparentemente simples, levanta muitas questões muito interessantes para quem, como eu, gosta de ver como as pessoas tentam atacar estas situações. Exemplos de reacções iniciais:
i) não saber o que são quadrados perfeitos,
ii) não perceber o enunciado e começar a atirar coisas para o ar, completamente disparatadas,
iii) perceber problemas diferentes, sem qualquer sentido, que me abstenho de reproduzir.
Curiosamente, ninguém se interrogou sobre se o problema teria solução, se haveria muitas, se seria trivial ou muito complicado, isto é, ninguém olhou criticamente para o probema.
A título de provocação, sugeri um problema "mais simples", só com os números de 1 a 5, e aí foi mais fácil concluir que neste caso não haveria nenhuma solução, pois os números 1 e 3 têm de ficar encostados, bem como os números 4 e 5, mas não há mais nenhum par de números cuja soma seja um quadrado perfeito:
Esta análise permitiu entre outras coisas concluir que com os números de 1 a 25, terá de haver um mínimo de 24 pares de números cuja soma é um quadrado perfeito. E haverá?
Com alguma relutância (estas coisas ou se praticam ou...) conseguimos produzir e executar um pequeno programa em Python que lista todos os pares de números entre 1 e 25 cuja soma é um quadrado perfeito:
São 32. Serão suficientes? Continuaremos.

quinta-feira, 27 de março de 2014

Google Exploring Computational Thinking

Pensamento computacional é uma competência essencial para os nossos jovens, mas muito poucos professores estarão preparados para fazer despertar nas suas mentes esta maneira de olhar para a realidade, de detectar as abstracções, os automatismos, os algoritmos, os padrões que nela se escondem.
Nós, os professores, que aprendemos uma certa Informática, temos normalmente dificuldade em dar o primeiro passo no sentido da descoberta destes jogos escondidos, destes segredos, destas pequenas coisas que começamos a verificar que interessam as mentes curiosas da gente mais nova, habituada a viver e sobreviver neste mundo complexo que estamos a criar, em que o pensamento, o pensamento crítico, a compreensão dos mecanismos com que nos defrontamos no dia a dia, fazem a diferença.
No entanto, todos os dias lidamos com situações que permitem levar à descoberta de formas simples de pensar, de formas estruturadas de organizar o pensamento.
Seja escolher a melhor maneira de arrumar as peças Lego em caixas de forma a simplificar a procura duma determinada peça, seja escolher o melhor percurso para recolher um pequeno número de produtos nas prateleiras de um supermercado, seja encontrar estratégias para fazer a gestão das filas das caixas, o dia a dia é a melhor fonte para descobrir o pensamento computacional.
A Google, sempre a Google, disponibiliza uma série de ideias, projectos e recursos num sítio a que chamou Exploring Computational Thinking, e que recomendo vivamente.

segunda-feira, 24 de março de 2014

Ensino de Informática e Pensamento Computacional

Pensamos que a Informática, o software, poderá assumir um papel decisivo na formação dos nossos jovens, ao motivar em cada jovem uma reflexão sobre a relação pessoa máquina, entendendo a máquina ao serviço do Homem, e não o seu contrário.
A necessidade de comunicar com uma máquina obriga a formular os problemas de uma forma lógica, usando abstracções e estruturas simples que contribuem para uma visão mais clara da realidade.
A questão consiste saber como formar os professores que poderão despertar estas competências nos seus jovens alunos do ensino básico e secundário, através de actividades simples e motivadoras, tanto quanto possível inspiradas na realidade do dia a dia.
Numa onda avassaladora, o projecto Hour of Code já chegou a mais de dois milhões de pessoas no Reino Unido, isto depois de ter atraído cerca de vinte nos Estados Unidos da América.
A reflexão que tem sido feita na comunicação social destes países, o confronto de diferentes visões, as dificuldades que professores naturalmente sentem perante o desafio de ensinar algo que nunca aprenderam, o entusiasmo dos jovens e das suas famílias, ajudam a melhor atingir os objectivos que os novos currículos adoptados nestes países ambicionam.
E uma coisa é certa: tal como o ensino da Música, por exemplo, não se destina a formar músicos para as nossas orquestras, mas sim a contribuir para a formação integral dos jovens, o ensino da Informática deve proporcionar o contacto com as noções básicas de Informação, de abstracção, de algoritmo, sem visar a formação de programadores Informáticos.

domingo, 23 de março de 2014

Jeannette Wing

Reconheço em Jeannette Wing a grande força inspiradora da ideia de pensamento computacional. A sua visão para a educação no século XXI marcou, e está a marcar, de uma forma decisiva um novo rumo.
Professora de Carnegie-Mellon University, fundadora do Center for Computational Thinking, neste momento on leave na Microsoft Research, contribuiu para a definição que considero mais interessante de pensamento computacional: o processo mental que conduz à formulação de problemas e das suas soluções de tal modo que as soluções são representadas numa forma que um agente de processamento de informação é capaz de tratar.
Os slides acima falam por si.
O projecto, esse sim, é ambicioso, imparável, já está a acontecer neste momento na Inglaterra, por exemplo, vai demorar tempo, e vai encontrar uma forte resistência de muitos professores, que se vão considerar ameaçados por esta nova visão da Informática como disciplina estruturante do pensamento humano.

Três livros

O centro do ensino é a sala de aula, onde se encontram o professor e os alunos, e o objectivo é sempre e apenas um: despertar nos alunos a vontade de aprender. Só assim, cada um se tornará um ser autónomo e independente, capaz de pensamento crítico, e apto a encontrar o seu lugar na sociedade em que se insere.
Entre outros, há três livros, de autores portugueses, cuja leitura é obrigatória para qualquer professor:
 - Bárbara Wong, A Minha Sala De Aula É Uma Trincheira, Esfera dos Livros
 - David Justino, Difícil É Educá-los, Fundação Francisco Manuel dos Santos
 - Maria Filomena Mónica, A Sala de Aula, Fundação Francisco Manuel dos Santos
Três grandes livros, sem panos quentes, e que reconhecem o esforço dos professores em lutar contra um sistema asfixiante e burocrata que vai destruindo calmamente o nosso sistema de ensino.

Porquê?

A coordenação do Mestrado em Ensino de Informática da UCP, que vai na sua 4ª edição, e que prepara professores para o grupo 550 do 3º ciclo do Ensino Básico e do Ensino Secundário, tem-me levado a conhecer com algum detalhe o estado do ensino das nossas gerações futuras, nomeadamente, mas não só, nas áreas da Informática e das Tecnologias de Informação e Comunicação (TIC) que aliás amiúde por cá se confundem.
Em Portugal, e um pouco por todo o mundo, temos de o admitir, o desenvolvimento das TIC e a massificação do ensino, levou à chegada às Escolas de professores com formações improvisadas, deslumbrados com as "tecnologias" mais banais, que se apropriaram do ensino das TIC, com programas completamente desadequados, criados por quem não sabia, por ministérios que reduziram as suas "políticas" aos "planos tecnológicos" e a "semear" Magalhães e quadros interactivos pelas escolas, em negócios de milhões, que causaram mais prejuíxos que verdadeiros progressos no nosso sistema de ensino.
Em Julho de 2012, mesmo em cima do início do ano lectivo 2012/13, o Ministério da Educação e Ciências apresentou as Metas Curriculares de Tecnologias de Informação e Comunicação do Ensino Básico - 3.º Ciclo, o primeiro sinal de que algo poderia vir a mudar no ensino das TIC no nosso País. Sem pré-avisos, sem formação adequada dos professores, sem objectivos estratégicos de todos conhecidos, num cenário no fundo mais que habitual.
Entretanto, enquanto por cá se esbracejava e improvisava, lá fora, Países com mais cuidado com as suas gerações futuras, iam estudando, nas universidades, nas associações de professores, nas escolas, quais as verdadeiras necessidades de formação dos jovens nativos digitais, com ritmos, com treino, com competências mentais completamente diferentes das dos professores que penosamente lhes tentavam ensinar, como melhor (não) sabiam, a arquitectura dos computadores, Word, Excel, Power Point, enquanto desprezavam outras ferramentas, como o Moodle, que essa sim, poderia fazer a diferença entre uma escola dos ditados, dos sumários, dos materiais obsoletos, dos resumos, e uma escola em que os professores sabem usar o Moodle ou outro Learning Management System (LMS) para partilhar e melhorar continuamente os seus materiais e para criar actividades motivadoras para os seus alunos, ao mesmo tempo que valorizam a sua própria actividade no dia a dia.
Estamos a falar de pensamento computacional.
É este o nosso ponto de partida.