Canvas is good for a lot of things, but turning in source code in a computer science class is not one of them.
Our district requires us to use Canvas, and for the most part that's a good thing. But when students need to turn in Java files there's a pretty significant issue. When you download submitted files they've all been renamed and stored in the root of the zip file.
Since they're Java files, they need to be named the same thing as the class which breaks by renaming the files