terça-feira, 16 de julho de 2019

Responsável pelo projeto


Profº José Henrique de Oliveira Gattiboni

Meu nome é José Henrique de Oliveira Gattiboni. 

Sou gaúcho de São Borja,  Bacharel e Licenciado em INFORMÁTICA pela Pontifícia Universidade Católica do Rio Grande do Sul - Porto Alegre (1994) e pela UNIASSELVI - Florianópolis (2016) e Especialização Latu Sensu em Robótica Educacional pela UNINTER - Florianópolis (2020).

Fui professor na URCAMP (Universidade da Região da Campanha), campus de São Borja e de Itaqui nos cursos de Administração de Empresas e Ciências Contábeis e na escola particular Colégio Sagrado Coração de Jesus - São Borja, no Curso Técnico em Informática, de 2000 até 2007. 

Desde fevereiro de 2008 resido em Santa Catarina, onde fui Tutor à Distância da UAB no curso de pós-graduação em Gestão Pública no Instituto Federal de SC (IFSC) em Florianópolis e Instrutor do Curso Técnico em Informática do SENAI-SC , Unidade São José - SC.  

Trabalhei também como estagiário no cargo de Analista de Sistemas do CIASC (Centro de Informática e Automação de SC), como professor de Informática dos alunos dos anos iniciais de escola particular (Colégio Padre Agostinho), em escolas da rede municipal de ensino de São José-SC (CEM Maria Iracema Martins de Andrade - Barreirão e CEM Santa Terezinha) e como professor Orientador de Tecnologias Educacionais em escolas da Rede Estadual de Ensino de Santa Catarina (EEB Henrique Stodieck/Florianópolis, EEB Gov. Ivo Silveira/Palhoça, EEB Cecília Rosa Lopes/São José e EEB Eloiza Maria Prazeres de Faria/Biguaçu) .  

No período de 2016 à 2024 trabalhei no município de Rancho Queimado-SC como Professor de Robótica Educacional e Informática Pedagógica nas escolas das redes municipal (CEM Menino Jesus e EM Altamiro Diniz) e estadual (EBB Marilda Lenia Araujo) da cidade e também como Instrutor de Robótica Educacional pelo SESI de São José-SC.

Desde junho de 2019 sou Professor de Informática da Prefeitura de Palhoça-SC, lotado na Escola Municipal Profº Febrônio Tancredo de Oliveira (CAIC).

Meu Currículo Lattes: http://lattes.cnpq.br/0114304336757563 

Link do Projeto de Programação e Robótica no CAIC à distância (via Google Meet e Google Classroom):
https://abre.ai/ci6k

Projeto de Programação e Robótica para crianças desenvolvido em Rancho Queimado-SC em 2016 a 2019:

domingo, 14 de julho de 2019

Computação Desplugada: ensinando conceitos de computação sem computador

Muitos dos nossos problemas são resolvidos através do raciocínio lógico, os computadores e jogos de vídeo game funcionam da mesma maneira. Porém, se nós, seres humanos, não estimularmos a mente durante a vida, acabamos perdendo essa capacidade. Essa oficina propõe estimular seu raciocínio através de jogos e dinâmicas divertidas. Temos como objetivo apresentar algumas atividades lúdicas longe das telas dos computadores, para despertar o aumentar o seu interesse pela computação.

Para isso, nos baseamos no projeto CS Unplugged que lista várias atividades e jogos, e a maneira de como aplicá-los e integrá-los. O projeto está disponível, em sua versão clássica, também em livro. Sendo disponibilizado gratuitamente, inclusive em português.

Listamos aqui todos os jogos e atividades que utilizamos, alguns retirados do projeto original, outros baseados em atividades sugeridas e o restante desenvolvidos por nós.

Site com atividades desplugadas:

 http://desplugada.ime.unicamp.br/



Labirinto



Almanaques da computação: 



O que é Pensamento Computacional?


Todas as definições foram extraídas de: BRACKMANN, Christian. Desenvolvimento do Pensamento Computacional Através de Atividades Desplugadas na Educação Básica. 2017. Universidade Federal do Rio Grande do Sul (UFRGS), Porto Alegre, RS, Brasil, 2017. Disponível em: http://hdl.handle.net/10183/172208.

"O Pensamento Computacional é uma distinta capacidade criativa, crítica e estratégica humana de saber utilizar os fundamentos da Computação nas mais diversas áreas do conhecimento, com a finalidade de identificar e resolver problemas colaborativamente através de passos claros de tal forma que uma pessoa ou uma máquina possam executá-los eficazmente" (BRACKMANN, 2017)

"São habilidades comumente utilizadas na criação de programas computacionais como uma metodologia para resolver problemas específicos nas mais diversas áreas” (BUNDY, 2007) (NUNES, 2011)

“É o processo de reconhecer aspectos da computação em um mundo que nos cerca e, aplicar ferramentas e técnicas da Ciência da Computação para entender e argumentar sobre sistemas e processos naturais e artificiais” (FURBER, 2012)

“É uma abordagem usada para solução de problemas utilizando o que se sabe sobre Computação” (GOOGLE FOR EDUCATION, 2015)

“É desenvolver e empregar estratégias para entender e resolver problemas de forma a aproveitar o poder dos métodos tecnológicos para desenvolver e testar soluções” (ISTE, 2016)

“Pensar nos problemas de forma que um computador consiga solucioná-los”. “O Pensamento Computacional é executado por pessoas e não por computadores. Ele inclui o pensamento lógico, a habilidade de reconhecimento de padrões, raciocinar através de algoritmos, decompor e abstrair um problema” (LIUKAS, 2015)

“É uma das práticas fundamentais da Ciência da Computação, porém o termo não é de uso exclusivo da Computação e não é adequado para retratar a totalidade do campo” (McMASTER et al. 2010)

“A combinação do pensamento crítico com os fundamentos da Computação define uma metodologia para resolver problemas, denominada Pensamento Computacional. É uma distinta forma de pensamentos com conceitos básicos da Ciência da Computação para resolver problemas, desenvolver sistemas e para entender o comportamento humano, habilidade fundamental para todos” (WING, 2006)

“Processos de pensamento envolvidos na formulação de problemas e as suas soluções de modo que as mesmas são representadas de uma forma que pode ser eficazmente executada por um agente de processamento de informações” (WING, 2010)

“São os processos de pensamento envolvidos na formulação de um problema e que expressam sua solução ou soluções eficazmente, de tal forma que uma máquina ou uma pessoa possam realizar. É a automação da abstração e o ato de pensar como um Cientista da Computação” (WING, 2014)

“Mesmo após diversos estudos e quase uma década de esforços para definir o Pensamento Computacional, ainda existem críticas que sugerem que não sabemos o que o Pensamento Computacional significa ou sua forma de medir” (KURSHAN, 2016).

https://www.computacional.com.br/

Link:

https://drive.google.com/file/d/1gYyhk8UpJNlBA34D71NVZCrrR8Y2Ebwk/view?usp=sharing



Jogo do Robô

Os alunos dos 5°s anos do CAIC e o jogo lúdico da "brincadeira do Robô", onde os alunos devem pensar os passos sequenciais necessários para se levar um robô de uma cadeira para a outra utilizando SOMENTE os comandos LEVANTAR-LEV, SENTAR-SEN, ANDAR PARA FRENTE-AF, ANDAR PARA TRÁS-AT, VIRAR PARA DIREITA-VD e VIRAR PARA ESQUERDA-VE.






Livros didáticos para o ensino de Informática/Computação/Programação

Livros didáticos de 6° ao 9° ano do Fundamental II para o Ensino de Informática/Computação/Programação para crianças e adolescentes, com atividades baseadas no Pensamento Computacional e nas atividades práticas do projeto Computação Desplugada (http://desplugada.ime.unicamp.br/da UNICAMP:

https://sites.google.com/view/computacaofundamental/home

ou

https://abre.ai/livrosdidaticos

Primeiros passos - Computação plugada

 Programe o Robô (1° ano)


Programe o Robô:

Aonde vai o Robô:

Programe o Robô resolvendo a soma (a partir do 2° ano):


Aventura de Blinky





Aventura de Blinky II




Outros do Blinky:


Bee bot - A abelha robô



Site com vários jogos de programação:

sábado, 13 de julho de 2019

Doodle do Google

Aprenda Programação brincando com o Doodle do Google


Comemorando os cinquenta anos do Doodle, o google disponibilizou a ferramenta para a experiência interativa das crianças, e ela pode ser acessada através deste link: 

https://www.google.com/doodles/celebrating-50-years-of-kids-coding

Para quem não sabe, o Doodle foi criado em 1967 por Seymour Papert e tem como finalidade ajudar as crianças os conceitos fundamentais da programação de modo divertido e lúdico. Na versão do Google, a gente é um coelhinho que deve passar por seis fases utilizando lógicas de programação.

Basicamente, você deve encaixar blocos em linha de códigos e comandos localizados em baixo da cena, e o coelho vai se movimentar na ordem em que eles foram encaixadas.

Para os mais entendidos, ele foi desenvolvido na linguagem Scratch por funcionários do MIT, o Instituto de Tecnologia de Massachusetts. Existem outras linguagens de programação para crianças no mundo, como Blocky, Alice, Twine, Lego Mindstorm Robotics e Kodu.


Light Bot



Nossos primeiros passos serão com o LightBot:

Praticamente todos os jogos de raciocínio envolve alguma estratégia que inconscientemente ou não, todos os jogares devem traçar para chegar há algum objetivo.
Esses passos para lograrmos êxito em uma tarefa constituem o algoritmo de solução do problema a ser resolvido.
E se ao invés de resolvermos o problema tivéssemos que programar um robô para resolvê-lo por nós?

Essa é a proposta de Light Bot. Um jogo educativo que permite você instruir o seu robô oferecendo algumas poucas opções de instruções (fazendo o papel de comandos de uma linguagem de programação) como: andar para frente, girar para esquerda, girar para direita, pular, acender a luz etc.
E você não precisará digitar nada, basta arrastar os ícones das instruções até o seu programa. Bacana não é?
Mas não é só isso. O jogo se torna mais interessante à medida que você tenta "resolver" os problemas com o mínimo de comandos. E aí entra em cena o conceito de função (ou subrotinas).
O objetivo do jogo é acender o quadros azuis, tornando-os amarelos, através dos poucos comandos disponíveis.
Você pode "economizar" comandos chamando as funções do jogo (denominadas no jogo Funct. 1 e Funct. 2).
Por exemplo, imagine que você tenha que dar 10 passos para frente. Uma maneira intuitiva seria simplesmente colocar 10 comandos de andar para frente, totalizando 10 instruções.
Mas, você poderia colocar 5 comandos de andar para frente na função e chamá-la duas vezes. A cada chamada a execução do programa deixaria o programa principal e executaria a função, depois retornaria ao programa principal. Com isso você teria usado apenas 7 instruções (redução de 30% no seu programa).
Não é simples? Pode até ser, mas é um desafio incutir esses conceitos em uma turma de leigos. A idéia desse joguinho tem muito a contribuir com as aulas de programação.

Tutorial do Light Bot

Link do game online:
ou


Download do game (Android e IOS): 











Vídeo do projeto realizado em Rancho Queimado-SC


sexta-feira, 12 de julho de 2019

Programando o Wall-e


Jogo de programação para crianças que consiste em programar o Wall-e para ligar ou eletrificar todas as caixas marcadas em azul no piso. Direcione o robô com instruções simples: avance, vire, pule e ligue. Para usar menos instruções, use o laço de repetição e insira nele a instrução a ser repetida e o número de vezes que o laço de programação deve ser executado. Um jogo ideal para ensinar às crianças como programar de forma divertida e para ensinar conceitos básicos de programação. Arraste as instruções para a área do Programa e crie suas primeiras linhas de código com arrastar e soltar.




Link:

Programar o Panda

Programar o panda é um jogo online para aprender a programar, adequado para crianças da escola primária que precisam aprender informática e robótica. Seu nome original é "Code Panda". O jogo permite aprender como programar o urso panda para avançar e alcançar o bambu para poder comê-lo. Nos primeiros níveis há instruções simples para avançar, mas nos níveis mais avançados há elementos mais complexos, como loops, para repetir instruções com o Panda neste jogo de programação online para crianças.


Link:

https://www.coquinhos.com/programar-o-panda/play/

BotLogic

 

https://botlogic.us/play

Spritebox - Cidade do Algoritmo - Robotizen

1. Spritebox

Spritebox é um jogo para Android que ajuda as crianças a iniciarem no mundo da programação de uma forma bastante divertida. A primeira vista ele parece um jogo de plataforma no estilo Mario Bros, mas a medida que você joga, terá que programar instruções para que o personagem avance no jogo.

spritebox android

Tutorial: https://www.youtube.com/watch?v=ouVCSl5SsRw

2. Cidade do Algoritmo

Cidade do Algoritmo (Algorithm City), é outro aplicativo gratuito para Android que lhe permite ensinar programa para crianças. O seu funcionamento é bastante semelhante ao do Lightbox e você precisa programar os movimentos do personagem para ele coletar todas as moedas disponíveis no caminho.

cidade algoritmo android

Tutorial: https://www.youtube.com/watch?v=qxR-_NyvWw0

3. Robotizen

Robotizen é mais um jogo gratuito para Android que ajuda as crianças a aprenderem programação de uma maneira mais divertida. Ele funciona da mesma forma que outros apps mencionados na lista, basta você programar os movimentos do pequeno robô para resolver diferentes tipos de problemas.


Tutorial: https://www.youtube.com/watch?v=TT0ase7ay1o

Linguagem LOGO



A linguagem LOGO foi  criada no final da década de 60. Papert, que foi um dos criadores da linguagem LOGO, trabalhou com Piaget e foi influenciado pelas teorias do construtivismo. A proposta da linguagem LOGO era colocar a criança para comandar um robô ou uma representação de robô na tela do computador. Um dos primeiros robôs controlado pela Linguagem LOGO lembrava a forma de uma tartaruga, a partir daí a tartaruga passou a ser o símbolo dessa linguagem. A partir de comandos como "parafrente 100" (pontos), e "giredireita 45" (graus), movimenta-se o robô pelo espaço. Quando o robô está representado na tela do computador, a tartaruga deixa um rastro por onde passa, criando assim um desenho. O termo LOGO é derivado do grego "logos" que significa "palavra", uma referência aos comandos da linguagem.

Por meio da linguagem LOGO, o computador passa a ser usado como uma ferramenta para a criança realizar ações: comandar o robô ou criar desenhos. Era uma forma de usar o computador muito diferente dos tutoriais e da instrução programada que eram usados na educação na época em que LOGO foi criado. Não existe uma "resposta certa" a ser dada. Ao usar a linguagem Logo, é a criança quem ensina o computador a realizar alguma coisa por meio dos comandos. O usuário interage livremente, o conhecimento é construído a partir da reflexão sobre as reações decorrentes dos comandos dados.

A linguagem Logo representou uma mudança de paradigma do uso de computador na educação. Por possibilitar muito debate e pesquisa, a linguagem Logo tem uma grande importância histórica para a nossa disciplina. Todo texto que apresenta uma revisão histórica sobre  Informática em Educação sempre menciona a linguagem Logo.


Logo foi criado em 1967. Na década de 70, começou a ser experimentado em escolas dos estados unidos. No Brasil, as pesquisas com LOGO começaram na década de 80. A linguagem foi muito bem aceita por nossos pesquisadores e professores do ensino fundamental. Na década de 90, o interesse na linguagem Logo diminuiu em função da popularização das interfaces gráficas, dos editores de imagens, dos programas multimídia. A linguagem Logo praticamente não é mais usada hoje em dia nas escolas, sendo às vezes ainda usado em alguns projetos com robótica educacional.



Logo Online:





Curso LOGO:




Turtle Academy

Turtle Blocks - Trinket - Programação em blocos

 Turtle Blocks JavaScript é projetado para ser executado em um navegador. A maior parte do desenvolvimento foi feita no Chrome, mas ele também deve funcionar no Firefox. Você pode executá-lo diretamente do index.html de um servidor mantido pela Sugar Labs , do repositório github, ou configurando um servidor local.

Depois de executá-lo no seu navegador, comece clicando nos (ou arrastando) blocos da paleta Tartaruga. Use vários blocos para criar desenhos.

Para escrever seus próprios programas, arraste blocos de suas respectivas paletas no lado esquerdo da tela. Como a tartaruga se move sob seu controle, linhas coloridas são desenhadas.

Observe que os blocos se encaixam verticalmente ou horizontalmente. Conexões verticais indicam fluxo de programa (e temporal). O código é executado de cima para baixo em uma pilha de blocos. Conexões horizontais são usadas para parâmetros e argumentos. Por exemplo, a distância para avançar, os graus para girar para a direita, numerador e denominador de uma divisão. Através da forma dos blocos, deve ficar claro se eles se conectam vertical ou horizontalmente.

Alguns blocos, chamados blocos de "grampo", possuem pequeno-fluxo-interno. Pode ser um código que é executado se uma condição é verdadeira, ou, mais comum, se o código que é executado sobre a execução de um comando.

Na maior parte, qualquer combinação de blocos será executada (embora não haja garantia de que eles produzirão desenho). Combinações não permitidas de blocos serão sinalizadas por um aviso na tela, enquanto o programa é executado.

Você pode excluir um bloco arrastando-o de volta para a área de lixeira, que aparece na parte inferior da tela.

Para maximizar o espaço na tela, o Turtle Blocks sobrepõe o programa elementos (pilhas de blocos) no topo da tela. Esses blocos podem ser ocultados a qualquer momento durante a execução do programa.


Manual do Turtle Blocks: 

https://github.com/sugarlabs/turtleblocksjs/tree/master/documentation-pt

http://people.sugarlabs.org/walter/TurtleBlocksIntroductoryManual.pdf

http://people.sugarlabs.org/walter/TurtleBlocksAdvancedBlocksManual.pdf


link: https://turtle.sugarlabs.org/


Vídeos Introdução ao Turtle Block: https://www.youtube.com/watch?v=jtQxqnHNYKQ




Trinket

Link LOGO em Blocos: https://trinket.io/blocks/da75762032

Ambiente Trinket: https://trinket.io/