WIE 2003 – Workshop de Informática na Escola - Campinas Algaroba: um projeto para integrar pesquisa e ensino André Santanchè1, Maria Carolina Santos de Souza1, Christianne Orrico Dalforno2 1 Instituto de Informática – Universidade Salvador – UNIFACS Rua Dr. José Peroba, nº 251, Stiep – 41770-235 – Salvador – BA – Brasil 2 Departamento de Informática – Universidade Católica do Salvador – UCSal Avenida Cardeal da Silva, nº 205 – Federação – 40220-140 – Salvador – BA – Brasil {santanche,mcarol}@unifacs.br, [email protected] Abstract. This work presents an attempt to provide an infrastructure which will automatically support production of educational software. The project “Algaroba” is associated to “Casa Mágica”, an environment used in supporting the development of educational contents based on software components. The principal characteristic of Algaroba is the integration of research and teaching through adoption of research products as objects of study. Resumo. Este trabalho propõe uma iniciativa para definir uma infra-estrutura que forneça suporte para a produção de software educacional. A proposta chamada “Algaroba” está associada ao “Casa Mágica”, um ambiente para suporte ao desenvolvimento de conteúdo educacional baseado em componentes de software. A principal característica do Algaroba é a integração do ensino e da pesquisa através da adoção de produtos de pesquisa como objetos de estudo. 1. Introdução Na medida em que a educação interage de forma crescente com as novas tecnologias, aumenta também uma relação de dependência entre os caminhos pelos quais estas e aquela se desenvolvem. Ao mesmo tempo em que se concebem novas metodologias de ensino-aprendizagem, afinadas com o atual mundo tecnológico, é também importante a atuação no processo de construção das novas tecnologias em si. O software assume um papel central nesse contexto. A construção de novas concepções de software educacional e o aperfeiçoamento daquelas já estabelecidas têm sido alvo de uma quantidade significativa de pesquisas realizadas no Brasil, resultando em muitos produtos de software cujo acabamento varia de protótipos a produtos acabados e estáveis. Em contrapartida, grande parte desses produtos carece de uma infra-estrutura que garanta sua manutenção e evolução, tornando-se, assim, defasados e, com freqüência, incompatíveis com novas plataformas de software. Tal fenômeno se deve em parte ao modo como as instituições de pesquisa organizam seus projetos, em que o software implementado cumpre a função de demonstrar-se concretamente uma inovação, colocando aspectos ligados à sua difusão, uso e atualização em plano secundário. Este trabalho apresenta uma proposta com o objetivo de buscar caminhos para a criação de uma infra-estrutura que possibilite a evolução e atualização de um sistema de software educacional, dentro de uma instituição de ensino e pesquisa, através da inserção de tal sistema como objeto de estudo coletivo. Apesar de partirmos de uma experiência pautada sobre um sistema específico – o sistema Casa Mágica – realizou-se uma análise que destaca princípios aplicáveis a outros sistemas de software educacional e que, por este motivo, pode contribuir para o desenvolvimento de outros projetos. 1.1. O sistema Casa Mágica Em 1994, iniciou-se o projeto de desenvolvimento de um ambiente para a construção, edição, execução e compartilhamento de aplicações educacionais, denominado Casa Mágica [Santanchè 1999]. Tal ambiente passou, durante anos por vários testes e aplicações práticas, sofreu grandes modificações, conforme as observações em campo, sugestões de usuários e de outros pesquisadores. Em 1997, iniciou-se a construção de uma nova versão do sistema, a partir da estaca zero, devida à forte necessidade de uma nova concepção para o mesmo, e ao mesmo tempo a mudança para uma nova linguagem de programação, independente de plataforma e sistema operacional. O sistema Casa Mágica vem evoluindo durante estes anos e dando origem a diversos projetos a ele associados, dentre os quais destacamos: o uso de componentes de software que simulam máquinas para o ensino de matemática [Santanchè 2002], o uso de metáforas no ambiente do sistema para o desenvolvimento de atividades de ensinoaprendizagem, a construção da infra-estrutura Anima [Santanchè 2000], que permite a integração entre aplicações educacionais e, finalmente, o projeto mais recente – do qual trataremos em detalhes neste artigo – que é a introdução do software Casa Mágica como tema de estudo em disciplinas na área de computação. Atualmente o software se configura como um sistema de grande porte. Nele estão reunidas diversas tecnologias agregadas ao sistema durante a sua evolução; entre elas está a linguagem Java e tecnologias emergentes, tais como: XML [Bray 2000], RDF [Lassila 1999], XSL [Adler 2001], além de ferramentas especializadas para a construção de partes do sistema, como a montagem do analisador léxico e analisador sintático – dado que o sistema possui uma linguagem de programação própria. Dentro do universo Java o sistema faz uso de diversos pacotes adicionais para tratamento de gráficos, suporte a multimídia, etc. Este breve histórico tem a função de caracterizar a complexidade que tem envolvido, de forma crescente, o sistema Casa Mágica. Esta complexidade está associada ao porte do sistema, como também, à combinação de múltiplas tecnologias, que lhe conferem, por um lado diversas vantagens em termos de portabilidade, facilidade de integração, suporte para Web, etc, mas, por outro exigem o domínio de tais tecnologias daqueles envolvidos em seu processo de construção e modificação. O sistema é fruto da colaboração de diversas pessoas que se empenharam em maior ou menor grau e de maneiras diferentes. A experiência demonstrou que, especialmente no que diz respeito ao desenvolvimento do sistema, para que um novo componente da equipe possa dar uma contribuição significativa, precisará investir grande parcela de tempo na aprendizagem das tecnologias envolvidas no Casa Mágica, além de um tempo adicional para se situar dentro da estrutura do sistema. Isso conduz a uma reflexão, quanto ao futuro do sistema, no que diz respeito à sua evolução e manutenção, especialmente tendo em vista a colaboração de outros interessados, externos à equipe principal de desenvolvimento, através de uma política de software de fonte aberto (open source). Esta observação sobre o sistema Casa Mágica, pode ser ampliada para sistemas de grande porte ou complexidade, cuja evolução e manutenção estejam associadas a essa mesma política. 1.2. Tratando o software como a Algarobeira A reflexão apresentada deu origem a uma iniciativa que pode ser compreendida a partir de uma analogia com a Algarobeira (árvore da Algaroba). A Algarobeira é uma planta conhecida por seus múltiplos usos. O seu fruto – a vagem da algaroba – é utilizado para alimentação animal e para a produção de café, melaço, farinha, aguardente, entre outros. Ela produz madeira de boa qualidade. Sua floração intensa favorece a produção de mel. Sua folhagem é sempre verde, proporcionando sombra o ano todo, mesmo em clima semi-árido [Drumond 1992]. Durante muitos anos, a produção do software Casa Mágica visou principalmente, seus frutos, ou seja, a sua aplicação como ambiente para o desenvolvimento de aplicações educacionais. No entanto, a avaliação quanto ao futuro desenvolvimento e manutenção do sistema, exigiu uma atenção à questão de como preparar um sistema de grande complexidade, apto a ser incrementado e modificado de forma colaborativa por muitas pessoas, eventualmente dispersas geograficamente. Isso implica também a possibilidade de participação de indivíduos que desejam contribuir para o desenvolvimento de um aspecto específico do sistema, sem que necessariamente tenham conhecimento e domínio sobre toda a estrutura do software e das tecnologias empregadas no mesmo. Tudo isso conduz a uma nova perspectiva sobre o sistema, que surge da percepção de que, tal como a Algarobeira, o mesmo pode ser explorado e aproveitado, não apenas através de seus frutos, como também em todo o restante. O sistema Casa Mágica reúne uma grande quantidade de conceitos e tecnologias, que o tornam um rico território de estudo na área de computação. Foram observadas três vantagens em transformá-lo em tema de estudo: Disciplinas escolares relacionadas à computação são enriquecidas com a inserção de um objeto de estudo concreto. O esforço empenhado no desenvolvimento do sistema é aproveitado de forma mais completa. Os alunos se inserem no contexto do sistema e podem, se assim desejarem, contribuir futuramente para o seu desenvolvimento. Transformar o sistema em objeto de estudo não se mostrou uma tarefa trivial, que implicasse em, simplesmente, entregar o software para que os alunos ou professores o utilizassem. Até então, a pesquisa, no tocante à construção do software Casa Mágica, tinha especial preocupação com o produto final, relegando a segundo plano cuidados importantes ligados ao processo de produção, tal a metodologia de construção e documentação do sistema. Estes cuidados se tornam de vital importância quando o Casa Mágica passa a ser objeto de estudo. O software precisa estar bem documentado, ter codificação limpa e clara. Adicionalmente são necessários manuais e textos que expliquem como sua estrutura foi concebida e alguns guias que orientem atividades de construção e modificação dentro do ambiente. É necessário um planejamento na disciplina que for adotar o sistema, quais aspectos do software se pretende explorar e como isto será feito. O aspecto especificado a ser estudado deve ser adequadamente implementado no projeto. Nos últimos dois anos foram desenvolvidos trabalhos no sentido de inserir o sistema Casa Mágica em disciplinas de um curso de Ciência da Computação, transformando-o em objeto de estudo. Esta experiência será apresentada nos tópicos 2 e 3, na forma de relatos, no entanto, o principal objetivo desses relatos não é de tratar, apenas, de aspectos relacionados com a metodologia de ensino das disciplinas, mas estabelecer as bases do nosso argumento principal, onde defendemos a inserção de projetos práticos de pesquisa na esfera do ensino, como aliança que fortalece tanto o ensino quanto a pesquisa. Este assunto é o tema do tópico 4. Finalmente apresentamos nossas considerações finais e perspectivas para projetos futuros no tópico 5.· 2. Casa Mágica e Engenharia de Software Em 2002, com o objetivo de introduzir os conceitos de educação à distância em um curso de graduação em Análise de Sistemas, optou-se por um modelo de aprendizagem semipresencial para a disciplina de “Metodologia de Programação e Engenharia de Software”. Para isso, foi selecionada uma série de conteúdos, relacionados a esta disciplina, para serem trabalhados à distância. Dentre eles, a tecnologia dos componentes de software (CSw) foi escolhida, principalmente por representar, atualmente, uma tendência na área de desenvolvimento de projetos de sistemas. [Presman 2000]. O Casa Mágica foi a plataforma adotada para a implementação desses componentes. Este sistema possui um ambiente para construção de aplicações baseado em componentes de software, que podem ser integrados e reutilizados através de um ambiente visual, dotado de uma interface projetada para tornar este processo simples e intuitivo. Além disso, tal ambiente foi desenhado para permitir fácil acréscimo de novos componentes codificados. Para a realização das atividades com o Casa Mágica, os alunos receberam o programa, juntamente com o seu código fonte, para ser instalado localmente em suas máquinas. Foi, também, disponibilizado no fórum, do ambiente de aprendizagem, que será brevemente descrito a seguir, um roteiro de orientação para o desenvolvimento dos componentes no sistema. As dúvidas relacionadas a essa implementação foram tiradas no próprio fórum, ou através do correio eletrônico, diretamente com o professor ou algum responsável pelo desenvolvimento do sistema. Como o objetivo primordial dessa experiência era incentivar o trabalho colaborativo em rede, o desenvolvimento dos componentes de software foi realizado por grupos, utilizando um ambiente de aprendizagem virtual. Nesse ambiente, existiam basicamente dois espaços: Conteúdo e Comunicação. Na área de Conteúdo estavam disponíveis a bibliografia e links relacionados com engenharia, incluindo apontadores específicos para o tema de CSw. Já no espaço Comunicação, os alunos e o professor poderiam tirar suas dúvidas, apresentar os componentes produzidos e trocar informações através de ferramentas como: fórum, chat e correio eletrônico. Ver Figura 1. Link para o espaço Conteúdo Link para o espaço Comunicação Link para o espaço – Sala de Produção Figura 1. Tela inicial do ambiente de aprendizagem de Engenharia de Software. Além dessas duas grandes áreas, o ambiente também apresentava um espaço chamado Sala de Produção onde os grupos disponibilizaram todos os trabalhos da disciplina, incluindo o código do seu CSw. Este espaço de acesso público foi essencial para que um grupo visse o que o outro havia produzido e, pudesse, inclusive, padronizar seu CSw, a fim de integrá-lo aos componentes produzidos por outro grupo. A partir do acesso ao ambiente de aprendizagem – e com o sistema Casa Mágica instalado – iniciou-se a atividade de desenvolvimento dos componentes. Inicialmente, o professor da disciplina e seus alunos selecionaram um tema para exploração. De acordo com esse tema, cada grupo escolheu um CSw para ser implementado. O tema escolhido nessa primeira experiência foi Circuitos Eletrônicos. Então, cada grupo ficou responsável pelo desenvolvimento de pelo menos uma parte do circuito. Por exemplo, um grupo desenvolveria uma porta OR e a outra equipe a porta AND. O objetivo final seria montar circuitos maiores, neste caso, formados por portas OR e AND. Nesta atividade, para que o CSw de um grupo pudesse ser interligado ao de outro grupo, foi necessária uma interação entre as equipes, para se definirem padrões de implementação dos mesmos. Assim, depois que um CSw estivesse implementado, o grupo responsável deveria disponibilizá-lo na sala de produção do ambiente de aprendizagem, para que os outros grupos pudessem utilizá-lo. Em 2003, as atividades estão sendo propostas utilizando-se novamente o Casa Mágica como plataforma para que novos CSw sejam implementados. A idéia agora é que seja criado um repositório de componentes organizado por temas. Esse repositório será alimentado pelos CSw que forem construídos pelos grupos a cada ano letivo e poderão ser utilizados por professores de outras disciplinas, inicialmente, dos cursos de Sistemas de Informação e Ciências da Computação. Com o objetivo de organizar a forma como essa atividade de desenvolvimento do repositório de CSw será executada a cada ano, foi proposta uma estratégia (guia) mais abrangente. Essa estratégia, que será descrita no tópico 2.1., sugere um modelo de interação dos grupos e professores, de acordo com espaços de trabalhos virtuais. 2.1. Desenvolvendo Componentes de Software (CSw) de forma colaborativa A estratégia sugerida a seguir baseia-se na formação de uma equipe multidisciplinar para desenvolvimento de atividades pedagógicas a serem disponibilizadas em um curso realizado à distância. Esta equipe será formada por alunos (líderes de cada grupo de trabalho) e um ou mais professores (tutores) envolvidos com um determinado curso. Um das funções da equipe será planejar as atividades e subdividi-las por áreas de pesquisa, orientando a organização de grupos que serão responsáveis por cada subárea. Ver Figura 2. PROFESSOR/TUTOR Grupo1: Grupo2: Grupo3: Grupo4: Funções 1º grau Gráficos Teor. Conj. Funções Exponen. EQUIPE MUDISCIPLINAR 01: Coordena a ÁREA MATEMÁTICA. PROFESSOR /TUTOR: Conduz/ orienta a realização das atividades da área de mat. 04 SUB-ÁREAS CRIADAS: Funções 1 º grau, Gráficos, Teoria dos Conjuntos e Funções Exponenciais. 04 GRUPOS CRIADOS: Grupo1, Grupo2, Grupo3 e Grupo 4. FLUXO DA INFORMAÇÃO/COMUNICAÇÃO: em todas as direções Figura 2. Exemplo de uma Equipe coordenando uma área e subdividindo sua estrutura/organizacional de trabalho em grupos por subárea de pesquisa. Além disso, essa estratégia também sugere a criação, no mínimo, de três espaços virtuais, que deverão estar presentes no ambiente de aprendizagem do curso: 1. interação entre os componentes do grupo (espaço_interação). Neste espaço existirão: fóruns, chat e listas de discussão; 2. disponibilização de conteúdo (espaço_armazenamento) e 3. compartilhamento de informações entre esses grupos (espaço_compartilhamento) (ver Figura 3). Dentro de cada grupo também deverá haver uma estrutura de subdivisão, onde cada componente ficará responsável por uma parte da tarefa de acordo com suas habilidades e interesses. Entretanto, é importante que todos sejam responsáveis pela reunião das partes e operacionalização final de sua atividade, para que o resultado alcançado reflita a “personalidade” do grupo como um todo. É importante, também, que cada grupo tenha seu espaço privado de interação (espaço_interação) e produção (espaço_ armazenamento). Além disso, pelo menos um componente (líder) de cada grupo deverá fazer parte da equipe multidisciplinar. ÁREA GERAL (Todos os Grupos) ESPAÇO DO GRUPO 3 Grupo 3 Grupo 1 Espaço Compartilhamento Espaço Interação Grupo 2 e 3 Espaço Armazen. Grupo 2 Espaço Interação3 33 Espaço Armazen.3 Grupo 1 Figura 3. Espaços Virtuais Se pensarmos, por exemplo, no desenvolvimento de uma biblioteca de componentes de software para o ensino de matemática à distância com o Casa Mágica, inicialmente deveremos escolher um tema específico da área subárea para cada grupo. Supondo que o Grupo3 fique responsável pela área da Teoria dos Conjuntos, cada aluno desse grupo deverá escolher qual tarefa (implementação do código, design, documentação, testes, coordenação do projeto, etc) irá executar e, ao passo que cada etapa for sendo concluída, os resultados obtidos serão disponibilizados no espaço_ armazenamento. Se durante essa execução surgirem dúvidas ou sugestões, o aluno utilizará o espaço_interação para se comunicar com os outros integrantes do grupo. O Professor/Tutor (responsável por essa atividade pedagógica) deverá organizar as sessões de simulações e apresentações dos CSW´s, na própria rede (através da disponibilização de transparências descritivas/demonstrativas, sessões de chat, fórum, etc) ou em encontros presenciais. O grande benefício ao adotar a estratégia apresentada, além de permitir o trabalho colaborativo em rede, é a capacidade de explorar ao máximo as características do desenvolvimento de sistemas baseado em componentes de software. Primeiro, em relação à arquitetura dos componentes, que estimula a reusabilidade e a integração entre componentes diversos [Presman 2000]. Segundo, pela possibilidade de motivar professores e alunos que não sejam da área da computação, a desenvolverem suas próprias aplicações – mesmo que não tenham muitos conhecimentos de programação – apenas reunindo e reutilizando os componentes disponíveis no repositório proposto. 3. Casa Mágica e Compiladores Disciplinas que tratam da construção de compiladores exigem o domínio de habilidades que vão desde a especificação de uma linguagem, até a codificação do programa de compilação propriamente dito. Ferramentas como gramáticas, expressões regulares e autômatos são corriqueiramente utilizadas na especificação da linguagem a ser tratada pelo compilador. Seu uso, em geral, precede e fornece suporte à codificação do compilador. Através de programas de geração automática de compiladores é possível se estabelecer um canal mais imediato entre estas ferramentas e a construção de um compilador. O clássico Lex [Lesk 1975] parte de uma especificação baseada em expressões regulares, para a montagem de um analisador léxico, complementarmente, o YACC (Yet Another Compiler-Compiler) [Johnson 1977] parte de uma especificação sobre a lógica de tradução dirigida por sintaxe, baseada em uma gramática, para a construção de um compilador. Através desses tipos de programas é possível introduzir a codificação de compiladores, dando ênfase à construção de expressões regulares e gramáticas. Posteriormente, apresentam-se detalhes da construção de compiladores através da codificação manual, em linguagem de programação. O sistema Casa Mágica oferece um ambiente propício para o estudo de ambas as abordagens. Sua estrutura se baseia em uma linguagem própria chamada Gradus [Santanchè 1999], que utiliza ferramentas para a geração automática do compilador, especificamente o JFlex [Klein 2002] – uma ferramenta Java baseada no Lex – e o CUP (Constructor of Useful Parsers) [Hudson 1999] – uma ferramenta Java baseada no YACC. Nos anos de 2001 e 2002, ambas as ferramentas foram utilizadas na disciplina “Linguagens Formais, Autômatos e Compiladores”, com exemplos extraídos da especificação de Gradus. Ainda não foi utilizada a versão completa da especificação de Gradus por dois motivos: são necessários outros ajustes para tornar a versão completa mais simples, clara e bem documentada (isto já foi feito com os sub-conjuntos utilizados) e, por ser Gradus uma linguagem orientada a objetos, é necessária a preparação de literatura e material de suporte que trate de especificidades na compilação de programas em linguagens sobre este paradigma. No ano de 2002 foi construído um componente de software, para uso no ambiente Casa Mágica, cujo objetivo foi o cálculo de expressões aritméticas simples. A demanda para a construção deste componente teve origem em um outro projeto, onde o sistema Casa Mágica estava sendo utilizado na concepção de um modelo para o ensino de conceitos de administração de empresas, a partir da simulação empresarial [Santanchè 2002.2]. Sua construção visava, paralelamente, seu uso como objeto de estudo na disciplina de compiladores. A análise e interpretação da expressão aritmética pelo componente foram realizadas através da codificação manual de analisadores léxico, sintático e semântico, associados a um tradutor. O projeto se iniciou com a elaboração de um autômato, algumas expressões regulares e uma gramática, que foram as bases do interpretador, sempre com atenção especial para seu uso em sala de aula. Foram escolhidas estratégias para a construção de algoritmos entre as estudadas no curso de compiladores. Utilizou-se esse componente de software como exemplo concreto de implementação manual de um compilador. Sua funcionalidade foi apresentada e testada dentro de uma aplicação prática. Aos alunos foi fornecido o ambiente completo do sistema Casa Mágica com todos os códigos fonte, de modo que pudessem estudar e modificar ou expandir o componente. A estrutura independente propiciada pelo componente de software permitiu que sua implementação fosse analisada isoladamente, sem que os alunos precisassem conhecer a estrutura completa do sistema. Com vista a projetos futuros, planeja-se preparar especificação completa da linguagem Gradus para estudo e um conjunto de trabalhos práticos, a serem realizados pelos alunos, nos quais eles possam modificar e estender ambas as implementações de compiladores: a da linguagem Gradus e a de avaliação de expressões aritméticas simples. 4. Software educacional como objeto de estudo Nos dois tópicos anteriores foram apresentados relatos de experiências da inserção de um sistema de software educacional, como objeto de estudo em disciplinas de programação. A tal ponto surge a questão: quais as implicações observadas nessa iniciativa? Para abordar esta questão, será tratado, inicialmente, o aspecto referente aos projetos de construção de software educacional – que se desenvolvem nas instituições de ensino e pesquisa do Brasil – quanto à sua produção, ao seu uso e atualização. Utilizar-se-á esta análise como subsídio para apresentar as contribuições registradas neste projeto. Parece um contra-senso tratar de produção de software educacional no contexto de instituições de ensino e pesquisa – com preocupações referentes ao seu uso e atualização – uma vez que estas tratam, mormente, da exploração nas fronteiras da inovação. No entanto, o que se percebe na prática é que os autores, em geral, vão muito além dos protótipos, criando produtos completos, com a expectativa de seu efetivo uso. Além disso, por não terem como principal fonte de preocupação a aceitação do mercado, essas instituições têm investido mais na inovação, tornando-se as fontes mais ricas de software educacional, capazes de acompanhar as constantes transformações e demandas do mundo moderno. Em contrapartida, o ritmo acelerado de mudanças nos ambientes e nos suportes tecnológicos tem transformado uma grande quantidade de produtos de software educacional em peças defasadas, que vão se tornando inadequadas às atuais plataformas, ou até mesmo inoperantes nas mesmas. Isso ocorre devido a falhas no andamento de projetos que, uma vez concluídos, carecem de uma equipe de desenvolvedores alocados para a atualização do software produzido, muitas vezes por falta de recursos para fazê-lo ou porque o software foi tomado como produto final de uma pesquisa, sem planos de evolução. O desafio tornou-se encontrar um modelo que viabilize a criação de uma infraestrutura capaz de garantir a atualização e evolução de um sistema de software dentro das instituições de pesquisa, e que seja compatível com as peculiaridades deste tipo de instituição. Note-se que no Brasil as instituições de pesquisa estão geralmente associadas a universidades, onde a integração entre ensino e pesquisa é uma prática eficaz. Considerando o software educacional um componente importante da pesquisa, no domínio da informática e educação, nossa estratégia de integração ensino-pesquisa baseia-se na adoção do software – produto da pesquisa – na forma de objeto de estudo para o ensino. Este é, em resumo, o fundamento da estratégia utilizada no trabalho apresentado. A experiência de inserção do sistema Casa Mágica no ensino de computação obteve resultados positivos, dentre os quais destacamos: Os exemplos práticos estudados proporcionaram aos alunos uma perspectiva concreta da temática tratada em sala de aula. Os alunos foram introduzidos no contexto de um projeto de pesquisa. Alguns se sentiram estimulados a contribuir para o mesmo, seja através de um empenho extra em trabalho de uma disciplina, seja conduzindo seu projeto de final de curso para algum tema que se inserisse no escopo da pesquisa do sistema Casa Mágica. O projeto reordenou os esforços empenhados no sistema, na medida em que foi sendo construída uma infra-estrutura para propiciar sua fácil compreensão e a participação de indivíduos e grupos externos à equipe principal de produção do Casa Mágica. Os alunos que participaram de projetos com o Casa Mágica apresentaramse mais motivados para a realização de trabalhos interdisciplinares e colaborativos. Tais resultados motivaram a continuação e expansão do projeto, de modo que mais outros aspectos do sistema possam se tornar objetos de estudo. Neste sentido, há um rico horizonte a ser explorado envolvendo: análise de sistemas, projeto de interfaces, computação gráfica, etc. 5. Considerações Finais A partir da experiência apresentada e das conclusões explicitadas no tópico anterior, observamos alguns aspectos importantes, os quais destacaremos a seguir: Tal como o desenvolvimento de software de fonte aberta, a adoção da estratégia de integração ensino-pesquisa – apresentada anteriormente – implica claramente em um posicionamento frente ao produto da pesquisa. Ao contrário da política adotada por muitas empresas e instituições de pesquisa, o software, elemento de estudo e pesquisa, torna-se objeto público, primeiro, por ser disponibilizado livremente para todos os alunos envolvidos no trabalho e segundo, porque o software torna-se um produto de contribuição coletiva e, conseqüentemente, o direito autoral sobre ele também é coletivo. Por este motivo, esta estratégia parece incompatível com políticas nas quais o código fonte do software é propriedade exclusiva da instituição de pesquisa, estando deste modo restrito a pesquisadores diretamente envolvidos no projeto. Havendo uma integração entre a pesquisa e o ensino, a interação entre professores e alunos é aumentada, tornando-se mais fácil a realização de trabalhos cooperativos e iniciativas interdisciplinares. Esse cenário apresenta um ambiente acadêmico reconfigurado, onde a sala de aula é interligada aos laboratórios, núcleos de pesquisa e instituições parceiras. Em especial, no desenvolvimento de software – tópico discutido no presente trabalho – os casos reais de pesquisa e aplicação estimulam e mapeiam a implementação de projetos. Desta forma, uma nova dinâmica é definida, em que a pesquisa impulsiona o ensino e vice-versa, estabelecendo um ciclo ativo para a produção do conhecimento. Para o ano de 2003, planeja-se a inserção do sistema Casa Mágica no ensino de uma disciplina de Computação Gráfica, uma vez que ele possui um formato próprio de representação de imagens vetoriais, bastante adequado para estudo nesta disciplina. Além disto, existem planos para migração deste formato a um novo padrão baseado em XML, denominado SVG – Scalable Vector Graphics [Bowler 2001]. Esta tarefa pode ser realizada num trabalho conjunto com os alunos. Outra disciplina cujo conteúdo tem grande sintonia com o Casa Mágica é Programação Orientada a Objetos, dado que toda a estrutura do sistema se fundamenta em objetos. Por este motivo, também existem planos de utilizar o Casa Mágica no ensino de POO. Finalmente, este projeto tem fortalecido a nossa crença de que a inserção do sistema Casa Mágica – bem como de outros sistemas de software – nas atividades de ensino torna-se uma contínua prática de reflexão, que segue dois sentidos: a reflexão sobre os caminhos da pesquisa conduzida sobre o software e a reflexão da estratégia de ensino que emerge aliada à pesquisa. Referências Adler, Sharon et al. Extensible Stylesheet Language (XSL) Version 1.0, W3C Recommendation 15 October 2001, http://www.w3.org/TR/xsl/. Bowler, John et al. Scalable Vector Graphics (SVG) 1.0 Specification - W3C Recommendation 04 September 2001. W3C - World Wide Web Consortium, 2001, http://www.w3.org/TR/SVG/. Bray, Tim (ed.) et al. Extensible Markup Language (XML) 1.0 (Second Edition), W3C Recommendation 6 October 2000, http://www.w3.org/TR/REC-xml. Drumond, M. A. Algarobeira: Uma alternativa para a região Semi-árida. Comunicado Técnico, 51. Petrolina, 1992, http://www.cpatsa.embrapa.br/spalgaroba.html. Johnson, Stephen C. Yacc – Yet Another Compiler-Compiler, Comp. Sci. Tech. Rep. No. 32., AT&T Bell Laboratories, Murray Hill, 1977, http://citeseer.nj.nec.com/johnson79yacc.html Klein, Gerwin. JFlex User's Manual. 5 January 5 2002, http://www.jflex.de/manual.html Lassila, O., Swick, R. R. Resource Description Framework (RDF) Model and Syntax Specification - W3C Recommendation 22 February 1999, W3C - World Wide Web Consortium, http://www.w3.org/TR/REC-rdf-syntax/. Lesk, Michael E.; Schmidt, E. Lex – A Lexical Analyzer Generator, Computing Science Technical Report 39, AT&T Bell Laboratories, Murray Hill, 1975. Presman, Roger S. Engenharia de Software. MAKRON Books. São Paulo, 1995. Santanchè, André; Teixeira, César Augusto Camillo. Integrando Instrucionismo e Construcionismo em Aplicações Educacionais através do Casa Mágica. V Workshop de Informática na Escola – XIX Congresso da SBC, 20 de julho de 1999, http://www.geocities.com/santanche/publicado/WIE99.pdf. Santanchè, André; Teixeira, César Augusto Camillo. Anima: Sistema para integração de Objetos Educacionais. SBIE 2000 - Simpósio Brasileiro de Informática na Educação, 8 de novembro de 2000, http://www.geocities.com/santanche/publicado/SBIE2000.pdf. Santanchè, André; Teixeira, César Augusto Camillo. Máquinas e componentes de software na aprendizagem matemática. VIII Workshop de Informática na Escola – XXII Congresso da SBC, 15 de Julho de 2002, http://www.geocities.com/santanche/publicado/WIE2002-Maquinas.pdf. Santanchè, Simone Almeida Chaves. Modelo de Simulação Empresarial Baseada em Componentes de Software. Universidade Salvador – UNIFACS – Dissertação de Mestrado, 2002. Hudson, Scott E. CUP User's Manual. Georgia Institute of Technology, July 1999, http://www.cs.princeton.edu/~appel/modern/java/CUP/manual.html.