Computação como Meio de Criatividade

Documentos relacionados
Computador como meio de expressão: Novas falas na contemporaneidade

Design de IHC PoliFacets

Manual de utilização

Material reorganizado e adaptado por: Suéllen Rodolfo Martinelli. Disponibilizado em:

Manual Studio Uno 2.0

(Re) Design de IHC O caso Polifacets Aula 2

Por que ter medo da tecnologia se ela pode ser uma facilitadora da. educação?

Introdução ao Pensamento Computacional. Maristela Alcântara

O QUE SÃO OS BOOTCAMPS DE FÉRIAS DA HAPPY CODE? AQUI IRÁ ENCONTRAR APRENDER BRINCAR CRIAR. 1. Quais as Datas 2. Cursos Disponíveis 3.

Crie seu próprio mundo

Professor: Laboratório de Programação com Games. Anselmo Montenegro Conteúdo: - Introdução. Instituto de Computação - UFF

É possível levar um sapo ao lago?

P R O J E T O E U R O P E U P R O M O V I D O P O R :

CEDERJ - CENTRO DE EDUCAÇÃO SUPERIOR A DISTÂNCIA DO ESTADO DO RIO DE JANEIRO


Humano-Computador (IHC)

Programação em Scratch

Manual de aventuras com scratch

O DESAFIO DAS INTELIGÊNCIAS MÚLTIPLAS. Ref

Bem-vindo ao Word. Para praticar o uso dos recursos do Word, procure o texto Experimente em vermelho ao longo do documento.

Programação para Internet. Professor Pedro Ramires 1º Informática

O que é e como funciona o VBA no excel?

Introdução: Neste jogo você deve orientar o grande peixe faminto e tentar comer todas as presas que estão nadando pelo mar.

Programação em Scratch

A pesquisa no ensino de computação. Práticas de ensino de algoritmos (Hazzan, Cap. 4) Péricles Miranda

INF 1771 Inteligência Artificial

Ambiente de programação

Guia do Instrutor Jogo da Bruxa

CRIAÇÃO DE PROGRAMAS USANDO SHAPES

Definição IHC. Disciplina ou campo de estudo interessada no design, implementação e avaliação de sistemas computacionais interativos para uso humano.

INF 1771 Inteligência Artificial

Aula Inaugural. Iniciação à Programação

Oi, Ficou curioso? Então conheça nosso universo.

Porque a gamificação faz tanto sentido. O que é a gamificação e porque o aprendizado é mais eficaz com esta nova tendência.

Desde o surgimento dos primeiros jogos eletrônicos em meados dos anos 50, uma infinidade de aparatos eletrônicos foram desenvolvidos, principalmente

Introdução a Programação

Caça às bruxas. PASSO 1: Crie uma bruxa voadora. Nível 1

5. Expressões aritméticas

YouTube - 9 truques que tem de conhecer

S C R A T C H P R O J E C T

Administração Central 2019 São Paulo

Humano-Computador (IHC)

Programação de Computadores

Introdução ao Desenvolvimento de Jogos BCT - UERN

Introdução a IHC: Apresentação da Disciplina

Estrutura e Funcionamento dos Computadores (Conceitos Básicos)

Interação Humano-Computador Introdução à Matéria e Apresentação do Curso

Introdução à lógica de programação utilizando Scratch Aula 1

Jogo da Tabuada. Introdução. Scratch

São tantas funções e possibilidades que é bem provável que você esteja perdendo mais tempo do que gostaria para fazer uma planilha bem feita.

SCC0504 Programação Orientada a Objetos Prof. Luiz Eduardo Virgilio da Silva / Estevam Arantes (Monitor) Projeto

Professora: Clarisse Sieckenius de Souza 12/09/2011

KODU. Como desenvolver o raciocínio lógico dos alunos

Material criado e organizado por: Suéllen Rodolfo Martinelli. Disponibilizado em:

APOSTILA SCRATCH CONCEITOS BÁSICOS

TEXTOS SAGRADOS. Noções introdutórias

EDUCAÇÃO TECNOLÓGICA XXI Aulas de Programação. Externato Marista de Lisboa 2018/2019

Comunicabilidade 07-09/04/2014. O que é dito? Como é dito? INF1403 Introdução a IHC.

FICHA TÉCNICA. facebook.com/manuscritoeditora

O QUE SÃO OS BOOTCAMPS DE FÉRIAS DA HAPPY CODE? AQUI IRÁ ENCONTRAR APRENDER BRINCAR CRIAR. 1. Quais as Datas 2. Cursos Disponíveis 3.

CEDERJ - CENTRO DE EDUCAÇÃO SUPERIOR A DISTÂNCIA DO ESTADO DO RIO DE JANEIRO

Exercicios para Prova Introdução a IHC: INF1403

INF Fundamentos de Computação Gráfica /1

Manual do Kiriki. Albert Astals Cid Eugene Trounev Tradução: Luiz Fernando Ranghetti

1 Introdução Contexto da pesquisa

Algoritmos e Linguagem de Programação I

ANÁLISE DO SCRATCH COMO FERRAMENTA DE AUXÍLIO APRENDIZAGEM

Universidade de São Paulo Instituto de Matemática e Estatística. Manual do Usuário amaze Unknown

O QUE SÃO OS BOOTCAMPS DE FÉRIAS DA HAPPY CODE?

Introdução. A quem se destina este livro. Sobre o que este livro é (e não é)

Como usar o Agendor para criar um processo de vendas e vender mais

1. Crie um novo projeto Scratch. Apague o gato clicando com o botão direito e em apagar.

Transformando seu BBC micro: bit em jogo. Podemos jogar com o BBC micro:bit?

Marcelo Henrique dos Santos

A INFLUÊNCIA DOS JOGOS ELETRÔNICOS PARA O PRENDIZADO DA LINGUA INGLESA

Olá pessoal, Hoje vamos entender os conceitos sobre linguagem de programação. Definição, tipos de linguagens e as linguagens mais utilizadas

É uma sequência lógica de ações, um passo a passo, para atingir determinado objetivo.

OmniPC 4.2 Guia do usuário

Manual do KBreakout. Fela Winkelmolen Stephanie Whiting Tradução: José Pires

Roteiro da oficina. 1. Abrir o Scratch Offline Clicar no ícone Scratch 2 na sua área de trabalho. 2. Mudar o idioma para Português.

Universidade Federal de Roraima Departamento de Matemática Introdução à Ciência da Computação

CRIAÇÃO RÁPIDA DE PROGRAMAS (SHOWS)

Veja alguns exemplos onde você pode utilizar a análise SWOT de forma direta:

A Ecologia e os fenômenos. O que temos neste universo natural?

1.5 PROGRAMAÇÃO DE JOGOS EM AMBIENTE DE REA LIDADE AUMENTADA AMBIENTES INTEGRADOS DE DESENVOLVIMENTO DE JOGOS 19

A Utilização de Jogos Educativos no Âmbito Educacional

Aula 4 Introdução ao C

Ambiente Virtual de Aprendizagem (AVA)

MC-102 Aula 01. Instituto de Computação Unicamp

Introdução e objectivo do jogo. Material

Introdução à Programação


Comunicação entre PC e Arduino

Base de dados: Encomendas

Semáforo Autor: Alan Parr. Avanço Autor: Dan Troyka, Material Um tabuleiro quadrado 7 por peças brancas e 14 peças negras.

Introdução ao Phun...

Degenerescência. Marina Andretta ICMC-USP. 19 de outubro de 2016

Curso de Extensão. Educação Integral e em Tempo Integral Proposta de Trabalho com Blogs. Profª Drª Roberta Pasqualli - IFSC

MODELAGEM MATEMÁTICA E PENSAMENTO COMPUTACIONAL NO 5º ANO DO ENSINO FUNDAMENTAL

Transcrição:

1 Computação como Meio de Criatividade Clarisse Sieckenius de Souza SERG Departamento de Informática, PUC Rio Rua Marquês de São Vicente 225 Rio de Janeiro, RJ Brasil clarisse@inf.puc rio.br / http://www.inf.puc rio.br/~clarisse A Computação, assim como a Linguagem, é uma ferramenta fantástica para construirmos e expressarmos mundos imaginários coisas que não existem na realidade (ainda), mas que existem em nossa imaginação e podem servir para proporcionar momentos de prazer, diversão, aprendizado e tudo o mais o que a nossa criatividade pode trazer para a experiência das outras pessoas. Assim como as histórias que lemos nos livros ou ouvimos de um contador de histórias, um programa de computador pode ser uma narrativa, com personagens, enredo, e ter até uma moral. O interessante é que, ao contrário da grande maioria das histórias contadas na linguagem escrita ou falada, os programas de computador em geral seguem caminhos muito diferentes a cada vez que são contados. É que seus programadores (autores da história que os programas contam) os preparam para interagir com os usuários (o equivalente dos leitores ou ouvintes ). Você talvez esteja pensando em alguns programas de TV do tipo Você Decide, em que o autor da história prepara diferentes finais para o enredo da história e são os telespectadores que, ao se comunicarem com a emissora, decidem através de voto qual dos finais possíveis vai ao ar. Ou pode ser também que você esteja pensando na Web, e em como dependendo dos links que você segue ao abrir a página inicial de um sítio, você acaba lendo uma narrativa ou descrição diferente da que você teria lido se tivesse escolhido outros links. Você está certo nos dois casos: estes dois mecanismos têm mesmo a ver com o que acontece na Computação. Só que há muito mais, e dois bons exemplos do que há são os jogos (games) e as simulações. Os jogos são quase por definição o espaço da fantasia e criatividade não há limites para que neles apareçam criaturas irreais ou criaturas reais com poderes irreais. Já as simulações são em geral um espaço de raciocínio, elas ajudam a explorar respostas para perguntas do tipo: E se a realidade fosse diferente do que percebo ou do que dizem que é?. Na maioria das vezes, as simulações servem para explorar as leis, conhecidas ou desconhecidas, que governam o mundo à nossa volta, revelando-nos o que é possível ou impossível, provável ou improvável, e assim por diante. Para podermos tirar partido da Computação como meio de criatividade, precisamos saber programar. E programar começa por sabermos dar forma às criaturas, objetos ou eventos que temos em mente e em seguida definir os comportamentos e contextos que vão governar o

2 desenrolar da narrativa (ou programa), não esquecendo de definir como o usuário pode interferir neste processo, através do mouse, joystick, teclado ou outro dispositivo de controle. Para exemplificar como isto acontece, vamos pensar em uma aplicação que serve tanto para criar jogos, quanto simulações, o AgentSheets (HUhttp://www.agentsheets.comUH). Eis uma narrativa imaginária que podemos criar com esta aplicação: Figura 1: A caixa escura com a população restante de "X", o X do mal e a armadilha Uma excursão interplanetária trouxe do espaço seres muito estranhos, batizados de X pelos cientistas. O nome foi dado por causa da sua aparência, que se vê na Figura 1. Eles foram trazidos dentro de uma caixa escura, onde se movimentam sem parar, por vezes colidindo uns com os outros. É possível observá-los por meio de uma microcâmera inserida na caixa junto com um fio de fibra ótica. O que se observou, ao longo do tempo, é que um dos X que passou a ser chamado de o X do mal - está causando um tremendo estrago! Além de ter uma forma diferente dos demais, ao tocar em qualquer outro X ele injeta alguma substância letal no outro que, a partir daí, encolhe e se desintegra rapidamente. Na tentativa de preservar os X que ainda existem, os cientistas descobriram como fazer uma armadilha magnética que tem 75% de chance de aprisionar o X do mal e assim impedi-lo de dizimar a população que resta. A armadilha foi colocada na caixa através de um pequeno orifício e agora

3 você tem de movimentá-la usando as setas,, e do teclado de um computador. Você vai tentar aprisionar o X do mal o quanto antes para salvar o maior número possível dos 15 sobreviventes que agora restam. Como dá para ver, a narrativa sobre o destino da população de seres interplanetários pode seguir muitos rumos diferentes. Não dá para saber quando/se o X do mal vai exterminar outro X, e tampouco quando/se o personagem que comanda a armadilha ( você, como jogador) vai conseguir aprisioná-lo antes de ele eliminar toda a população de X. Tudo depende da interação que acontecer enquanto a narrativa se desenrola. Isto, na realidade, é diferente e mais complexo do que os casos exemplificados com os programas de TV do tipo Você Decide ou com a navegação na Web que depende dos links que você escolher seguir. Para sentir como funciona, 1 você pode jogá-lo na HUScalable Game Design ArcadeUH F A chave deste poder da computação é a representação computacional da forma, do comportamento, das interações e dos contextos de comportamento e interação que serão associados a cada elemento da narrativa. As representações deste jogo, chamado X Battle Demo ( Demonstração da Batalha dos X ), são construídas com uma linguagem visual de programação de agentes, a Visual AgenTalk. Com esta linguagem criamos agentes, lhes damos nomes e formas, como por exemplo aos agentes chamados de X, com duas formas: a normal ( ) e a encolhida ( ), que assume depois de ser injetado pelo X do Mal, antes de se desintegrar. Depois de lhes darmos nome e forma, definimos as regras de comportamento e as condições (contextos) em que são aplicadas. Veja na Figura 2 o exemplo de duas regras que fazem parte do comportamento do agente armadilha : A regra de cima diz que se a armadilha vê o X do Mal ao olhar para cima, e isto ocorre com uma probabilidade de 75%, então ela (a armadilha) se move para cima (onde está o X do Mal que ela está vendo) e transforma a imagem do agente (X do Mal) que está neste ponto em (o X do Mal aprisionado). A regra de baixo diz que se armadilha vê um espaço vazio olhar para a direita e o usuário pressiona a tecla ( Key (124) ), então ela se move para a direita. ao Figura 2: Representações computacionais criadas pela linguagem Visual AgenTalk do AgentSheets 3.0. 1 http://scalablegamedesign.cs.colorado.edu/sgda/open/siecken/asimpledemoforfirstclassintroducingcomputationalthinking/upload/applet/index.html

4 Uma parte importante do funcionamento dos agentes, guiados pelas regras e condições que definem o seu comportamento, é a ordem em que as ações são executadas. No exemplo da Figura 2, se a ordem das duas regras fosse invertida (primeiro aplicando-se a de baixo e depois a de cima), numa situação como a apresentada na Figura 3, a armadilha deixaria de tentar aprisionar o X do Mal, pois andaria para a direita antes de tentar se lançar sobre o X do Mal que está acima dela. Portanto, a ordem em que as regras aparecem na Figura 2 garante que o agente sempre vai tentar aprisionar o X do Mal antes de continuar se movimentando no espaço. Figura 3: A armadilha está vendo o X do Mal ao olhar para cima e vendo um espaço vazio ao olhar para a direita : dependendo da ordem das regras, vai tentar aprisionar o vilão ou deixá lo escapar e andar para a direita. Se o aprisionar, sua aparência muda para. Esta especificação da ordem de execução das ações é o coração dos conceitos de algoritmo e procedimento, sobre os quais se apoia toda a Ciência da Computação. Outra questão bastante importante é a liberdade que o programador tem de escolher como quer representar aquilo que tem na mente. Por exemplo, no programa exemplificado, e que pode ser usado e inspecionado na Internet no endereço da HUScalable Game Design ArcadeUH, o agente X tem duas aparências: a normal ( ) e a encolhida ( ). Assim, depois de um encontro com o X do Mal, apesar de mudar de aparência, ele continua sendo o mesmo agente X. Porém, o programa poderia dar ao usuário exatamente a mesma sensação de jogo se o programador tivesse criado regras diferentes, dizendo que: Quando o agente X em sua única forma conhecida ( ) encontra com um X do Mal, ele desaparece; no lugar dele surge um novo agente, chamado X_doente, cuja única aparência é ( ); e X_doente resiste apenas alguns instantes antes de desaparecer. É claro que esta segunda regra é um tanto confusa, já que o personagem atacado ( ), ao desaparecer, causa o surgimento de um novo personagem ( ) de vida curtíssima que, além de tudo, tem uma aparência muito semelhante à do X desaparecido. Mas apesar de confusa, ela funciona ; o jogador, ao controlar o jogo, não nota nenhuma diferença entre o efeito desta regra confusa e o da sua versão mais lógica, anterior. Esta possibilidade de conseguir o mesmo efeito a partir de regras definidas de maneiras bem diferentes também é muito importante para a Ciência da Computação. Um mesmo objetivo pode ser atingido por programas muito distintos uns dos outros. Alguns serão mais claros e lógicos ao serem examinados por outros programadores ou aprendizes de Computação, enquanto outros serão mais confusos e difíceis de entender. Muito

5 frequentemente, junto com a clareza e a lógica vem a rapidez e eficiência de execução, e a redução da possibilidade de erros subsequentes de programação, mas este já é um assunto mais especializado para você explorar no futuro, se quiser. Para finalizar, é interessante dizer que o jogo que demonstra a Batalha dos X pode ser interpretado, por analogia, como uma simulação. Se por exemplo decidirmos que os agentes X são glóbulos vermelhos de nosso sangue, que o X do Mal é um micro-organismo que os destrói e que a armadilha é um medicamento que pode ser dosado (aumentando as chances de aprisionar o X do Mal) e aplicado na área do corpo onde está o mal, o jogo se transforma em uma simulação de um processo biológico. Na verdade, a analogia se estende a muitos campos em que temos, de forma literal ou figurada, uma luta entre organismos vivos e seus predadores, e tentamos intervir para aprisionar os exterminadores e salvar a população. Usando representações computacionais e regras capazes de controlá-las e transformá-las temos a possibilidade de criar narrativas, desde as mais simples às mais sofisticadas, e assim expressarmos o que temos em mente, para um sem-número de finalidades. Podemos divertir ou pesquisar, ilustrar ou ensinar, perguntar ou responder, provocar! A Computação é uma linguagem, que amplia muito a nossa capacidade de imaginar, criar e comunicar. Existem na Internet muitas aplicações que podem ser usadas para propósitos semelhantes aos que ilustramos com o AgentSheets. A maioria delas é gratuita e usada por muitas pessoas no mundo inteiro. O Scratch (HUhttp://scratch.mit.edu/UH), desenvolvido por pesquisadores do Massachussets Institute of Technology (MIT), é um dos exemplos mais populares da atualidade. Mas, além dele há também o NetLogo (HUhttp://ccl.northwestern.edu/netlogo/UH) e o Alice (HUhttp://www.alice.org/UH). Em cada uma destas aplicações a linguagem de programação é diferente, criando diferentes possibilidades e desafios de representação computacional para expressarmos através de programas a nossa criatividade. Um jogo coletivo muito popular na rede, o World of Warcraft (também conhecido como WoW), permite que os jogadores programem poderes para seus personagens (isto é: dêem asas à sua imaginação e estendam o jogo). Uma das linguagens usadas para isto é Lua (HUhttp://www.wowwiki.com/LuaUH), desenvolvida PUC-Rio. Para saber mais sobre Lua, visite HUhttp://www.lua.org/UH. O SERG Semiotic Engineering Research Group realiza pesquisa sobre representações computacionais. Um de seus projetos, o Scalable Game Design Brasil, é desenvolvido em parceria com a AgentSheets Incorporated, o ADDLabs (Laboratório de Documentação Ativa e Design Inteligente) da UFF e L3D (Life long Learning and Design Center) da Universidade do Colorado em Boulder. Para saber mais visite o SERG em HUhttp://www.inf.puc rio.br/serguh.