Learning by Fiddling: Patterns of Behaviour in Formal Language Learning
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.
KeywordsComputer 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.Amelung, M., Piotrowski, M., Rösner, D.: EduComponents: experiences in e-assessment in computer science education, vol. 38. ACM (2006)Google Scholar
- 2.Baldwin, D.: Discovery learning in computer science. In: ACM SIGCSE Bulletin, vol. 28, pp. 222–226. ACM (1996)Google Scholar
- 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.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.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
- 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.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.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.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
- 16.Van Joolingen, W.: Cognitive tools for discovery learning. Int. J. Artif. Intell. Educ. (IJAIED) 10, 385–397 (1998)Google Scholar
- 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.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