I just ran this jQuery command for testing purposes and it hid the columns in question.
$('div[id*="assignment_group"]').hide();
$('div[id*="total_grade"]').hide();
$('div.assignment-group-cell').hide();
$('div.total-cell').hide();
The problem is that it leaves the space for the columns, so the solution is not complete.

You may also need to be more specific in the selectors.
Now that I had it working as jQuery, I decided to play around with the CSS rules directly. The .hide() method is a jQuery thing, not CSS.
I did note that display: none; only hides the cells in the table, not the headers, but visibility: hidden; hides both.
Here it is as CSS:
div[id*="assignment_group"],
div[id*="total_grade"],
div.assignment-group-cell,
div.total-cell { visibility: hidden;}
Generally, though, I would prefer an education approach over a trying to hide thing approach, it's lower maintenance.