Olá, Murilo!
Entendo sua preocupação e agradeço pela sugestão. Realmente, pode parecer um pouco confuso fazer uma atividade antes de ter uma aula explicativa sobre o assunto.
Porém, é importante mencionar que muitas vezes os cursos são estruturados dessa maneira para estimular o pensamento crítico e a pesquisa autônoma dos estudantes. Nesse caso, a atividade "04.02 Posso me matricular?" pode ter sido colocada antes da aula "04.04 A importância dos UseCases" para despertar a curiosidade sobre o tema e motivar a pesquisa sobre Use Cases.
No entanto, entendo que a ordem dos módulos pode causar confusão e dificultar o aprendizado para algumas pessoas. Sua sugestão será levada em consideração na próxima revisão do curso.
Em relação à atividade em questão, o código apresentado na atividade é um exemplo de um Use Case. No código, a classe MatriculaCursoUseCase
tem a responsabilidade de decidir se o botão de matrícula deve ser mostrado ou não, dependendo se o aluno já está matriculado no curso. Isso é uma regra de negócio, que é exatamente o que um Use Case deve conter. A alternativa correta (A) indica que a camada de domínio (onde os Use Cases estão) não deveria ter regras de UI, o que está correto, pois as regras de UI devem ser responsabilidade da camada de apresentação.
Espero ter ajudado e bons estudos!