Abstract
Learning from code written by other programmers is one of the most important ways of learning how to program. However, reading the code of a skilled programmer can be difficult for a beginner. Put differently, learning how to program can be challenging when the learners have different levels of programming proficiency. To lessen these difficulties, it is necessary to present model code that corresponds to the proficiency level of the learner. However, since proficiency levels in programming may vary by learner, preparing model code matching the proficiency level of every possible learner in advance may not always be practical. Therefore, we propose a platform for sharing knowledge among various learners participating in a given lecture. Functionality for sharing code alone may be insufficient for presenting code appropriate to the level of a given learner. Therefore, we also propose code quality indicators for understanding the degree of proximity in proficiency between a learner and a given programmer whose code is being used as a model. To this end, in this paper, we propose a platform with functionality for sharing, evaluating, and ranking written code. In addition, in order to understand the relationship between code written by other programmers and the behavior of the code at runtime, we propose a platform that involves programming a robot in order to allow the learner to visualize the behavior of the code as movement of the robot.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Busjahn, T., Schulte, C.: The use of code reading in teaching programming. In: Proceedings of the 13th Koli Calling international conference on computing education research, pp. 3–11 (2013)
Campbell, W., Bolker, E.: Teaching programming by immersion, reading and writing. In: 32nd Annual Frontiers in Education, vol. 1, pp. T4G–T4G. IEEE (2002)
Kölling, M., Rosenberg, J.: Guidelines for teaching object orientation with Java. ACM SIGCSE Bull. 33(3), 33–36 (2001)
Miliszewska, I., Tan, G.: Befriending computer programming: a proposed approach to teaching introductory programming. Inform. Sci. Int. J. Emerg. Transdiscipline 4(1), 277–289 (2007)
Oeda, S., Kosaku, H.: Development of a check sheet for code-review towards improvement of skill level of novice programmers. Procedia Comput. Sci. 126, 841–849 (2018)
Sorva, J., Karavirta, V., Malmi, L.: A review of generic program visualization systems for introductory programming education. ACM Trans. Comput. Educ. (TOCE) 13(4), 1–64 (2013)
Spinellis, D.: Reading, writing, and code: the key to writing readable code is developing good coding style. Queue 1(7), 84–89 (2003)
Tomoto, T., Akakura, T.: Report on practice of a learning support system for reading program code exercise. In: Yamamoto, S. (ed.) HIMI 2017. LNCS, vol. 10274, pp. 85–98. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-58524-6_8
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Maeda, S., Koike, K., Tomoto, T. (2022). A Knowledge Sharing Platform for Learning from Others’ Code. In: Yamamoto, S., Mori, H. (eds) Human Interface and the Management of Information: Visual and Information Design. HCII 2022. Lecture Notes in Computer Science, vol 13305. Springer, Cham. https://doi.org/10.1007/978-3-031-06424-1_36
Download citation
DOI: https://doi.org/10.1007/978-3-031-06424-1_36
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-06423-4
Online ISBN: 978-3-031-06424-1
eBook Packages: Computer ScienceComputer Science (R0)