Journal of Information System Education, 34(1), 84-93, Winter 2023
92
specific errors or patterns of generated errors correspond
directly to a misconception in programming.
The data collection model and the clustering method
described in this work can be adopted by educators and
practitioners worldwide to discover their learners’
programming patterns or trends as well as their skill levels so
that they can efficiently cluster them into distinct groups. These
groups can be offered targeted exercises to aid in learning
programming. For instance, the worst performing group may be
offered simpler syntax-based exercises (since that is what they
struggle with), whereas the other groups may instead be given
more challenging algorithmic or problem-solving focused
exercises.
This study also paves the way for interesting research
directions. By clustering programming students, educators can
provide learners with adaptive exercises, adjusted to their
particular needs and tailored to their capabilities. Combining
the capability to cluster students and existing models for
processes that cause errors in student programming (c.f., Ko &
Myers 2003) can further increase our understanding of
programming errors, their causes, and better ways to teach
programming. Other future works can look into the verification
of the clusters, their validity, and practical application. In
addition, researchers may consider the collection of qualitative
data so that the key findings can be further related to and cross-
referenced with the clusters. For instance, exploring learners’
feelings over programming may reveal whether the worst-
performing students also have negative feelings toward
programming. Finally, in terms of adaptive and personalised
learning, another direction may be the introduction of
procedures capable of providing struggling students with
additional learning material (e.g., recommendations for further
reading) or targeted exercises. The impact of such intervention
can then be evaluated on a weekly basis as new data will
emerge.
8. REFERENCES
Dierbach, C. (2014). Python as a First Programming Language.
Journal of Computing Sciences in Colleges, 29(3), 73-73.
Donaldson, T. (2003). Python as a First Programming
Language for Everyone. Proceedings of the 2003 Western
Canadian Conference on Computing Education (pp. 1-2).
Goldman, K., Gross, P., Heeren, C., Herman, G., Kaczmarczyk,
L., Loui, M. C., & Zilles, C. (2008). Identifying Important
and Difficult Concepts in Introductory Computing Courses
Using a Delphi Process. Proceedings of the 39
th
SIGCSE
Technical Symposium on Computer Science Education (pp.
256-260). Portland, USA: ACM.
Jadud, M. C. (2005). A First Look at Novice Compilation
Behaviour Using BlueJ. Computer Science Education,
15(1), 25-40.
Jadud, M. C. (2006). Methods and Tools for Exploring Novice
Compilation Behaviour. Proceedings of the 2
nd
International Workshop on Computing Education Research
(pp. 73-84). Canterbury, United Kingdom: ACM.
Jain, S. B., Sonar, S. G., Jain, S. S., Daga, P., & Jain, R. S.
(2020). Review on Comparison of Different Programming
Language by Observing Its Advantages and Disadvantages.
Research Journal of Engineering and Technology,11(3),
133-137.
Khoirom, S., Sonia, M., Laikhuram, B., Laishram, J., & Singh,
T. D. (2020). Comparative Analysis of Python and Java for
Beginners. International Research Journal of Engineering
and Technology, 7(8), 4384-4407.
Ko, A. J., & Myers, B. A. (2003). Development and Evaluation
of a Model of Programming Errors. Proceedings of the
IEEE Symposium on Human Centric Computing
Languages and Environments (pp. 7-14). Auckland, New
Zealand: IEEE.
Kohn, T. (2019). The Error Behind the Message: Finding the
Cause of Error Messages in Python. Proceedings of the 50
th
ACM Technical Symposium on Computer Science
Education (pp. 524-530). Minneapolis, USA: ACM.
Kruglyk, V., & Lvov, M. (2012). Choosing the First
Educational Programming Language. Proceedings of the
8
th
International Conference on ICT in Education,
Research, and Industrial Applications (pp. 188-189).
Kherson, Ukraine: CEUR Workshop Proceedings.
Laakso, M. J., Kaila, E., & Rajala, T. (2018). ViLLE–
Collaborative Education Tool: Designing and Utilizing an
Exercise-Based Learning Environment. Education and
Information Technologies, 23(4), 1655-1676.
Lukkarinen, A., Malmi, L., & Haaranen, L. (2021). Event-
Driven Programming in Programming Education: A
Mapping Review. ACM Transactions on Computing
Education, 21(1), 1-31.
Mahatanankoon, P., & Wolf, J. (2021). Cognitive Learning
Strategies in an Introductory Computer Programming
Course. Information Systems Education Journal, 19(3), 11-
20.
McCracken, M., Almstrum, V., Diaz, D., Guzdial, M., Hagan,
D., Kolikant, Y. B. D., ... & Wilusz, T. (2001). A Multi-
National, Multi-Institutional Study of Assessment of
Programming Skills of First-Year CS Students. Working
Group Reports from ITiCSE on Innovation and Technology
in Computer Science Education (pp. 125-180). Canterbury,
UK: ACM.
McMaster, K., Sambasivam, S., Rague, B., & Wolthuis, S.
(2017). Java vs. Python Coverage of Introductory
Programming Concepts: A Textbook Analysis. Information
Systems Education Journal, 15(3), 4-13.
Medeiros, R. P., Ramalho, G. L., & Falcão, T. P. (2018). A
Systematic Literature Review on Teaching and Learning
Introductory Programming in Higher Education. IEEE
Transactions on Education, 62(2), 77-90.
Öqvist, A., & Malmström, M. (2018). What Motivates
Students? A Study on the Effects of Teacher Leadership
and Students’ Self-Efficacy. International Journal of
Leadership in Education, 21(2), 155-175.
Pears, A., Seidman, S., Malmi, L., Mannila, L., Adams, E.,
Bennedsen, J., ... & Paterson, J. (2007). A Survey of
Literature on the Teaching of Introductory Programming.
Working Group Reports on ITiCSE on Innovation and
Technology in Computer Science Education (pp. 204-223).
Dundee, Scotland: ACM.
Pellet, J. P., Dame, A., & Parriaux, G. (2019). How Beginner-
Friendly Is a Programming Language? A Short Analysis
Based on Java and Python Examples. Proceedings of the
12
th
International Conference on Informatics in Schools:
Situation, Evolution, and Perspectives (pp. 1-13). Larnaca,
Cyprus: Springer.