Na aula você fala que é um exemplo bem real o exemplo de Curso e alunos, mas em uma aplicação real os alunos não estariam em um banco de dados ao invés de todos na memória? Nesse caso o o método estaMatriculado() deveria fazer uma query no banco de dados para verificar se o aluno realmente está matriculado ao invés de utilizar o método contains().
Eu sei que o curso é sobre collection e Banco de dados é outra história, mas a minha duvida é a seguinte: qual a real utilização por exemplo de contains() ou até mesmo sort() para uma List<>, uma vez que em aplicações reais não carregamos em memória o banco de dados todo para fazer sentido o uso de tais métodos?