First I'll say, because you didn't mention it, that you also need a strong probability and statistics background.
A good place to start with CNNs is (in my opinion) the highly praised Stanford course:
If you are looking for more practical stuff (and on more than just CNNs), there are many guides for different machine learning models in Kaggle, where you can also join challenges which you can learn a lot from.
If you are interested in theory, this book might help - but might also be difficult without a strong statistical background:
(the book is free to download from there)