I think a top down approach is much better, practical and actually interesting than diving into theory directly. To that end, there are two books that I recommend - Programming Pearls by Jon Bentley & Algorithm Design by Jon Kleinberg and Eva Tardos. These books cover a wide variety of important CS aspects starting with extremely practical problems and scenarios. They are more narrative in style with very limited maths formulas and diagrams, but don't be fooled by that because they are expository, which is often superior to simply following a dry mathsy problem solution theorem proof style. (The Klienberg book says in the preface that it is meant for students who have completed two semester standard CS course, and even includes some proofs, but you may skip those without losing any insight into the solutions or techniques.)
These books really pique your interest, and after finishing them you will see the big picture and find sufficient motivation (problem solving wise), and may venture into following proper undergraduate courses with proper textbooks. You might even like to quickly read through Skiena's The Algorithm Design Manual as an intermediary step. This book is a proper 'engineer's book' as in it is basically a catalog of algorithms and data structures with advise and illustration of where to use what.
With this approach, you won't be needing a tutor and can gain a lot by self studying at your own pace.