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.
domingo, 29 de junho de 2014
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
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
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?
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...
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!
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!
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.
Este programa faz isto mesmo:
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,
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...
Subscrever:
Mensagens (Atom)








