A prática distribuída com certeza é a melhor opção. Vou trazer essa resposta exemplificando logica de programação, para realmente aprender a logica na área da programação, é necessário pratica, MUITA pratica. Todo assunto novo, todo comando que for aprendendo durante o curso, é importantíssimo revisar e aplicar na pratica Acredito que criando uma rotina com o método da pratica distribuída o aprendizado seja em programação ou em qualquer outra linha de estudo, são grandes as chances de obter sucesso. Mas se por acaso for necessário decorar algum assunto de ultima hora é valido. Vai da sua necessidade de momento.