Sintaxe baseada em gramáticas de grafos para uma linguagem funcional visual voltada ao aprendizado de programação

Resumo


Linguagens baseadas no paradigma imperativo tendem a enfatizar aspectos sintáticos em detrimento do processo de resolução de problemas. Este trabalho apresenta a sintaxe da linguagem visual funcional Pandora, construída a partir de uma gramática de grafos equipada com uma álgebra, cujas regras enfatizam a construção de um programa com ênfase em composição e reúso de especificações.

Palavras-chave: Linguagens de programação, Linguagens visuais, Ensino de algoritmos, Educação em Computação

Referências

Almeida, U. (2018). Learn Functional Programming with Elixir – New Foundations for a New World. The Pragmatic Bookshelf.

Ehrig, H., Heckel, R., Korff, M., Löwe, M., Ribeiro, L., Wagner, A., e Corradini, A. (1996a). Algebraic approaches to graph transformation. Part II: single-pushout approach and comparison with double pushout approach. In Ehrig, H., Kreowski, H.-J., Montanari, U., e Rozemberg, G., editors, Handbook of Graph Grammars and Computing by Graph Transformation, volume 1, chapter 4, pages 247–312. World Scientific, Singapore.

Ehrig, H., Kreowski, H.-J., Montanari, U., e Rozemberg, G. (1996b). Handbook of Graph Grammars and Computing by Graph Transformation, volume 1. World Scientific, Singapore.

Feijó, P. G. e De la Rosa, F. (2016). Roblock: Programming learning with mobile robotics. In Proceedings of the ITiCSE ’16, page 361, New York, NY, USA. Association for Computing Machinery.

Ferreira, A. P. L. e Ribeiro, L. (2003). Towards object-oriented graphs and grammars. In Najm, E., Nestmann, U., e Stevens, P., editors, International Conference on Formal Methods for Open Object-Based Distributed Systems, FMOODS, volume 2884 of Lecture Notes in Computer Science, pages 16–31, Paris. Berlin: Springer-Verlag.

Gomes, A. e Mendes, A. J. (2007). Learning to program - difficulties and solutions. In International Conference on Engineering Education (ICEE 2007).

Keene, S. E. (1989). Object-Oriented Programming in Common Lisp. Addison-Wesley.

Lewis, H. R. e Papadimitriou, C. H. (1998). Elements of the Theory of Computation. Prentice Hall, Upper Saddle River, 2nd edition.

Odersky, M., Spoon, L., e Venners, B. (2008). Programming in Scala. Artima, 4th edition.

Pimenta, J. M. M. (2019). Temple - uma linguagem de programação para o ensino de programação. Mestrado, Universidade de Évora, Évora, Portugal.

Pressman, R. S. (2016). Engenharia de Software: Uma abordagem profissional. Bookman, Porto Alegre, 8ª edição.

Resnick, M., Maloney, J. H., Monroy-Hernández, A., Rusk, N., Eastmond, E., Brennan, K. A., Millner, A., Rosenbaum, E., Silver, J. S., Silverman, B. S., e Kafai, Y. B. (2009). Scratch: programming for all. In Communications of the ACM.

Sebesta, R. W. (2018). Conceitos de linguagens de programação. Bookman, Porto Alegre, 11ª edição.

Silva, M. (2021). Proposta de uma linguagem composicional visual para ensino de programação. Trabalho de Conclusão de Curso (Graduação), Universidade Federal do Pampa.

Souza, S. S. e Castro, T. H. C. (2016). Investigação em programação com scratch para crianças: uma revisão sistemática da literatura. In Anais dos Workshops do V Congresso Brasileiro de Informática na Educação (CBIE 2016).

Thompson, S. (1999). Haskell: The Craft of Functional Programming. Addison-Wesley, 2nd edition.

Touretzky, D. S. (1990). COMMON LISP: A Gentle Introduction to Symbolic Computation. The Benjamin/Cummings Publishing Company, Inc., Redwood City.

Watanabe, T., Nakayama, Y., Harada, Y., e Kuno, Y. (2020). Analyzing Viscuit programs crafted by kindergarten children. In Proceedings of the ICER ’20, page 238–247, New York, NY, USA. Association for Computing Machinery.
Publicado
17/11/2021
SILVA, Marina; FERREIRA, Ana Paula Lüdtke. Sintaxe baseada em gramáticas de grafos para uma linguagem funcional visual voltada ao aprendizado de programação. In: WORKSHOP-ESCOLA DE INFORMÁTICA TEÓRICA (WEIT), 6. , 2021, Online. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2021 . p. 120-127. DOI: https://doi.org/10.5753/weit.2021.18931.