Попробуйте решать задачи на алгоритмы, это хорошо развивает логическое мышление. Можете изучить как работают разные структуры данных, например:
Set, List, Queue, Deque, Map. (
Это из Java, но думаю в каждом языке есть эти коллекции)
У этих коллекций есть разные интересные реализации, посмотрите исходный код попытайтесь понять как это работает изнутри, попробуйте реализовать простые версии этих коллекций с основным функционалом.
Вы написали, что читали книгу "Грокаем Агоритмы", найдите применение этим алгоритмам. Только путем решения задач можно развить логическое мышление.
Тут есть некоторые задачи:
www.itmathrepetitor.ru/zadachi-po-algoritmam-i-str...
www.itmathrepetitor.ru/zadachi-po-programmirovaniyu