Elaboração de algoritmos para criação de exercícios sobre Autômatos Finitos Determinísticos

  • Guilherme Augusto Anício Drummond do Nascimento UFOP
  • Reinaldo Silva Fortes UFOP
  • Valéria de Carvalho Santos UFOP
  • Rodrigo Geraldo Ribeiro UFOP

Resumo


Teoria da Computação é um importante tópico para a Ciência da Computação e seu ensino é um grande desafio, uma vez que envolve muitos conceitos abstratos e matemáticos. Isso dificulta e atrasa a adoção de atividades educacionais que demandam muitas questões, como listas de exercícios ou simulados. Neste contexto, a geração automática de questões tem potencial para contribuir no aprendizado do estudante, ao focar a sua atenção no material apresentado e repetir conceitos básicos através de variados exercícios. Neste trabalho, apresentamos uma ferramenta, integrada ao Jupyter Nootebook, para gerar exercícios de construção de autômatos finitos determinísticos e seus respectivos gabaritos usando o conceito de expressões regulares e um algoritmo genético para otimizar a geração de questões com níveis variados de dificuldade. Adicionalmente, a ferramenta proposta é capaz de corrigir os exercícios gerados, apresentando contra-exemplos que podem ser utilizados pelo aluno para compreender o porquê da solução por ele elaborada não estar correta.

Referências

Adithi, G., Adiga, A., Pavithra, K., Vasisht, P. P., and Kumar, V. (2015). Secure, offline feedback to convey instructor intent. In 2015 IEEE Seventh International Conference on Technology for Education (T4E), pages 105–108, Warangal, India. IEEE.

Alsubait, T., Parsia, B., and Sattler, U. (2012). Automatic generation of analogy questions for student assessment: an ontology-based approach. Research in Learning Technology, 20.

Bezáková, I., Hemaspaandra, E., Lieberman, A., Miller, H., and Narváez, D. E. (2020). Prototype of an automated feedback tool for intro cs theory. In Proceedings of the 51st ACM Technical Symposium on Computer Science Education, SIGCSE ’20, page 1311, New York, NY, USA. Association for Computing Machinery.

Brzozowski, J. A. (1964). Derivatives of regular expressions. Journal of the ACM (JACM), 11(4):481–494.

Casamaximo, R., Silva, P., Michels, J. F., and Barbosa, C. R. (2024). Avaliação de jogos digitais no ensino de linguagens formais e autômatos. In Anais do XXXV Simpósio Brasileiro de Informática na Educação, pages 538–550, Porto Alegre, RS, Brasil. SBC.

Cassanho, L., Michels, J. F., and Barbosa, C. R. (2024). Avaliação do jflap para ensino de autômatos. In Anais do XXXV Simpósio Brasileiro de Informática na Educação, pages 513–524, Porto Alegre, RS, Brasil. SBC.

Chakraborty, P., Saxena, P. C., and Katti, C. P. (2011). Fifty years of automata simulation: a review. acm inroads, 2(4):59–70.

Chudá, D. and Rodina, D. (2010). Automata simulator. In Proceedings of the 11th International Conference on Computer Systems and Technologies and Workshop for PhD Students in Computing on International Conference on Computer Systems and Technologies, CompSysTech ’10, page 394–399, New York, NY, USA. Association for Computing Machinery.

Costa, C. S. (2023). Desenvolvimento de algoritmos para correção automática de exercécios sobre autômatos finitos determinísticos.

Flatt, M. and PLT (2010). Reference: Racket. Technical Report PLT-TR-2010-1, PLT Design Inc. [link].

Gaebel, M., Kupriyanova, V., Morais, R., and Colucci, E. (2014). E-learning in european higher education institutions: Results of a mapping survey conducted in october-december 2013. European University Association.

Goldbach, I. and Hamza Lup, F. (2017). Survey on e-learning implementation in eastern-europe spotlight on romania. In The Ninth International Conference on Mobile, Hybrid, and On-line Learning, eLmL, number 2, pages 05–13, Nice, França.

Mohammed, M. K. O. (2020). Teaching formal languages through visualizations, simulators, auto-graded exercises, and programmed instruction. In Proceedings of the 51st ACM Technical Symposium on Computer Science Education, SIGCSE ’20, page 1429, New York, NY, USA. Association for Computing Machinery.

Paiva, P., Souza, M., and Terra, R. (2023). Ferramentas de apoio para a disciplina de linguagens formais e autômatos: uma proposta de uso. In Anais do XXXIV Simpósio Brasileiro de Informática na Educação, pages 1698–1709, Porto Alegre, RS, Brasil. SBC.

Qayyum, A. and Zawacki-Richter, O. (2018). Open and distance education in Australia, Europe and the Americas: National perspectives in a digital age. Springer Nature, Singapore.

Rodger, S. H. (2002). Using hands-on visualizations to teach computer science from beginning courses to advanced courses. In Second Program Visualization Workshop, number 14, pages 103–112, Hornstrup Center, Dinamarca.

Shenoy, V., Aparanji, U., Sripradha, K., and Kumar, V. (2016). Generating dfa construction problems automatically. In 2016 International Conference on Learning and Teaching in Computing and Engineering (LaTICE), pages 32–37, Mumbai, India. IEEE.

Sipser, M. (2013). Introduction to the theory of computation (3rd international ed.). Cengage Learning.

Vieira, L. F. M., Vieira, M. A. M., and José, N. (2003). Language emulator, uma ferramenta de auxílio no ensino de teoria da computação.

Zorzo, A. F., Nunes, D., Matos, E., Steinmacher, I., de Araujo, R. M., Correia, R., and Martins, S. (2017). Referenciais de formação para os cursos de graduação em computação.
Publicado
24/11/2025
NASCIMENTO, Guilherme Augusto Anício Drummond do; FORTES, Reinaldo Silva; SANTOS, Valéria de Carvalho; RIBEIRO, Rodrigo Geraldo. Elaboração de algoritmos para criação de exercícios sobre Autômatos Finitos Determinísticos. In: SIMPÓSIO BRASILEIRO DE INFORMÁTICA NA EDUCAÇÃO (SBIE), 36. , 2025, Curitiba/PR. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2025 . p. 676-689. DOI: https://doi.org/10.5753/sbie.2025.12594.