Automatic Generation of C Source Code for Novice Programming Education
To efficiently support novice programming learners feeling programming difficult, clarifying the cause of preventing programming understanding, and developing a new teaching method appropriate for their understanding degree would be necessary. The objective of this paper is to develop a learning support system with reading source codes. This paper also aims to evaluate the effectiveness of the developed system from the subjective viewpoint of learners. The developed system can automatically generate a source code of C programming language in which there is no particular meaning because the source codes as learning materials are generated randomly. The developed system was utilized in a programming lecture for novice programming learners. This paper obtained student responses from a questionnaire, after the students had completed one semester of the instruction in programming, and analyzed the data. From the analysis result, it turned out that different evaluation patterns existed depending on the learner’s basic programming skill.
This work was partly supported by Japan Society for the Promotion of Science, KAKENHI Grant-in-Aid for Young Scientists (B), No. 13304922, Grant-in-Aid for Scientific Research(C), No. 26350296.
- 1.Konecki, M., Petrlic, M.: Main problems of programming novices and the right course of action. In: Proceeding of the 25th Central European Conference on Information and Intelligent Systems, pp. 116–123 (2014)Google Scholar
- 2.Kashima, T., Matsumoto, S., Yamagishi, S.: Knowledge acquisition with eye-tracking to teach programming appropriate for learner’s programming skill. In: Proceeding of The Third Asian Conference on Information Systems, pp. 287–292 (2014)Google Scholar
- 3.Okimoto, K., Matsumoto, S., Yamagishi, S., Kashima, T.: A source code reading based learning support system for novice programming education. In: Proceedings of the 21nd International Symposium on Artificial Life and Robotics, PS3, pp. 765–768 (2016)Google Scholar
- 4.Boswell, D., Foucher, T.: The Art of Readable Code. (Theory in Practice), O’Reilly Media (2011)Google Scholar
- 8.Lopez, M., Sutton, K., Clear, T.: Surely we must learn to read before we learn to write! In: Proceedings of the Eleventh Australasian Conference on Computing Education, vol. 95, pp. 165–170 (2009)Google Scholar
- 9.Kanamori, H., Tomoto, T., Akakura, T.: Development of a computer programming learning support system based on reading computer program. In: Yamamoto, S. (ed.) HCI 2013, Part III. LNCS, vol. 8018, pp. 63–69. Springer, Heidelberg (2013)Google Scholar
- 10.Arai, T., Kanamori, H., Tomoto, T., Kometani, Y., Akakura, T.: Development of a learning support system for source code reading comprehension. In: Yamamoto, S. (ed.) HCI 2014, Part II. LNCS, vol. 8522, pp. 12–19. Springer, Heidelberg (2014)Google Scholar
- 11.Kogure, S., Okamoto, M., Yamashita, K., Noguchi, Y., Konishi, T., Itoh, Y.: Evaluation of an algorithm and programming learning support features to program and algorithm learning support environment. In: Proceedings of the 21st International Conference of Computers in Education, pp. 418–424 (2013)Google Scholar
- 12.Yamashita, K., Nagao, T., Kogure, S., Noguchi, Y., Konishi, T., Itoh, Y.: Code-reading support environment visualizing three fields and educational practice to understand nested loops. Res. Pract. Technol. Enhanced Learn. (RPTEL) 11(1), 1–22 (2016). doi: 10.1186/s41039-016-0027-3 CrossRefGoogle Scholar
- 13.Tang, M.: Caesar: a social code review tool for programming education, Doctoral dissertation, Massachusetts Institute of Technology (2011)Google Scholar
- 14.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)Google Scholar
- 15.Lopez, M.: Relationships between reading, tracing and writing skills in introductory programming. In: Proceedings of the Fourth international Workshop on Computing Education Research, pp. 101–112 (2008)Google Scholar