collection.find solo toma un argumento posicional y le estás dando dos.
Cambie sus llamadas para que tengan el siguiente aspecto:grades.find({"type": "homework", "student_id": i}) .
collection.find solo toma un argumento posicional y le estás dando dos.
Cambie sus llamadas para que tengan el siguiente aspecto:grades.find({"type": "homework", "student_id": i}) .