1) Алгоритмы + база языка
Вы изучаете/пишите реализацию алгоритмов, тем самым осваивая базовый синтаксис языка.
2) Определяете 2-3 более обширные задачки на бизнес-логику, решаете их с помощью базовых средств вашего основного языка (Учим язык на продвинутом уровне)
3) Решаем данные задачи с помощью парочки фреймворков, сравниваем.
4) Дальше в любом порядке (параллельно или последовательно тоже не важно) изучаете оставшийся материал, который вас интересует на ваших же примерах. Т.е. доделываете, переделываете и т.д.
Так бы сделал я. Читать что-то абсолютно абстрактно - бессмысленно. Поверьте, я пробовал. Так же пробовал в омут с головой в практику, как тут предлагают - тоже бессмысленно. Мне помог именно такой стиль изучения.