Exercise Solution Check Specification Language for Interactive Programming Learning Environments

Author Jakub Swacha

Thumbnail PDF


  • Filesize: 326 kB
  • 8 pages

Document Identifiers

Author Details

Jakub Swacha

Cite AsGet BibTex

Jakub Swacha. Exercise Solution Check Specification Language for Interactive Programming Learning Environments. In 6th Symposium on Languages, Applications and Technologies (SLATE 2017). Open Access Series in Informatics (OASIcs), Volume 56, pp. 6:1-6:8, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2017)


Automatic checking of the correctness of students' solutions of programming exercises for generating appropriate feedback is a necessary component of interactive programming learning environments. Although there are multiple ways of specifying such a check, ranging from mere string patterns to code written in general-purpose programming language, they all have their deficiencies, with the check specification being too verbose, too complicated, difficult to reuse, or very limited in its expressive capabilities. In this paper, a new language designed especially for this purpose is described. It provides both extension and replacement for RegEx-based pattern specification so that checks typical for programming exercise verification can be expressed in a concise and highly-readable manner.
  • automatic programming exercise solution verification
  • source code pattern specification
  • RegEx extension
  • RegEx alternative


  • Access Statistics
  • Total Accesses (updated on a weekly basis)
    PDF Downloads


  1. Yorah Bosse and Marco Aurélio Gerosa. Why is programming so difficult to learn?: Patterns of difficulties related to programming learning mid-stage. ACM SIGSOFT Software Engineering Notes, 41(6):1-6, 2017. Google Scholar
  2. David H. Crocker and Paul Overell. Augmented BNF for syntax specifications: ABNF. RFC 5234, IETF, January 2008. Google Scholar
  3. Cezar Câmpeanu, Kai Salomaa, and Sheng Yu. Regex and extended regex. In Jean-Marc Champarnaud and Denis Maurel, editors, Implementation and Application of Automata, volume 2608, pages 77-84. Springer, 2003. Google Scholar
  4. Ryan Ignatius Hadiwijaya and M. M. Inggriani Liem. A domain-specific language for automatic generation of checkers. In International Conference on Data and Software Engineering, pages 7-12, 2015. Google Scholar
  5. Hieke Keuning, Johan Jeuring, and Bastiaan Heeren. Towards a systematic review of automated feedback generation for programming exercises. In Conference on Innovation and Technology in Computer Science Education, pages 41-46, 2016. Google Scholar
  6. Ricardo Queirós and José Paulo Leal. Making programming exercises interoperable with PExIL. In José Carlos Ramalho, Alberto Simões, and Ricardo Queirós, editors, Innovations in XML Applications and Metadata Management: Advancing Technologies, pages 38-56. IGI Global, 2013. Google Scholar
  7. Michael Striewe and Michael Goedicke. A review of static analysis approaches for programming exercisesd. In Marco Kalz and Eric Ras, editors, Computer Assisted Assessment. Research into E-Assessment, volume 439, pages 100-113. Springer, 2014. Google Scholar
  8. Jakub Swacha. An interactive Python course: development and evaluation. Forthcoming, 2017. Google Scholar
  9. Jakub Swacha. Scripting environments of gamified learning management systems for programming education. In Ricardo Queirós and Mário Pinto, editors, Gamification-Based E-Learning Strategies for Computer Programming Education, pages 278-294. IGI Global, 2017. Google Scholar
  10. Jakub Swacha. SIPE: a domain-specific language for specifying interactive programming exercises. Forthcoming, 2017. Google Scholar
  11. Lowell D. Thomas. An alternative to regular expressions: apg-exp, July 2016. SitePoint. URL: http://www.sitepoint.com/alternative-to-regular-expressions.
  12. Lowell D. Thomas. JavaScript APG, 2017. Coast to Coast Research. URL: http://www.coasttocoastresearch.com/docjs2/apg/index.html.
Questions / Remarks / Feedback

Feedback for Dagstuhl Publishing

Thanks for your feedback!

Feedback submitted

Could not send message

Please try again later or send an E-mail