Scores for assignments are calculated by rolling up scores to the highest level of the content group then averaging the scores and progress. This is the same method as to how students' score and progress is calculated for chapters and subchapters.
For example, below you can see an assignment selected with two subchapters:
In the above image, the two subchapters selected are: (1) Differentiate and Integrate and (2) Differential Equations. For this assignment, the highest level of content selected is the subchapter level so the scores will be rolled up to each subchapter and then averaged across subchapters.
For the First Student in the screenshot above, the assignment score of 39 and progress of 100 is calculated as follows:
First, the score and progress for Differentiate and Integrate packages are rolled up to the subchapter level.
The Differentiate and Integrate subchapter has a score of 78 (by averaging 76 and 80) and a progress of 100.
The Differential Equations subchapter has a score of 0 and progress of 100.
Once these two subchapter's scores and progress are rolled up and calculated, the score and progress of the subchapters are averaged to arrive at the assignment score. In this case, the assignment score is 39 (by averaging 78 and 0 calculated previously) and progress is 100 (since each subchapter has the progress of 100).
The overall assignment score for a student is then calculated by multiplying the score and the progress and then dividing by 100. For the example above, the overall assignment score is 39 (from 39 * 100 / 100). The overall assignment score is then compared against the passing score to check if a student has completed an assignment.