Right now, the solution outputs are compluted together with the student outputs. This is inefficient since they don't change. Instead, compute them when a problem is submitted and save them with the problem zip.
Because existing problems don't have the solutions, every problem zip needs to be tested for the presence of solutions. If they aren't present, add them and store the augmented file in S3, then run the student submission.
Right now, the solution outputs are compluted together with the student outputs. This is inefficient since they don't change. Instead, compute them when a problem is submitted and save them with the problem zip.
Because existing problems don't have the solutions, every problem zip needs to be tested for the presence of solutions. If they aren't present, add them and store the augmented file in S3, then run the student submission.