Convolutional Neural Networks: An Intermediate Developer's Comprehensive View — Programming Keynou