Para calcular el número de estudiantes es muy fácil. Dices que es un archivo binario, entonces me imagino que debes de tener el tamaño en caracteres del nombre y el otro campo ha de ser un entero ¿no? entonces sólo divides el tamaño de este archivo entre el número de bytes que tiene cada registro (tamaño en bytes del campo nombre más el tamaño en bytes que ocupa el entero del identificador) y el resultado es el número de estudiantes. Lo que no está claro en lo que expusiste es de donde se va a sacar la información de las calificaciones de cada alumno. Tampoco me queda claro lo que entiendes por "cursos" y "asignaturas". Cuando llevé la carrera de computación esta se componía de ciertas materias (por ejemplo Cálculo I, Álgebra I, Programación I, Hardware I) que tenías que cursar cada semestre, y cada semestre iban cambiando estas materias ¿qué podría entender por cursos y asignaturas con este esquema?
a esto te refieres por ejemplo Curso 1 = calculo I, fisica, programacion I, algebra, ingles ICurso 2 = calculo II, fisica II, programacion II, algebra II, ingles IIque cada curso tiene un grupo de materias ?