APRENDENDO LÓGICA DE PROGRAMAÇÃO VIA WEB



Documentos relacionados
Utilizando a ferramenta de criação de aulas

Curso de atualização Educação Integral e Integrada. Tutorial Moodle. Belo Horizonte, 2013.

Tema 3 Ferramentas e Funcionalidades do Moodle

Dadas a base e a altura de um triangulo, determinar sua área.

Especificação do 3º Trabalho

ROTEIRO PARA TREINAMENTO DO SAGRES DIÁRIO Guia do Docente

Atualização Mandatória de Versão do Amadeus Pro Web (2.0P431BR) 25 de junho de 2007 Gerência de Produtos & Operações Amadeus Brasil

AMBIENTE VIRTUAL DE APOIO AO ALUNO Pesquisa em andamento: resultados preliminares

UNIVERSIDADE CATÓLICA PORTUGUESA

VisTrails. Fernando Seabra Chirigati Aluno de Engenharia de Computação e Informação COPPE/UFRJ fernando_seabra@cos.ufrj.br

APOSTILA DE EXEMPLO. (Esta é só uma reprodução parcial do conteúdo)

INT.COM INTERFACE COMERCIAL HONDA 2W

02 - Usando o SiteMaster - Informações importantes

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0

Integração com o Ambiente Virtual de Aprendizagem Moodle

Desenvolvendo Websites com PHP

SOFTWARE LIVRE JCLIC: EXPLORANDO CONCEITOS MATEMÁTICOS ATRAVÉS DA CRIAÇÃO DE ATIVIDADES LÚDICAS

Como Criar uma Aula? Na página inicial do Portal do Professor, acesse ESPAÇO DA AULA: Ao entrar no ESPAÇO DA AULA, clique no ícone Criar Aula :

Apresentação da disciplina Introdução a Programação

PROPOSTA DE UM MODELO DE SISTEMA HIPERMÍDIA PARA APRESENTAÇÃO DO CURSO DE CIÊNCIA DA COMPUTAÇÃO

Ambiente Virtual de Aprendizagem (AVA) Guia de Estudos Metodologias Jovem de Futuro

Portal Sindical. Manual Operacional Empresas/Escritórios

TÍTULO: DESENVOLVIMENTO DE APLICATIVO PARA AVALIAÇÃO DOS ESFORÇOS EM LAJES

23/09/2011. Tecnologias da Educação. Tecnologias e mídias. Diferença entre tecnologia e mídia. Diferença entre tecnologia e mídia.

Criação de Páginas Web - MS Word 2000

Introdução ao Aplicativo de Programação LEGO MINDSTORMS Education EV3

Objetivos. Página - 2

Organizar a estrutura do site

Manual de Utilização Moodle

Universidade Anhanguera Uniderp Centro de Educação a Distância

O PaperPort 12 Special Edition (SE) possui uma grande variedade de novos e valiosos recursos que ajudam a gerenciar seus documentos.

5 Estudo de caso: utilizando o sistema para requisição de material

Applets no Geogebra. Acesse os endereços dados a seguir e conheça exemplos de Applets.

Manual do Sistema de Cadastro de Cultivares Locais, Tradicionais e Crioulas

FCT Faculdade de Ciências e Tecnologia Serviço Técnico de Informática STI SGCD Sistema Gerenciador de Conteúdos Dinâmicos

1. Apresentação Objetivos

MANUAL DO USUÁRIO DO SERVIÇO DE AIDF NO PORTAL

1. Introdução pág.3 2. Apresentação do sistema Joomla! pág.4 3. Acessando a administração do site pág.4 4. Artigos 4.1. Criando um Artigo 4.2.

Histórico de Revisão Data Versão Descrição Autor

MANUAL DE INSTRUÇÕES DE USO. estf Carga Processo

Análise de Dados do Financeiro

Como Gerar documento em PDF com várias Imagens

1 Sumário O Easy Chat Conceitos Perfil Categoria Instalação O Aplicativo HTML...

Desenvolvendo para WEB

Faturamento Eletrônico - CASSEMS

REFORÇO DE PROGRAMAÇÃO ESTRUTURADA EM LINGUAGEM C PARA GRADUAÇÃO EM ENGENHARIA ELÉTRICA

1 Introdução. Sistemas de Autoria

Aplicação do Software GeoGebra no ensino de Funções

Tutorial Gerar arquivo PDF. Gerando um documento pdf com várias imagens 1- Inserir imagem no Word

Plano de Ensino de Disciplina Ciência da Computação 2011

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO - TIC 10º C. Planificação de. Curso Profissional de Técnico de Secretariado

DEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS

Personalizações do mysuite

MANUAL C R M ÍNDICE. Sobre o módulo de CRM Definindo a Campanha... 3

Microsoft Office PowerPoint 2007

PRINCÍPIOS DE INFORMÁTICA PRÁTICA OBJETIVO 2. BASE TEÓRICA 3. SEQÜÊNCIA DA AULA. 3.1 Iniciando o PowerPoint

Poder Judiciário Tribunal de Justiça do Estado de Roraima. AGIS Gerenciamento Eletrônico de Documentos

SST - PPP x. abril de Versão: 4.0

ANDRÉ APARECIDO DA SILVA APOSTILA BÁSICA SOBRE O POWERPOINT 2007

ANIMAÇÕES WEB AULA 2. conhecendo a interface do Adobe Flash. professor Luciano Roberto Rocha.

MANUAL DE UTILIZAÇÃO

DIÁRIO DE CLASSE. Atenciosamente,

Novidades da Versão do Sistema OnixNet / TrucksNet

Projeto Disciplinar de Infra-Estrutura de Software SISPA FACULDADE SENAC

MANUAL DO USUÁRIO SORE Sistema Online de Reservas de Equipamento. Toledo PR. Versão Atualização 26/01/2009 Depto de TI - FASUL Página 1

Como funciona? SUMÁRIO

Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi

CENTRO UNIVERSITÁRIO CATÓLICA DE SANTA CATARINA PRÓ-REITORIA ACADÊMICA NÚCLEO DE EDUCAÇÃO EM AMBIENTES DIGITAIS NEAD

VERSÃO PARA INTERNET. Tutorial SIGA BRASIL CNT

Faculdades Santa Cruz - Inove. Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira.

Linguagem e Técnicas de Programação I Programação estruturada e fundamentos da linguagem C

DIMENSIONANDO PROJETOS DE WEB-ENABLING. Uma aplicação da Análise de Pontos de Função. Dimensionando projetos de Web- Enabling

Tecnologias Web. Lista de Exercícios AV02. Luiz Leão

Manual do Visualizador NF e KEY BEST

Manual Do Usuário Processo Aditivo de Prazo

Aplicação Prática de Lua para Web

CURSO DE FORMAÇÃO. webqda - SOFTWARE DE APOIO À ANÁLISE QUALITATIVA. Entidade de formação credenciada e homologada

Manual do Utilizador

BRAlarmExpert. Software para Gerenciamento de Alarmes. BENEFÍCIOS obtidos com a utilização do BRAlarmExpert:

CURSO DE EXTENSÃO ON-LINE EM. avançado. Edital de seleção

1.6. Tratamento de Exceções

Criação de formulários no Sphinx

Módulo e-rede OSCommerce v1.0. Manual de. Instalação do Módulo. estamos todos ligados

Glossários em Moodle (1.6.5+)

Grupo Alumni. CMTrain - Associação

Manual Programa SOSView 4.0

Orientação a Objetos

TOTVS Gestão Hospitalar Manual Ilustrado - Unidades de Diagnóstico março de Versão: 2.0

SWAT - Sistema Web de Avaliação de Trabalhos

Apresentação da disciplina e proposta didática Prof. MSc Hugo Vieira L. Souza

Engenharia de Domínio baseada na Reengenharia de Sistemas Legados

DESENVOLVIMENTO DE SOFTWARE. Introdução ao Visual Studio VB.Net. Programação Estruturada. Prof. Celso Candido ADS / REDES / ENGENHARIA

PLATAFORMA SISUAB TUTORIAL PARA COMPARTILHAMENTO DE MATERIAL DIDÁTICO

Introdução. Servidor de Tempo (SNTP) com opção de horário de verão automático; 1 Cadastro do novo modelo de equipamento Urano Topmax SS

Manual de Administração

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

Anexo III Funcionamento detalhado do Sistema Montador de Autoria

Transcrição:

APRENDENDO LÓGICA DE PROGRAMAÇÃO VIA WEB Romero Tori Universidade de São Paulo Escola Politécnica INTERLAB Laboratório de Tecnologias Interativas-USP Instituto Sumaré de Educação Superior rometori@usp.br Cilene Aparecida Mainente imes-centro Universitário Municipal de São Caetano do Sul- São Paulo INTERLAB Laboratório de Tecnologias Interativas-USP cilenemainente@imes.com.br O ensino de lógica de programação é de extrema importância para todas as habilitações da engenharia, sendo essencial nos cursos de engenharia de computação. Apesar de possuírem conteúdo extremamente simples, as disciplinas que cobrem tal assunto, costumam ser enfrentadas com grandes dificuldades pelos aprendizes, e muitas vezes não são capazes de evitar graves deficiências normalmente apresentadas pelos alunos durante e após o curso. O problema nesse tipo de disciplina não está propriamente no conteúdo a ser passado mas nas habilidades a serem desenvolvidas. O raciocínio lógico, a visualização de algoritmos, entre outras, são habilidades que precisam do envolvimento do aluno em atividades práticas bem conduzidas, nas quais se possa aprender fazendo. Uma maneira de aprimorar o aprendizado de lógica de programação é através da utilização de recursos de visualização e animação de algoritmos. Este trabalho apresenta uma proposta de utilização de uma ferramenta para animação de algoritmos escritos em JAVA, em disciplinas de lógica de programação para engenharia. A ferramenta, desenvolvida na Universidade de Helsinki na Finlândia, se baseia no uso da WEB, permitindo o desenvolvimento de atividades práticas em laboratório, via intranet ou Internet. 1. Introdução Em cursos de Ciência da Computação, o projeto e algoritmos é disciplina fundamental. Segundo [Mei97], as inovações na tecnologia de informação não são possíveis sem ancorálas em algoritmos. Enquanto isto, muitos programadores ainda fazem de um editor de textos sua ferramenta de trabalho, visualizando a execução do código fonte através da chamada a procedimentos de impressão inseridos ao longo do código. A busca pelo uso adequado da tecnologia para minimizar as deficiências e dificuldades encontradas no ensino de conceitos abstratos de programação, pretende colaborar para que o aprendiz desenvolva habilidades no manuseio de complexos algoritmos dentro do princípio de aprender fazendo. A natureza hipermídia da Internet permite criar materiais altamente interativos, com ligações a diferentes conteúdos espalhados pelo mundo. Além disto, tem-se facilidades de introdução de materiais hipermídia para ensino e de intercâmbio de informações entre aprendizes em locais distantes entre si. Ao aproximar o projeto e testes de algoritmos de uma experiência multimídia, através da utilização de sistemas de visualização e animação, estamos fornecendo condições para que o programador e o pesquisador de Ciência da Computação sinta-se livre para explorar tarefas mais interessantes e manusear problemas cada vez mais complexos [Sta98].

2. Ferramentas de visualização e animação Segundo Brown[Bro94], a área de visualização de algoritmos possui estreita relação com as seguintes áreas da Ciência da Computação: animação, projeto de interface computação gráfica, tecnologia e engenharia de software. Myers[Mye90] classifica os sistemas de visualização segundo o aspecto do programa que está sendo ilustrado (código, dados, algoritmo) e o tipo de imagem exibida (dinâmica, estática). Os sistemas dinâmicos de visualização ilustram o estado atual das variáveis do programa através de figuras gráficas, geradas à medida em que o programa está sendo executado. Isto já não é possível nos sistemas estáticos. Finalmente, os sistemas de visualização de algoritmos utilizam gráficos que mostram de forma abstrata como o programa opera. A diferença entre este tipo de visualização e a visualização de dados e códigos é que aqui pode não haver uma correspondência direta entre as figuras e os dados do programa, e as mudanças nas figuras podem não corresponder a partes específicas do código do programa. Os sistemas de visualização dinâmica são referidos como sistemas de animação de algoritmos, por mostrarem a evolução na execução de um algoritmo. O sistema Jeliot [Haa97] é um exemplo de sistema de animação de algoritmo., fornecendo a visualização de código, das estruturas de dados e do algoritmo. Esse foi o sistema escolhido pelos autores para a pesquisa de uso da WEB no ensino/aprendizagem de lógica de programação. O sistema Jeliot oferece um ambiente de visualização completo, no qual o usuário pode escrever seu programa Java que será interpretado e executado pelo Jeliot na Web. Além disso, se o programa utiliza os tipos de dados fornecidos pelo Jeliot, a animação será automaticamente gerada. Neste caso, o usuário não precisa desviar sua atenção para a inserção de anotações no algoritmo para a geração da animação. 3. O sistema Jeliot O sistema Jeliot foi desenvolvido na Universidade de Helsinki na Finlândia e utiliza a linguagem Java na criação de programas a serem animados. No Jeliot não é necessário escrever linhas adicionais de código para gerar a animação. Todas as rotinas necessárias para a criação da animação ficam encapsuladas nas operações dos tipos de dados fornecidos pelo Jeliot. Na versão atual é possível animar tipos primitivos, matrizes, pilhas e filas. A apresentação do sistema é baseada na metáfora teatral, introduzida por Negroponte [Neg91], onde o programa a ser animado é o script da peça e os atores são as entidades gráficas que representam as variáveis do programa. A execução do programa pode ser vista em diversas janelas ou palcos simultaneamente. O diretor da peça ou o usuário, controla a aparência de cada entidade gráfica e configuração dos palcos.

A figura 1 ilustra um exemplo de animação no Jeliot, no momento da comparação entre o elemento de índice 3 do vetor(94) e a variável big(56). A palavra yes entre os valores indica que a condição é verdadeira. A linha de código que está sendo animada (if table[i] > big) permanece em destaque na área onde está o programa. Figura 1 Animando algoritmos com o Jeliot A variável i está representa pela caixa arredondada no canto direito, a variável big, por um quadrado no lado esquerdo e o vetor table, por uma barra horizontal. A figura 2 mostra a estrutura do modelo cliente servidor do Jeliot. Através da janela principal (1), o algoritmo é lido e enviado para a pré-compilação, consistindo de parsing(2) e geração de código(3). As fases (4)e(5) incluem rotinas de animação ao código fonte e extraem as variáveis que podem ser animadas. Essas variáveis são enviadas para a janela principal, podendo ter sua aparência configurada e ser incluídas em palcos. O servidor passa o código gerado para o compilador Java(4) que gera um applet de animação que, juntamente com o Animador (6), mostra a animação.

1. JANELA PRINCIPAL Algoritmo Messagem de Erro S E Algoritmo Parse Tree 2. PARSER Lista de variáveis URL do applet de animação Lista de variáveis / Mensagem de erro R V E R Parse Tree Lista de variáveiscódigo gerado Código gerado 3. GERADOR DE CÓDIGO PRECOMPILER 5. ANIMADOR URL do applet de animação/mensagens de erro do Arquivo Figura 2 - Estrutura do Jeliot [Haa97] compilador Java de classe 4. COMPILADOR JAVA CLIENTE INTERNET SERVIDOR 4. Aprendizagem de Lógica de Programação via WEB Para tornar o ambiente Jeliot mais completo para o aprendiz, novos tipos de dados animados precisam ser criados, como por exemplo, grafos. Por outro lado, é muito importante que o aprendiz encontre no ambiente informações sobre os exemplos fornecidos. Mais do que estudar uma implementação de um algoritmo, o aprendiz precisa conhecer a sua aplicabilidade, seu o princípio de funcionamento etc. O ambiente de animação pode fornecer ligações para páginas Web contendo explicações completas dos algoritmos clássicos. Cada um dos materiais disponibilizados na Web terá o mesmo conteúdo dos similares impressos, porém em sua forma serão mais interativos e conterão ligações para outros materiais disponíveis na Web. Em parceria com a Universidade de Helsinki, pretende-se criar novos tipos animados para o Jeliot, além do acréscimo de novas características que visem facilitar o aprendizado e incentivar o uso do sistema. Apesar de se destinar ao aprendizado a distância, o Jeliot pode ser utilizado como ferramenta de apoio em aulas presenciais de laboratório suportado por intranet. Pretende-se integrar o ambiente Jeliot às práticas tradicionais, na forma de atividades complementares à disciplina de ensino de lógica de programação em cursos de Engenharia da Computação ou Ciência da Computação. Através de trabalhos, atividades e avaliações ao longo do curso, será medido o impacto do uso dos ambientes de animação Web no aprendizado de lógica. A partir dos resultados práticos assim obtidos pretende-se trabalhar em duas frentes:

a) elaboração de uma nova proposta pedagógica para o ensino de lógica de programação, baseada no uso de animações de algoritmos; b) aprimoramento das ferramentas hoje disponíveis para animação de algoritmos. 5. Conclusão Foi apresentado o ambiente de animação de algoritmos Jeliot desenvolvido na Universidade de Helsinki na Finlândia. Tal ambiente permite desenvolver e animar programas escritos em Java diretamente na Web. O uso de tal sistema por aprendizes de lógica de programação em complemento aos métodos de ensino tradicionais, pretende contribuir para o aprendizado dentro do princípio de aprender fazendo. O próximo passo será efetuar estudos da influência da utilização do sistema Jeliot com alunos de cursos de Ciência da Computação e Engenharia de Computação e elaborar novas propostas pedagógicas para o ensino de lógica de programação, além de se propor e desenvolver aprimoramentos nas ferramentas para animação de algoritmos hoje existentes. Bibliografia [Bro94] BROWN, M.H.; STASKO,J; DOMINGUES, J; PRICE, B. (1994) Software visualization. Proceedings of the CHI 94 Conference on Human Factors in Computing Systems, 463 [Haa97] HAAJANEN, J.et al.(1997) IEEE. Animation of user algorithms on the Web. Proc. VL'97, IEEE Symposium on Visual Languages, 356-363.EUA [Mei97] MEISALO, V. et al.(1997) Teaching algorithms with animation: a case study using Eliot. In Proc.LeTTET'96, Learning Technology and Telematics in Education and Training, 79-84. Joensuun Yliopistopaino [Mye90] MYERS, B.A.(1990) Journal of Visual Languages and Computing. Taxonomies of visual programming and program visualization(1), 97-123 [Neg91] NEGROPONTE, N.(1991) MIT. Beyond the desktop metaphor. In Research Directions in Computer Science: An MIT Perspective(A.Myers et al.) MIT Press, Cambridge, MA, 183-190 [Sta98] STASKO, J.T. et al. (1998) MIT Press. Software Visualization