Exploring the Applicability of Simple Syntax Writing Practice for Learning Programming
Open accessAbstract
When learning programming, students learn the syntax of a programming language, the semantics underlying the syntax, and practice applying the language in solving programming problems. Research has suggested that simply the syntax may be hard to learn. In this article, we study difficulty of learning the syntax of a programming language. We have constructed a tool that provides students code that they write character-by-character. When writing, the tool automatically highlights each character in code that is incorrectly typed, and through the highlight-based feedback directs students into writing correct syntax. We conducted a randomized controlled trial in an introductory programming course organized in Java. One half of the population had the tool in the course material immediately before programming exercises where the practiced syntax was used, while the other half of the course population did not have the tool, thus approaching the exercises in a traditional way. Our results imply that isolated syntax writing practice may not be a meaningful addition to the arsenal used for teaching programming, at least when the programming course utilizes a large set of small programming exercises. We encourage researchers to replicate our work in contexts where syntax seems to be an issue.
The claims and statistics of this paper haven’t been checked yet.
Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.
Integrity signals
Registry
Cites
Statistics
Claims the paper makes
The claims and statistics of this paper haven’t been checked yet.
Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.
Self-check
Percentages, sums and reported differences re-computed from the paper’s own numbers.
The self-check needs the paper’s full text.
Cites
A Simple Sequentially Rejective Multiple Test Procedure
(1979) · Scandinavian Journal of Statistics · doi:10.2307/4615733 · Cited by 21,526 · see citing works
The Cambridge Handbook of the Learning Sciences
(2005) · Cambridge University Press eBooks · doi:10.1017/cbo9780511816833 · Cited by 4,660 · see citing works
International Encyclopedia of Statistical Science
Lovric, M. (2011) · Springer eBooks · doi:10.1007/978-3-642-04898-2 · Cited by 1,696 · see citing works
Journal of Computing Sciences in Colleges
(2019) · Journal of computing sciences in colleges · doi:10.36614/jcsc · Cited by 1,035 · see citing works
Taking the Load Off a Learner's Mind: Instructional Design for Complex Learning
van Merrienboer, J. J. G., Kirschner, P. A., & Kester, L. (2003) · Educational Psychologist · doi:10.1207/s15326985ep3801_2 · Cited by 857 · cited 1× · see citing works
“From the perspective of reducing unnecessary cognitive load, supporting systems should be integrated into the environments in which students work [24].”
BackgroundA study of the difficulties of novice programmers
Lahtinen, E., Ala-Mutka, K., & Järvinen, H.-M. (2005) · Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE) · doi:10.1145/1067445.1067453 · Cited by 829 · see citing works
THE SPLIT‐ATTENTION EFFECT AS A FACTOR IN THE DESIGN OF INSTRUCTION
CHANDLER, P., & SWELLER, J. (1992) · British Journal of Educational Psychology · doi:10.1111/j.2044-8279.1992.tb01017.x · Cited by 767 · see citing works
Blueprints for complex learning: The 4C/ID-model
van Merriënboer, J. J. G., Clark, R. E., & de Croock, M. B. M. (2002) · Educational Technology Research and Development · doi:10.1007/bf02504993 · Cited by 708 · see citing works
Some Difficulties of Learning to Program
Du Boulay, B. (1986) · Journal of Educational Computing Research · doi:10.2190/3lfx-9rrf-67t8-uvk9 · Cited by 648 · see citing works
Programming pedagogy—a psychological overview
Winslow, L. E. (1996) · ACM SIGCSE Bulletin · doi:10.1145/234867.234872 · Cited by 561 · see citing works
Methods and tools for exploring novice compilation behaviour
Jadud, M. C. (2006) · ACM Conference on International Computing Education Research (ICER) · doi:10.1145/1151588.1151600 · Cited by 297 · see citing works
Altadmri, A., & Brown, N. C. C. (2015) · ACM Technical Symposium on Computer Science Education (SIGCSE) · doi:10.1145/2676723.2677258 · Cited by 261 · see citing works
Schema Creation in Programming
Rist, R. S. (1989) · Cognitive Science · doi:10.1207/s15516709cog1303_3 · Cited by 216 · see citing works
Brown, N. C. C., Kölling, M., McCall, D., & Utting, I. (2014) · ACM Technical Symposium on Computer Science Education (SIGCSE) · doi:10.1145/2538862.2538924 · Cited by 179 · see citing works
Extreme apprenticeship method in teaching programming for beginners
Vihavainen, A., Paksula, M., & Luukkainen, M. (2011) · ACM Technical Symposium on Computer Science Education (SIGCSE) · doi:10.1145/1953163.1953196 · Cited by 177 · see citing works
All syntax errors are not equal
Denny, P., Luxton-Reilly, A., & Tempero, E. (2012) · Proceedings of the 17th ACM annual conference on Innovation and technology in computer science education · doi:10.1145/2325296.2325318 · Cited by 144 · see citing works
The Cambridge Handbook of the Learning Sciences
(2022) · doi:10.1017/9781108888295 · Cited by 122 · see citing works
Three Levels of Goal Orientation in Learning
Ng, E., & Bereiter, C. (1991) · Journal of the Learning Sciences · doi:10.1080/10508406.1991.9671972 · Cited by 92 · see citing works
Problem distributions in a CS1 course
Robins, A. V., Haden, P., & Garner, S. (2006) · Cited by 46 · see citing works
How novices tackle their first lines of code in an IDE
Vihavainen, A., Helminen, J., & Ihantola, P. (2014) · Koli Calling International Conference on Computing Education Research · doi:10.1145/2674683.2674692 · Cited by 46 · see citing works
Facilitating code-writing in PI classes
Zingaro, D., Cherenkova, Y., Karpova, O., & Petersen, A. (2013) · ACM Technical Symposium on Computer Science Education (SIGCSE) · doi:10.1145/2445196.2445369 · Cited by 44 · see citing works
Ayres, P. (2012) · Learning and Instruction · doi:10.1016/j.learninstruc.2012.08.002 · Cited by 37 · see citing works
NetBeans: The Definitive Guide
Boudreau, T., Glick, J., & Spurlin, V. (2002) · Medical Entomology and Zoology · Cited by 36 · see citing works
Three Levels of Goal Orientation in Learning
Ng, E., & Bereiter, C. (1991) · Journal of the Learning Sciences · doi:10.1207/s15327809jls0103&4_1 · Cited by 32 · see citing works
Developing Assessments to Determine Mastery of Programming Fundamentals
Luxton-Reilly, A., Becker, B. A., Cao, Y., McDermott, R., Mirolo, C., Mühling, A., Petersen, A., Sanders, K., Simon, & Whalley, J. L. (2017) · ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE) · doi:10.1145/3059009.3081327 · Cited by 23 · see citing works
Improving complex task performance using a sequence of simple practice tasks
Denny, P. C., Luxton-Reilly, A., Craig, M., & Petersen, A. (2018) · ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE) · doi:10.1145/3197091.3197141 · Cited by 21 · see citing works
Research-based design of the first weeks of CS1
Sorva, J., & Seppälä, O. (2014) · Koli Calling International Conference on Computing Education Research · doi:10.1145/2674683.2674690 · Cited by 20 · see citing works
Pärtel, M., Luukkainen, M., Vihavainen, A., & Vikberg, T. (2013) · International Journal of Technology Enhanced Learning · doi:10.1504/ijtel.2013.059495 · Cited by 18 · see citing works
The Cost of Syntax and How to Avoid It: Text versus Frame-Based Editing
Altadmri, A., Kölling, M., & Brown, N. C. C. (2016) · IEEE Annual International Computer Software and Applications Conference (COMPSAC) · doi:10.1109/compsac.2016.204 · Cited by 16 · see citing works
Introduction to BlueJ: a Java development environment
Sanders, D., Heeler, P. J., & Spradling, C. L. (2001) · Journal of computing sciences in colleges · Cited by 6 · see citing works
Moth, A. L. A., Villadsen, J., & Ben‐Ari, M. (2011) · doi:10.1145/1999747.1999900 · Cited by 5 · see citing works
Flagged first, then by citations
Research works printed but not linked: 2
- [5]5. Neil Christopher Charles Brown, Michael Kölling, Davin McCall, and Ian Utting. 2014. Blackbox: a large scale repository of novice programmers' activity. In Proceedings of the 45th ACM technical symposium on Computer science education. ACM, 223-228.
- [15]15. Andreas Leon Aagaard Moth, Joergen Villadsen, and Mordechai Ben-Ari. 2011. SyntaxTrain: relieving the pain of learning syntax. In Proceedings of the 16th annual joint conference on Innovation and technology in computer science education. ACM, 387-387.
Cited by
Sorted by citations
Prather, J., Reeves, B. N., Denny, P., Becker, B. A., Leinonen, J., Luxton-Reilly, A., Powell, G., Finnie-Ansley, J., & Santos, E. A. (2024) · ACM Transactions on Computer-Human Interaction · doi:10.1145/3617367 · Cited by 256 · see citing works
“This form of typing practice has pedagogical benefits for learners and researchers have explored similar typing exercises, in which learners must type out code examples, as a way to help novice students practice low-level implementation skills [44, 57].”
BackgroundSelf-citationEdwards, J., Ditton, J., Trninić, D., Swanson, H., Sullivan, S., & Mano, C. D. (2020) · ACM Conference on International Computing Education Research (ICER) · doi:10.1145/3372782.3406259 · Cited by 34 · see citing works
Typing Exercises as Interactive Worked Examples for Deliberate Practice in CS Courses
Gaweda, A. M., Lynch, C. F., Seamon, N., Silva de Oliveira, G., & Deliwa, A. (2020) · Proceedings of the Twenty-Second Australasian Computing Education Conference · doi:10.1145/3373165.3373177 · Cited by 21 · see citing works
Transforming Grading Practices in the Computing Education Community
Decker, A., Edwards, S. H., McSkimming, B. M., Edmison, B., Rorrer, A. S., & Pérez-Quiñones, M. A. (2024) · ACM Technical Symposium on Computer Science Education (SIGCSE) · doi:10.1145/3626252.3630953 · Cited by 16 · see citing works
Integrating Natural Language Prompting Tasks in Introductory Programming Courses
Kerslake, C., Denny, P. C., Smith, D. H., Prather, J. E., Leinonen, J., Luxton-Reilly, A., & MacNeil, S. (2024) · ACM Virtual Global Computing Education Conference (SIGCSE Virtual) · doi:10.1145/3649165.3690125 · Cited by 13 · see citing works
Self-citationNovice Reflections During the Transition to a New Programming Language
Denny, P., Becker, B. A., Bosch, N., Prather, J., Reeves, B., & Whalley, J. (2022) · Proceedings of the 53rd ACM Technical Symposium on Computer Science Education · doi:10.1145/3478431.3499314 · Cited by 11 · see citing works
Algot: An Educational Programming Language with Human-Intuitive Visual Syntax
Thorgeirsson, S., & Su, Z. (2021) · IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC) · doi:10.1109/vl/hcc51201.2021.9576166 · Cited by 10 · see citing works
Velasco, M. P., Lozano-Osorio, I., Pérez-Marín, D., & Santacruz-Valencia, L. P. (2022) · IEEE Transactions on Learning Technologies · doi:10.1109/tlt.2022.3226122 · Cited by 10 · see citing works
Student Attitudes Toward Syntax Exercises in CS1
Sullivan, S., Swanson, H., & Edwards, J. (2021) · ACM Technical Symposium on Computer Science Education (SIGCSE) · doi:10.1145/3408877.3432399 · Cited by 7 · see citing works
Programming Versus Natural Language
Edwards, J., Leinonen, J., Birthare, C., Zavgorodniaia, A., & Hellas, A. (2020) · ACM Conference on International Computing Education Research (ICER) · doi:10.1145/3372782.3406272 · Cited by 6 · see citing works
Self-citationRevisiting Syntax Exercises in CS1
Ly, A., Edwards, J., Liut, M., & Petersen, A. (2021) · Conference on Information Technology Education · doi:10.1145/3450329.3476855 · Cited by 5 · see citing works
Seeing Program Output Improves Novice Learning Gains
Leinonen, J., Hellas, A., & Edwards, J. (2023) · ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE) · doi:10.1145/3587102.3588796 · Cited by 2 · see citing works
Self-citationZheng, Y. (2020) · Conference on Information Technology Education · doi:10.1145/3368308.3415400 · Cited by 2 · see citing works
Accurate Estimation of Time-on-Task While Programming
Hart, K., Warren, C. M., & Edwards, J. (2023) · ACM Technical Symposium on Computer Science Education (SIGCSE) · doi:10.1145/3545945.3569804 · Cited by 2 · see citing works
A Randomized Controlled Trial of Syntax Exercises in an Introductory Python Course
Isenegger, K., Otmani, S. E., Edwards, J., & Lewis, C. M. (2025) · ACM Conference on International Computing Education Research (ICER) · doi:10.1145/3702652.3744230 · Cited by 1 · see citing works
Data-Informed Decision Making in Introductory Programming Instruction
Poitras, E., Durai, J. P. S., Raida, N. Z. Y., Sachdeva, J., Doucette, K., & Lin, M. P.-C. (2025) · IGI Global eBooks · doi:10.4018/979-8-3373-6960-0.ch009 · Cited by 1 · see citing works
KOALA: A Configurable Tool for Collecting IDE Data When Solving Programming Tasks
Karol, D., Artser, E., Vlasov, I., Golubev, Y., Keuning, H., & Birillo, A. (2025) · ACM Global Computing Education Conference (CompEd) · doi:10.1145/3736181.3747129 · Cited by 1 · see citing works
Akçay, A., Avan, Ç., & Coşkun, B. K. (2025) · Interactive Learning Environments · doi:10.1080/10494820.2025.2608191 · Cited by 1 · see citing works
A Call for Critical Technology to Enable Innovative and Alternative Grading Practices
Decker, A., Edwards, S. H., Edmison, B., Pérez-Quiñones, M. A., & Rorrer, A. S. (2026) · ACM Technical Symposium on Computer Science Education (SIGCSE) · doi:10.1145/3770762.3772530 · Cited by 1 · see citing works
Activity During High-Repetition Practice of Syntax
Gonzales, S., Swanson, H., & Edwards, J. (2023) · Intermountain Engineering, Technology and Computing (IETC) · doi:10.1109/ietc57902.2023.10152277 · Cited by 1 · see citing works
On the Opportunities of Large Language Models for Programming Process Data
Edwards, J., Hellas, A., & Leinonen, J. (2025) · Australasian Computing Education Conference · doi:10.1145/3716640.3716652 · Cited by 1 · see citing works
Self-citationAn In-Depth Look at Learning Computer Language Syntax in a High-Repetition Practice Environment
Gonzales, S. (2021) · Digital Commons - USU (Utah State University) · doi:10.26076/b01c-6c80
Perceptual Learning Modules (PLM) in CS1: a Negative Result and a Methodological Warning
Caceffo, R., Wainer, J., Gama, G., Garcia, I. C., & Azevedo, R. (2023) · JUCS - Journal of Universal Computer Science · doi:10.3897/jucs.96347
Teaching Programming Through Metaphors
Geçitli, E., & Yurdakul, B. (2024) · Advances in educational technologies and instructional design book series · doi:10.4018/979-8-3693-4542-9.ch012
Time-on-task estimation for tasks lasting hours spread over multiple days
Hart, K., Warren, C. M., & Edwards, J. (2025) · PLoS ONE · doi:10.1371/journal.pone.0330758
Dzialets, K., Makeeva, A., Vlasov, I., Potriasaeva, A., Rostovskii, A., Golubev, Y., & Birillo, A. (2025) · ACM Global Computing Education Conference (CompEd) · doi:10.1145/3736181.3747133
Lai, C.-H., Chen, Y.-J., & Chen, Z.-P. (2026) · Applied Sciences · doi:10.3390/app16126165
"It's Weird That it Knows What I Want": Usability and Interactions with Copilot for Novice Programmers
Prather, J., Reeves, B. N., Denny, P., Becker, B. A., Leinonen, J., Luxton-Reilly, A., Powell, G., Finnie-Ansley, J., & Santos, E. A. (2023) · arXiv
“This form of typing practice has pedagogical benefits for learners and researchers have explored similar typing exercises, in which learners must type out code examples, as a way to help novice students practice low-level implementation skills [44, 57].”
BackgroundSelf-citation
- Authors
- Leinonen, A., Nygren, H., Pirttinen, N., Hellas, A., & Leinonen, J.
- Affiliations
- University of Helsinki (FI)
- Venue
- Proceedings of the 50th ACM Technical Symposium on Computer Science Education
- Publisher
- ACM
- Published
- 2019-02-22
- Pages
- 84-90
- OpenAlex
- W2917409708
- Cited by
- 27
- References
- 31
- Citations by year
- 2026: 2 · 2025: 7 · 2024: 3 · 2023: 5 · 2022: 2 · 2021: 4 · 2020: 4
- FWCI
- 2.89
- Type
- conference paper
- Language
- en
- Open access
- green
- hdl.handle.net
- Locations
- ACM Technical Symposium on Computer Science Education (SIGCSE) (publishedVersion)
- Työväentutkimus Vuosikirja (submittedVersion)
- Topics
- Physical Sciences › Computer Science › Computer Science Applications › Teaching and Learning Programming
- Physical Sciences › Computer Science › Artificial Intelligence › Educational Robotics and Engineering
- Physical Sciences › Computer Science › Artificial Intelligence › Logic, programming, and type systems
- Keywords
- syntax highlighting, automated feedback, introductory programming education, Java, programming exercises, syntactic errors, programming education
About these checks
Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.
Statistics and arithmetic are recomputed, not judged.
Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.
What counts as a claim ›How we measure confidence ›How we check this ›
Are you an author, or do you see a problem with this page? Request a review