1, thinking and learning the basic knowledge of mathematics, including not only calculus, linear algebra, probability statistics, but also discrete mathematics and combinatorial mathematics, which are very important for computers. I've been reading Concrete Mathematics recently. I suggest you give it a try. Don't expect to read it all at once, plan to read it several times. The key to reading a book is not how much you read, but how much you think.
2. Improve your thinking ability, which includes learning the basic methods of thinking and cultivating good thinking habits. Here, you can look at Paulia's How to Solve the Problem and the blog of follow Liu Weipeng Children's Shoes (this is Daniel). Of course, you should also have your own thinking summary and review.
3, write more code, practice more, especially when writing, think more about how to expand, how to write easier to maintain, always urge yourself to write excellent code (at least the best that can be achieved at present), and you can discuss it with others after writing.
Improving logical thinking ability is by no means a short time. We should think more and practice more. We are encouraged.