Discrete Convolution and Сross-Correlation. Theory and Implementation in Python