The CodingHere Platform for Programming Courses

  • Jia-Yin Wang Chung Yuan Christian University
  • Jia-Chi Liang Chung Yuan Christian University
  • Chia-Chi Chang Chung Yuan Christian University
Keywords: learning management system, programming courses, online judge system, online learning platform

Abstract

We designed an online platform called CodingHere for the introductory C programming course. CodingHere is like an online judgment system with additional course teaching functions, making it a helpful tool for programming courses. It automatically checks the codes submitted by students and provides course management functions for teachers. To help beginners in a programming course, CodingHere provides detailed error messages when a submitted code fails. It returns not only a WA message but also a wrong test case with input, student results, and correct answers. This information is helpful for students in finding errors in their code. In addition, CodingHere provides a code format check function, which helps students write codes with suitable coding styles. We have been using CodingHere for four semesters. More than 140,000 codes submitted by 261 students were collected. We analyzed these codes to find out the common mistakes stu-dents often made as a reference for our teaching improvement. Based on our experience, we think CodingHere is a handy tool in programming courses.

References

M. A. Revilla, S. Manzoor, and R. Liu, “Competitive Learning in Informatics: The UVa Online Judge Experience,” Olympiads in Informatics, Vol. 2, 2008, pp. 131-148.

T. Staubitz, H. Klement, J. Renz, R. Teusner and C. Meinel, “Towards practical programming exercises and automated assessment in Massive Open Online Courses,” 2015 IEEE Interna-tional Conference on Teaching, Assessment, and Learning for Engineering (TALE), Zhuhai, 2015, pp. 23-30, doi: 10.1109/TALE.2015.7386010.

M. Murata and T. Kakeshita, “Analysis Method of Student Achievement Level Utilizing Web-Based Programming Education Support Tool Pgtacer,” 2016 5th IIAI International Congress on Advanced Applied Informatics (IIAI-AAI), Kumamoto, 2016, pp. 316-321, doi: 10.1109/IIAI-AAI.2016.107.

A. Kyrilov and D. Noelle, "Binary instant feedback on programming exercises can reduce student engagement and promote cheating", Proceedings of the 15th Koli Calling Conference on Computing Education Research, 2015, pp.122-126.

B. Boehm and V. R. Basili, "Top 10 list [software development]," in Computer, Vol. 34, no. 1, pp. 135-137, Jan. 2001, doi: 10.1109/2.962984.

L. E. Deimel Jr., “The uses of program reading,” SIGCSE Bull., Vol. 17, no. 2, 1985, pp. 5–14.

D. R. Raymond, “Reading source code,” in Conference of the Centre for Advanced Studies on Collaborative Research. IBM Press, 1991, pp. 3–16.

S. Rugaber, “The use of domain knowledge in program understanding,” Ann. Softw. Eng., Vol. 9, no. 1-4, 2000, pp. 143–192.

K. Aggarwal, Y. Singh, and J. K. Chhabra, “An integrated measure of software maintainabil-ity,” Reliability and Maintainability Symposium, 2002, pp. 235–241.

Xiaosong Li., Christine Prasad, “Effectively teaching coding standards in programming,” Conference: Proceedings of the 6th Conference on Information Technology Education, SIG-ITE 2005, Newark, NJ, USA, October 20-22, 2005.

“vera++,” Bitbucket.org. https://bitbucket.org/verateam/vera/src/master/. (accessed: May 19, 2022).

X. Fu, C. Yin, A. Shimada ,and H. Ogata, "Error log analysis in C programming language courses," Proceedings of the 23rd International Conference on Computers in Education, 2015, pp. 641-650.

Published
2022-12-29
Section
Technical Papers (Learning Technologies and Learning Environments)