Uma outra dica ainda não falada aqui é com relação ao contexto geral da sua aplicação. Imagina o que aconteceria com seu código se o diretor da escola optasse por colocar mais notas de outras atividades para o cálculo da média.
Você teria que ir adicionando infinitamente cada nova alteração no cálculo da nota. Sugiro que aumente seu nível de abstração um pouco. O suficiente para a média ser calculada independentemente da quantidade de notas que cada aluno tem.
Outro exemplo: alunos da quinta série tem matematica, portugues, ciências, história e geografia. Alunos do final do fundamental tem acréscimo de filosofia, sociologia, química, física etc.