URI Online Judge Blocks: Construindo Soluções em uma Plataforma Online de Programação
Resumo
Uma das principais dificuldades no ensino de algoritmos e estrutura de dados é a tradução da lógica abstrata do algoritmo, que o estudante compreende, para uma linguagem de programação, que o computador possa entender. Essa mudança de paradigma pode trazer certas dificuldades durante as primeiras implementações. Existem diversas alternativas para facilitar e intermediar esse processo. No entanto, a maioria delas foca na lógica e na concepção do algoritmo. O objetivo deste trabalho é apresentar uma nova opção para esse intermédio, através de uma ferramenta que traduz essa lógica em código, tornando essa mudança de paradigma mais gradual. Para isso, nós integramos a API Blockly do Google à plataforma URI Online Judge. Desta forma propomos uma valiosa ferramenta para o aluno, ajudando a tornar o processo de aprendizagem de programação mais dinâmico, gráfico e intuitivo.
Palavras-chave:
programação, algoritmos, educação computacional, Blockly, URI Online Judge
Referências
ACM (2018). The ACM-ICPC International Collegiate Programming Contest.
Carlos, L. M., de Lima, J. P., Simão, J. P. S., and Silva, J. (2016). block.ino: Um experimento remoto para ensino de lógica de programação, robótica e eletrônica básica. In Anais dos Workshops do Congresso Brasileiro de Informática na Educação, volume 5, página 151.
Code.org (2018a). Anybody can learn — Code.org.
Code.org (2018b). Hour of code. [link]. Acessado em: 2018 January 14.
de La Taille, Y., de Oliveira, M. K., and Dantas, H. (1992). Piaget, Vygotsky, Wallon: teorias psicogenéticas em discussão. Summus editorial.
Google (2015). Blockly about. [link]. Acessado em: 2018 January 13.
Hoed, R. M. (2017). Análise da evasão em cursos superiores: o caso da evasão em cursos superiores da área de computação.
Iepsen, E. F., Bercht, M., and Reategui, E. (2010). Persona-algo: personalização dos exercícios de algoritmos auxiliados por um agente afetivo. In Brazilian Symposium on Computers in Education (Simpósio Brasileiro de Informática na Educação - SBIE), volume 1.
Koliver, C., Dorneles, R. V., and Casa, M. E. (2004). Das (muitas) dúvidas e (poucas) certezas do ensino de algoritmos. In XII Workshop de Educação em Computação.
Kurnia, A., Lim, A., and Cheang, B. (2001). Online judge. Computers & Education, 36(4):299–315.
Liang, C.-C., Park, A. Y., and Guan, J.-L. (2007). In vitro scratch assay: a convenient and inexpensive method for analysis of cell migration in vitro. Nature Protocols, 2(2):329–333.
Marron, A., Weiss, G., and Wiener, G. (2012). A decentralized approach for programming interactive applications with JavaScript and Blockly. In Proceedings of the 2nd Edition on Programming Systems, Languages and Applications Based on Actors, Agents, and Decentralized Control Abstractions, AGERE! 2012, pages 59–70, New York, NY, USA. ACM.
Programaê! (2018). Hora do Código: Programaê!
Winslow, L. E. (1996). Programming pedagogy – a psychological overview. SIGCSE Bull., 28(3):17–22.
Wolber, D. (2011). App Inventor and real-world motivation. In Proceedings of the 42nd ACM technical symposium on Computer Science Education, pages 601–606. ACM.
Carlos, L. M., de Lima, J. P., Simão, J. P. S., and Silva, J. (2016). block.ino: Um experimento remoto para ensino de lógica de programação, robótica e eletrônica básica. In Anais dos Workshops do Congresso Brasileiro de Informática na Educação, volume 5, página 151.
Code.org (2018a). Anybody can learn — Code.org.
Code.org (2018b). Hour of code. [link]. Acessado em: 2018 January 14.
de La Taille, Y., de Oliveira, M. K., and Dantas, H. (1992). Piaget, Vygotsky, Wallon: teorias psicogenéticas em discussão. Summus editorial.
Google (2015). Blockly about. [link]. Acessado em: 2018 January 13.
Hoed, R. M. (2017). Análise da evasão em cursos superiores: o caso da evasão em cursos superiores da área de computação.
Iepsen, E. F., Bercht, M., and Reategui, E. (2010). Persona-algo: personalização dos exercícios de algoritmos auxiliados por um agente afetivo. In Brazilian Symposium on Computers in Education (Simpósio Brasileiro de Informática na Educação - SBIE), volume 1.
Koliver, C., Dorneles, R. V., and Casa, M. E. (2004). Das (muitas) dúvidas e (poucas) certezas do ensino de algoritmos. In XII Workshop de Educação em Computação.
Kurnia, A., Lim, A., and Cheang, B. (2001). Online judge. Computers & Education, 36(4):299–315.
Liang, C.-C., Park, A. Y., and Guan, J.-L. (2007). In vitro scratch assay: a convenient and inexpensive method for analysis of cell migration in vitro. Nature Protocols, 2(2):329–333.
Marron, A., Weiss, G., and Wiener, G. (2012). A decentralized approach for programming interactive applications with JavaScript and Blockly. In Proceedings of the 2nd Edition on Programming Systems, Languages and Applications Based on Actors, Agents, and Decentralized Control Abstractions, AGERE! 2012, pages 59–70, New York, NY, USA. ACM.
Programaê! (2018). Hora do Código: Programaê!
Winslow, L. E. (1996). Programming pedagogy – a psychological overview. SIGCSE Bull., 28(3):17–22.
Wolber, D. (2011). App Inventor and real-world motivation. In Proceedings of the 42nd ACM technical symposium on Computer Science Education, pages 601–606. ACM.
Publicado
29/10/2018
Como Citar
DAGOSTINI, Jessica; LIMA, Marcos; BEZ, Jean Luca; TONIN, Neilor.
URI Online Judge Blocks: Construindo Soluções em uma Plataforma Online de Programação. In: SIMPÓSIO BRASILEIRO DE INFORMÁTICA NA EDUCAÇÃO (SBIE), 29. , 2018, Fortaleza/CE.
Anais [...].
Porto Alegre: Sociedade Brasileira de Computação,
2018
.
p. 168-177.
DOI: https://doi.org/10.5753/cbie.sbie.2018.168.
