Pessoal,
O uso de map e reduce nesse curso foi significativo. No início fica bem complicado pra quem tá começando na linguagem (ou qualquer outra) entender esses métodos (wrapers, etc) de manipulações de arrays.
Fica a sugestão de um curso de (acho que o nome seria de) collections, abordando também filters e lambdas com toda sorte de algoritmos para serem trabalhados, além de outros tipos de objetos de estrutura de dados que existem em outras linguagens (como são o dictionaries).
Há cursos de collections em java, php e python aqui. Está na hora do JS ter também.