Pra japonês eu gosto muito do Lingodeer (aplicativo que ensina gramática e vocabulário) e do Wanikani (especializado em ensinar Kanji).
Pra programação eu tenho várias opções (cursos na Alura, vídeo no YouTube, ler docs.. ) mas são todos suplementos pro que realmente me ajuda a aprender: projetos práticos.
Isso também vale pra algoritmos e estruturas de dados. No final do último ano, durante o Advent of Code, usei estruturas de dados e usei Rust pois eram as coisas que estava aprendendo no momento. Mesma filosofia de usar um Codewars da vida mas sinto que com um pouco mais de liberdade.