Стоит ли строить своё изучение/обучение именно так?
так не стоит: у вас пункты перепутаны и совершенно нелогичны.
надо не программы обучения строить (тем более такие), а тупо учить и практиковать.
Добрый день. 
Как вариант, можно глянуть на программу подготовки Java разработчиков из курсов (погуглите).
А в целом:
- Computer Science
- Algorithms & Data Structures
- SQL (также глянуть на ACID, на уровни изоляции и т.д.)
- OOP
- Java
- Design Patterns (паттерны проектирования - Gof, GRASP). Прочитать про SOLID, KISS и т.д.
OOP & Java можно изучать параллельно, чтобы наглядно понять например, что такое interface или class и т.д. 

В вопросе вижу тег android. Скорее всего для андроид нужно изучить kotlin, нежели Java. Но знание Java только будет плюсом.