Pipeline Development for the DeepMOOC Platform

Name
Andre Anijärv
Abstract
DeepMOOC platform is a new environment in the making for the students and lecturers to carry out automatic testing of the submitted program code. The idea for the platform came from the fact that the current solution used in the University of Tartu – Virtual Programming Lab has limited support for programming languages and is missing some features that would be useful in programming subjects. The DeepMOOC platform aims to eliminate these constraints and eventually become the universal go-to platform for all kinds of automated tasks that can be performed in the context of programming subjects. These do not have to be limited to regular unit-testing but can, for example, include statical code analysis and time measurement. This thesis describes the process of developing the pipeline component for the DeepMOOC platform. The pipeline takes care of receiving the incoming jobs and running them in isolated container environment and is therefore one of the core components of the platform. This paper also discusses the technological and design choices that were made and describes the structure and functionality of final software.The result of this thesis is the source code of the two components of the pipeline: the pipe itself and a worker node that is designed to run submitted code in an isolated Kubernetes pod.The pipe is designed to be modular, so that additional types of worker nodes with new functionalities can be added in the future.
Graduation Thesis language
Estonian
Graduation Thesis type
Bachelor - Computer Science
Supervisor(s)
Tõnis Hendrik Hlebnikov, Ahti Põder
Defence year
2022
 
PDF Extras