RSS

Investigação e Extensão de uma Ferramenta de Auxílio ao Ensino de Algoritmos em Ambientes GNU/Linux – G-Portugol

14 fev

O título deste foi o título do meu trabalho de conclusão de curso para obtenção do diploma de bacharel em Ciência da Computação pela Universidade do Estado do Rio Grande do Norte (UERN).

A investigação se deu na medida em que pesquisei algumas ferramentas que pudessem ser utilizadas em disciplinas de algoritmos/introdução a programação em sistemas GNU/Linux. Em particular, refiro-me a ferramentas que pudessem compilar/executar programas escritos em portugol. O resultado dessa pesquisa pode ser resumida na tabela abaixo:

Tabela 1: Comparação entre ferramentas de auxílio ao ensino de algoritmos
Quila AlgoMais G-Portugol
Linguagem em que foi desenvolvido C++ Java C++
Licença GPL ??? GPL
Compilador x x
Interpretador x x
Editor x x
Nativo x x
Documentação Razoável Excelente
Ativo x
Usabilidade Boa Razoável Boa/Excelente
Instalação Difícil Muito difícil Difícil

Apresentando um pouco mais sobre cada um destas ferramentas:

  • Quila: a característica mais vantajosa dessa ferramenta é a sintaxe semelhante ao Pascal, mas com as palavras-chaves em português. Porém, esse interpretador só está disponível em formato de código-fonte, sendo necessário sua compilação para uso, que pode não ser trivial para quem está começando no mundo da computação. Atualmente o projeto está abandonado pelo seu autor original.
  • AlgoMais: é um interpretador de algoritmos que embora feita na linguagem Java, conhecida pela sua portabilidade, para ser executado em ambiente GNU/Linux é necessário uma série de ajustes manuais, o que o deixa inviável para iniciantes.
  • G-Portugol: é um projeto que envolve a definição de uma linguagem, também chamada de G-Portugol. Sua principal ferramenta é o GPT, que faz a compilação para linguagem de máquina, tradução para C e Assembly, e interpretação dos algoritmos. A outra ferramenta é o GPTEditor, editor para a linguagem com recursos de destaque de sintaxe e depuração.

Disso tudo, podemos deduzir que o projeto mais completo e bem acabado é o G-Portugol, incluindo a documentação. No entanto, a linguagem G-Portugol não é totalmente compatível com o Português Estruturado comumente apresentado nos cursos de algoritmos, não podendo ser completamente utilizado em um curso que envolvesse programação. Por exemplo, não havia o instrução “repita… até…” nem passagem de parâmetros por referência. E foi aí que entrou a “extensão”. Analisei o código fonte do GPT e fiz a inclusão do “repita… até…” e a correção de alguns bugs, além da documentação de todo esse processo, facilitando para que outros deem continuidade.

Quando propuz este trabalho, o professor da disciplina de orientação do TCC disse que compiladores são normalmente construídos durante uma disciplina. E, de fato, do ponto de vista técnico da implementação, do produto final produzido pelo meu trabalho, não há nada de grandioso ou inovador. Mas não era isso que eu tinha em mente.

Uma auto-restrição que apliquei foi a de que todo o código produzido deveria ser retornado para o projeto, já que este era um software livre. E realmente, este foi o maior trunfo deste trabalho, bastante elogiado pela banca, por sinal. Aquele não seria mais um trabalho encadernado e esquecido na biblioteca, de fato, trabalhos futuros partirão de onde parei. A partir do código que produzi. Este é o modelo que deveria ser utilizado pela instituições de ensino, principalmente pelas públicas.

Para quem tiver interesse, segue abaixo o trabalho escrito, devidamente licenciado em Creative Commons.

Até o próximo.

 
1 comentário

Publicado por em 14/02/2011 em pessoal

 

Uma resposta para “Investigação e Extensão de uma Ferramenta de Auxílio ao Ensino de Algoritmos em Ambientes GNU/Linux – G-Portugol

  1. PEdroArthur_JEdi

    14/02/2011 at 22:10

    E isso aí, cara!
    Mandou muito bem.

     

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

 
%d blogueiros gostam disto: