I understand the concept behind why convolution layers / max pool operations work, but I cannot conceptualize how they are applied in typical neural network model.
For example if I had a NN model that looked like this:
[inputs] -(weights 0)-> [conv. layer / max-pooling] -(weights 1)-> [dense layer] -(weights 2)-> [output]
where exactly would the operations for apply filters/averaging take place? During the weights section or the [conv. layer / max-pooling] section itself
Assuming the inputs take in a 28 * 28 pixel, how would I take a 2 * 2 filter and change the original matrix, would I have to split the inputs into 2 * 2 chunks and recombine them?
If I wanted to preform max-pooling on the same inputs would I also have to also split the image into 2x2 chunks to downscale the image and add all of those little chunks together to form a new matrix?
  ---> 
I'm currently at the phase of transitioning from theory to practice.