Learning by Fiddling: Patterns of Behaviour in Formal Language Learning

  • Niels HellerEmail author
  • François Bry
Conference paper
Part of the Advances in Intelligent Systems and Computing book series (AISC, volume 1007)


This article reports on patterns of behaviour among students learning several of the formal languages taught in STEM using a multi-language text editor that detects syntactic errors. Conveying formal languages such as programming languages and mathematical formalisms is an essential and difficult, yet little investigated, aspect of STEM education. An intensive evaluation based on the use of the editors in teaching seven different programming languages in two university courses in computer science has first manifested a significant correlation between the editors’ use and examination success. The evaluation has also unveiled interesting patterns of behaviour in the editors’ use among students succeeding at the examination: They not only extensively used the editors but also used them in a manner which can be called “code fiddling”, that is, experimenting with code examples from the learning material by modifying it, while using the editors over longer periods of time than non-fiddling students. The evaluation has also shown that the students consider the editors useful for their learning. This article reports on the afore-mentioned educational approach to teaching STEM formal languages and on its evaluation. It furthermore indicates implications for future research and for STEM teaching.


Computer science education Programming Formal languages Case study 



The authors are thankful to Norbert Eisinger, Elisabeth Lempa, Marinus Enzinger, Caroline Marot and Thomas Weber for providing the interpreters evaluated in this article.


  1. 1.
    Amelung, M., Piotrowski, M., Rösner, D.: EduComponents: experiences in e-assessment in computer science education, vol. 38. ACM (2006)Google Scholar
  2. 2.
    Baldwin, D.: Discovery learning in computer science. In: ACM SIGCSE Bulletin, vol. 28, pp. 222–226. ACM (1996)Google Scholar
  3. 3.
    De Jong, T., Van Joolingen, W.R.: Scientific discovery learning with computer simulations of conceptual domains. Rev. Educ. Res. 68(2), 179–201 (1998)CrossRefGoogle Scholar
  4. 4.
    Gomes, A., Mendes, A.J.: Learning to program-difficulties and solutions. In: Proceedings of the International Conference on Engineering Education–ICEE, vol. 2007 (2007)Google Scholar
  5. 5.
    Hendriks, M., Kaliszyk, C., Van Raamsdonk, F., Wiedijk, F.: Teaching logic using a state-of-the-art proof assistant. Acta Didactica Napocensia 3(2), 35–48 (2010)Google Scholar
  6. 6.
    Jenkins, T.: On the difficulty of learning to program. In: Proceedings of the 3rd Annual Conference of the LTSN Centre for Information and Computer Sciences, vol. 4, pp. 53–58. Citeseer (2002)Google Scholar
  7. 7.
    Kaya, M., Özel, S.A.: Integrating an online compiler and a plagiarism detection tool into the moodle distance education system for easy assessment of programming assignments. Comput. Appl. Eng. Educ. 23(3), 363–373 (2015)CrossRefGoogle Scholar
  8. 8.
    Lister, R., Adams, E.S., Fitzgerald, S., Fone, W., Hamer, J., Lindholm, M., McCartney, R., Moström, J.E., Sanders, K., Seppälä, O., et al.: A multi-national study of reading and tracing skills in novice programmers. In: ACM SIGCSE Bulletin, vol. 36, pp. 119–150. ACM (2004)CrossRefGoogle Scholar
  9. 9.
    Lopez, M., Whalley, J., Robbins, P., Lister, R.: Relationships between reading, tracing and writing skills in introductory programming. In: Proceedings of the Fourth International Workshop on Computing Education Research, pp. 101–112. ACM (2008)Google Scholar
  10. 10.
    McCracken, M., Almstrum, V., Diaz, D., Guzdial, M., Hagan, D., Kolikant, Y.B.D., Laxer, C., Thomas, L., Utting, I., Wilusz, T.: A multi-national, multi-institutional study of assessment of programming skills of first-year CS students. In: Working Group Reports from ITiCSE on Innovation and Technology in Computer Science Education, pp. 125–180. ACM (2001)Google Scholar
  11. 11.
    Perkins, D., Martin, F.: Fragile knowledge and neglected strategies in novice programmers. In: First Workshop on Empirical Studies of Programmers on Empirical Studies of Programmers, pp. 213–229 (1986)Google Scholar
  12. 12.
    Pritchard, D., Vasiga, T.: Cs circles: an in-browser python course for beginners. In: Proceeding of the 44th ACM Technical Symposium on Computer Science Education, pp. 591–596. ACM (2013)Google Scholar
  13. 13.
    Ramadhan, H.A.: Programming by discovery. J. Comput. Assist. Learn. 16(1), 83–93 (2000)CrossRefGoogle Scholar
  14. 14.
    Rodríguez, S., Pedraza, J.L., Dopico, A.G., Rosales, F., Méndez, R.: Computer-based management environment for an assembly language programming laboratory. Comput. Appl. Eng. Educ. 15(1), 41–54 (2007)CrossRefGoogle Scholar
  15. 15.
    Rohwer, W.D., Thomas, J.W.: The role of autonomous problem-solving activities in learning to program. J. Educ. Psychol. 81(4), 584 (1989)CrossRefGoogle Scholar
  16. 16.
    Van Joolingen, W.: Cognitive tools for discovery learning. Int. J. Artif. Intell. Educ. (IJAIED) 10, 385–397 (1998)Google Scholar
  17. 17.
    Virvou, M., Moundridou, M.: A web-based authoring tool for algebra-related intelligent tutoring systems. Educ. Technol. Soc. 3(2), 61–70 (2000)Google Scholar
  18. 18.
    Vollmar, K., Sanderson, P.: MARS: an education-oriented MIPS assembly language simulator. In: ACM SIGCSE Bulletin, vol. 38, pp. 239–243. ACM (2006)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2020

Authors and Affiliations

  1. 1.Ludwig Maximilian University of MunichMunichGermany

Personalised recommendations