Olá, Gabriel, como vai?
O exercício está bem encaminhado e a lógica central funciona corretamente: a validação das notas, o encapsulamento dos dados na classe Materia e o cálculo da média estão todos operando como esperado. Vale mencionar alguns pontos que merecem atenção.
O atributo private double nota está declarado na classe, mas nunca é utilizado. Esse tipo de variável órfã pode causar confusão em quem lê o código futuramente e é boa prática removê-la. Da mesma forma, a variável double soma foi declarada como atributo da classe, quando deveria ser uma variável local dentro do método calcularMedia.
Continue compartilhando seus projetos no fórum, é sempre enriquecedor acompanhar a evolução de cada um.
O fórum está à disposição para qualquer dúvida que surgir.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!