In recent years, online programming education and evaluation have developed rapidly. The traditional online education platform focuses on the teaching of knowledge, lacking a good evaluation platform to assess the learning outcomes, while the existing online evaluation platform only focuses on the evaluation of algorithms or languages. Until now, no platform can support the training of engineering-level complex technologies. In this paper, we present our solution – Educoder. Educoder is an one-stop service platform that integrates "teaching", "learning" and "use". It not only supports simple programming language training type, but also supports the training of complex technology such as Hadoop, Spring, Machine Learning, Docker, etc. The code environment for student learning and evaluation is managed by Gitlab, and the runtime environment is provided by Kubernetes pod, which guarantees good isolation. For complex types of training, we provide the Docker Web Terminal module for SSH connection to enter the pod for operation and use docker in docker technology to provide support for training that requires multiple services or multiple nodes. In Educoder, we use scripts to serialize the training evaluation steps, and we formed a private evaluation script template library for training teacher to reference, which greatly reduced the time cost of writing a new training course.
Shan ZhouLongxin LinZhenyu HeYan Shu
Nestoras ChouliarasIoanna KantzavelouΛέανδρος ΜαγλαράςGrammati PantziouMohamed Amine Ferrag