Automated Programming Evaluation Checker

I wanted to create a automated programming assignment evaluation system using Docker and Jenkins. May I know that is it possible to do so?

Reasons I use the following tools:
-Docker: To enable share library so that my evaluation system can evaluate programs like Java, Python program. I also using docker to run my Jenkins
-Jenkins: so that the project can be pipelined to the Jenkins from GitHub (students submit their programs to the GitHub)

Ways to evaluate my programming assignment:
-Output the output of the programs as text file and compare the output files with the sample output file (this is just my idea, i wish that I can have better ways to solve evaluate the logic behind the code in a better way if there is any) -> May I know that what tools can I use and some details about the tools?