Li recentemente no Google Research Blog uma entrada sobre pensamento computacional como a capacidade de olhar para a realidade de uma forma objectiva, compreender a capacidade da mente humana para criar ideias, dispositivos, construções e algoritmos complexos, passar de meros utilizadores para criadores de ferramentas, informáticas ou não.
Começando pelos conceitos chave do pensamento computacional
os autores mostram como estes conceitos ajudam a cada um adquirir competências essenciais à vida de hoje que, com a prática desde a idade escolar, se podem tornar "hábitos" de análise que abrem novas perspectivas de interacção com a realidade e com a inovação e a criatividade.
Essa disposição para olhar para a realidade como ela efectivamente é, simples e complexa, perfeita e imperfeita, previsível e imprevisível, vai ser cada vez mais indispensável.
Esta figura resume as ideias chave do artigo
Sermos capazes de lidar com a complexidade, de aceitar a ambiguidade, de ser persistentes perante os problemas mais difíceis, de entender que há problemas abertos, de trabalhar com os outros, de conhecer as forças e fraquezas próprias, são hoje atitudes essenciais.
Passa por aqui o nosso futuro, e desde a idade escolar.
Mostrar mensagens com a etiqueta escola. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta escola. Mostrar todas as mensagens
quinta-feira, 15 de setembro de 2016
sábado, 18 de abril de 2015
Recursividade
A recursividade, a capacidade de formular de forma recursiva a solução de um problema, é uma das dimensões do chamado pensamento computacional.
Sempre que se fala de recursividade, costuma usar-se a função factorial para a ilustrar.
Realmente, como fact(n) = n x fact(n-1), acrescentando uma condição de paragem, fact(1) = 1, temos a função factorial definida de uma forma recursiva:
def fact(n):
if (n <= 1):
return 1
else:
return n * fact(n - 1)
Encontrei recentemente uma ideia muito interessante para ilustrar a recursividade, sem recorrer a estes conceitos de programação.
Imagine o leitor que está sentado numa fila de um anfiteatro, a assistir a um espectáculo, e pretende saber qual é o número da fila em que está sentado.
Uma solução será perguntar a um espectador sentado na fila à sua frente em que fila está, e somar 1 à resposta obtida. Se este espectador não souber, ele próprio pode proceder de modo idêntico relativamente ao espectador da fila seguinte, e assim sucessivamente, até um saber a resposta (eventualmente um espectador sentado na primeira fila!). Nesse momento, o problema fica resolvido.
E que tal desafiar um grupo de alunos de TIC, 7º ano de escolaridade, a entender este conceito e explicá-lo numa página Web de sua autoria? Também é assim que se desenvolve o pensamento computacional...
Sempre que se fala de recursividade, costuma usar-se a função factorial para a ilustrar.
Realmente, como fact(n) = n x fact(n-1), acrescentando uma condição de paragem, fact(1) = 1, temos a função factorial definida de uma forma recursiva:
def fact(n):
if (n <= 1):
return 1
else:
return n * fact(n - 1)
Encontrei recentemente uma ideia muito interessante para ilustrar a recursividade, sem recorrer a estes conceitos de programação.
Imagine o leitor que está sentado numa fila de um anfiteatro, a assistir a um espectáculo, e pretende saber qual é o número da fila em que está sentado.
Uma solução será perguntar a um espectador sentado na fila à sua frente em que fila está, e somar 1 à resposta obtida. Se este espectador não souber, ele próprio pode proceder de modo idêntico relativamente ao espectador da fila seguinte, e assim sucessivamente, até um saber a resposta (eventualmente um espectador sentado na primeira fila!). Nesse momento, o problema fica resolvido.
E que tal desafiar um grupo de alunos de TIC, 7º ano de escolaridade, a entender este conceito e explicá-lo numa página Web de sua autoria? Também é assim que se desenvolve o pensamento computacional...
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
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
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.
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
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!
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!
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,
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...
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...
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.
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.
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.
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.
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.
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.
Estamos a falar de pensamento computacional.
É este o nosso ponto de partida.
Subscrever:
Mensagens (Atom)









